/* Văn Thế Web - CSS giao diện web đã hợp nhất từ v226.
   Chỉnh giao diện desktop/laptop/tablet lớn tại tệp này. */

/* ===== Nguồn hợp nhất: style.css ===== */
/* =====================================================
   VAN THE WEB - Style
   Mau nhan dien: cam (Van The Web) + xanh duong
   ===================================================== */

:root {
  --brand-orange: #ff6b1a;
  --brand-orange-dark: #e85d10;
  --brand-blue:   #1f6feb;
  --brand-blue-dark: #155bca;
  --bg-soft:      #f5f6f8;
  --text-dark:    #1c1f2a;
  --text-muted:   #6c757d;
  --border-soft:  #e6e8ec;
  --card-shadow:  0 2px 12px rgba(15,23,42,.06);
  --card-shadow-hover: 0 6px 24px rgba(15,23,42,.1);
}

body {
  font-family: Roboto, sans-serif;
  background: var(--bg-soft);
  color: var(--text-dark);
  font-size: 15px;
}

/* ============ BRAND ============ */
.brand-orange { color: var(--brand-orange); }
.brand-blue   { color: var(--brand-blue); }

.btn-primary {
  --bs-btn-bg: var(--brand-blue);
  --bs-btn-border-color: var(--brand-blue);
  --bs-btn-hover-bg: var(--brand-blue-dark);
  --bs-btn-hover-border-color: var(--brand-blue-dark);
}
.btn-warning {
  --bs-btn-bg: var(--brand-orange);
  --bs-btn-border-color: var(--brand-orange);
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--brand-orange-dark);
  --bs-btn-hover-border-color: var(--brand-orange-dark);
  --bs-btn-hover-color: #fff;
}
.btn-outline-primary {
  --bs-btn-color: var(--brand-blue);
  --bs-btn-border-color: var(--brand-blue);
  --bs-btn-hover-bg: var(--brand-blue);
  --bs-btn-hover-border-color: var(--brand-blue);
}

a { text-decoration: none; }
a.text-light-50 { color: rgba(255,255,255,.7) !important; }
a.text-light-50:hover { color: #fff !important; }

/* ============ AVATAR ============ */
.avatar-circle {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand-orange), var(--brand-blue));
  color: #fff; font-weight: 600;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .9rem;
}

/* ============ HERO ============ */
.hero {
  background: linear-gradient(135deg, #fff 0%, #fff5ee 60%, #eaf2ff 100%);
  padding: 64px 0 48px;
  border-bottom: 1px solid var(--border-soft);
}
.hero h1 {
  font-size: 2.4rem; font-weight: 700; line-height: 1.25;
}
.hero .badge-hero {
  background: rgba(255,107,26,.12); color: var(--brand-orange);
  font-weight: 600; padding: 6px 14px; border-radius: 20px; font-size: .85rem;
}

/* ============ COURSE CARD ============ */
.course-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: all .2s;
  height: 100%;
  display: flex; flex-direction: column;
}
.course-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--card-shadow-hover);
}
.course-card .thumbnail {
  aspect-ratio: 16/9;
  background: #eef0f4 center/cover no-repeat;
  position: relative;
}
.course-card .category-tag {
  position: absolute; top: 10px; left: 10px;
  background: rgba(31,111,235,.92); color: #fff;
  padding: 4px 10px; border-radius: 12px;
  font-size: .72rem; font-weight: 600;
}
.course-card .free-badge {
  position: absolute; top: 10px; right: 10px;
  background: #16a34a; color: #fff;
  padding: 4px 10px; border-radius: 12px;
  font-size: .72rem; font-weight: 600;
}
.course-card .body {
  padding: 14px 16px 16px;
  display: flex; flex-direction: column; flex: 1;
}
.course-card h5 {
  font-size: 1rem; font-weight: 600;
  line-height: 1.35; margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.7em;
}
.course-card .meta {
  font-size: .82rem; color: var(--text-muted);
  margin-bottom: 10px;
}
.course-card .price {
  margin-top: auto;
  font-weight: 700; color: var(--brand-orange); font-size: 1.05rem;
}
.course-card .price-original {
  text-decoration: line-through; color: #aaa; font-weight: 400;
  font-size: .85rem; margin-left: 6px;
}

/* ============ STATS ============ */
.stat-box {
  background: #fff; border-radius: 12px;
  padding: 20px; text-align: center;
  box-shadow: var(--card-shadow);
}
.stat-box .number {
  font-size: 1.8rem; font-weight: 700; color: var(--brand-blue);
}
.stat-box .label {
  font-size: .85rem; color: var(--text-muted); margin-top: 4px;
}

/* ============ AUTH ============ */
.auth-card {
  background: #fff; border-radius: 14px;
  padding: 32px; box-shadow: var(--card-shadow);
  max-width: 440px; margin: 40px auto;
}
.auth-card h2 { font-weight: 700; margin-bottom: 6px; }

/* ============ LEARN LAYOUT ============ */
.learn-layout { display: grid; grid-template-columns: 1fr 340px; gap: 20px; }
@media (max-width: 991px) { .learn-layout { grid-template-columns: 1fr; } }

.video-wrap {
  background: #000; border-radius: 12px; overflow: hidden;
  aspect-ratio: 16/9; position: relative;
}
.video-wrap iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}
/* Khoi cam click chuot phai, drag, select */
.video-wrap .no-click-overlay {
  position: absolute; top: 0; left: 0; right: 0; height: 44px;
  z-index: 2; cursor: default;
}

.lesson-list { background: #fff; border-radius: 12px; padding: 12px; box-shadow: var(--card-shadow); }
.lesson-list .section-title {
  padding: 8px 10px; font-weight: 600;
  background: #f3f5f8; border-radius: 8px; margin-bottom: 6px; font-size: .92rem;
}
.lesson-list a.lesson-item {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 10px; border-radius: 8px;
  color: var(--text-dark); font-size: .9rem;
  transition: background .15s;
}
.lesson-list a.lesson-item:hover { background: #f3f5f8; }
.lesson-list a.lesson-item.active {
  background: rgba(31,111,235,.1); color: var(--brand-blue); font-weight: 600;
}
.lesson-list a.lesson-item.completed i.bi-check-circle-fill { color: #16a34a; }

/* ============ ADMIN ============ */
.admin-body { background: #f0f2f5; min-height: 100vh; }
.admin-sidebar {
  width: 240px; background: #1c1f2a; color: #fff;
  min-height: 100vh; position: fixed; top: 0; left: 0;
  padding: 16px 0;
}
.admin-sidebar .logo { padding: 8px 20px 20px; font-weight: 700; font-size: 1.1rem; }
.admin-sidebar a {
  display: block; padding: 10px 20px;
  color: rgba(255,255,255,.75); font-size: .92rem;
  border-left: 3px solid transparent;
}
.admin-sidebar a:hover, .admin-sidebar a.active {
  background: rgba(255,255,255,.05);
  color: #fff; border-left-color: var(--brand-orange);
}
.admin-main { margin-left: 240px; padding: 20px 28px; }
@media (max-width: 991px) {
  .admin-sidebar { width: 100%; min-height: auto; position: static; }
  .admin-main { margin-left: 0; padding: 16px; }
}
.admin-card {
  background: #fff; border-radius: 12px;
  box-shadow: var(--card-shadow);
  padding: 20px; margin-bottom: 20px;
}
.admin-card .card-header-row {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 14px;
}
.admin-card h5 { font-weight: 600; margin: 0; }

/* ============ TABLE ============ */
.table-clean { font-size: .92rem; }
.table-clean thead th {
  font-weight: 600; font-size: .85rem; text-transform: uppercase;
  color: var(--text-muted); border-bottom: 2px solid var(--border-soft);
  background: #fafbfc;
}
.table-clean td { vertical-align: middle; }

/* ============ STATUS BADGES ============ */
.badge-status {
  font-size: .72rem; padding: 4px 10px; border-radius: 12px; font-weight: 600;
}
.badge-status.draft     { background: #fef3c7; color: #92400e; }
.badge-status.published { background: #dcfce7; color: #166534; }
.badge-status.closed    { background: #fee2e2; color: #991b1b; }
.badge-status.hidden    { background: #f1f5f9; color: #475569; }
.badge-status.active    { background: #dcfce7; color: #166534; }
.badge-status.pending   { background: #fef3c7; color: #92400e; }
.badge-status.paid      { background: #dbeafe; color: #1e40af; }
.badge-status.granted   { background: #dcfce7; color: #166534; }
.badge-status.cancelled { background: #fee2e2; color: #991b1b; }
.badge-status.locked    { background: #fee2e2; color: #991b1b; }

/* ============ MISC ============ */
.section-title-main {
  font-size: 1.5rem; font-weight: 700; margin-bottom: 24px;
}
.progress-thin { height: 6px; }

.text-light-50 { color: rgba(255,255,255,.7) !important; }

.empty-state {
  text-align: center; padding: 60px 20px;
  color: var(--text-muted);
}
.empty-state i { font-size: 3rem; opacity: .4; }

/* Khong cho select text ben canh video */
.video-wrap, .video-wrap * { user-select: none; }

/* ============================================================
   BO SUNG CSS CHO CAC VIEW MOI
   ============================================================ */

/* ----- Course card mở rộng (cho courses/index, my_courses) ----- */
.course-card .course-thumb {
  aspect-ratio: 16/9;
  background: #eef0f4;
  position: relative;
  overflow: hidden;
}
.course-card .course-thumb img {
  width: 100%; height: 100%; object-fit: cover;
}
.course-card .course-thumb-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #ff6b1a22, #1f6feb22);
  color: var(--brand-orange);
  font-size: 3rem;
}
.course-card .course-badge {
  position: absolute; top: 10px; right: 10px;
  padding: 4px 10px; border-radius: 12px;
  font-size: .72rem; font-weight: 600;
}
.course-card .course-title {
  font-size: 1rem; font-weight: 600;
  line-height: 1.35; margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.7em;
}
.course-card .course-title a:hover { color: var(--brand-orange) !important; }

/* ----- Hero section (về trang chính, about) ----- */
.hero-section {
  background: linear-gradient(135deg, #fff 0%, #fff5ee 60%, #eaf2ff 100%);
  border-bottom: 1px solid var(--border-soft);
}

/* ----- Main content wrapper ----- */
.main-content { min-height: 60vh; }

/* ----- Footer ----- */
footer { background: #1c1f2a; color: #fff; padding: 40px 0 20px; margin-top: 60px; }
footer a { color: rgba(255,255,255,.75); }
footer a:hover { color: #fff; }
footer .footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding-top: 20px; margin-top: 30px; font-size: .85rem; color: rgba(255,255,255,.6); }

/* ----- Learn layout (nâng cấp) ----- */
.learn-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 0;
  min-height: calc(100vh - 60px);
  background: #fff;
}
.learn-sidebar {
  background: #fff;
  border-right: 1px solid var(--border-soft);
  max-height: calc(100vh - 60px);
  overflow-y: auto;
  position: sticky;
  top: 60px;
}
.learn-content { background: #f5f6f8; }
.learn-sections { padding: 12px; }
.learn-section-block { margin-bottom: 14px; }
.learn-section-title {
  padding: 8px 10px; font-weight: 600;
  background: #f3f5f8; border-radius: 8px; margin-bottom: 6px;
  font-size: .92rem;
}
.learn-lesson-item {
  display: flex; align-items: center;
  padding: 8px 12px; border-radius: 8px;
  color: var(--text-dark); font-size: .9rem;
  transition: background .15s; text-decoration: none;
}
.learn-lesson-item:hover { background: #f3f5f8; color: var(--text-dark); }
.learn-lesson-item.active {
  background: rgba(255,107,26,.12);
  color: var(--brand-orange); font-weight: 600;
}
@media (max-width: 991px) {
  .learn-layout { grid-template-columns: 1fr; }
  .learn-sidebar { max-height: none; position: static; }
}

/* Video full-width trong learn-content */
.learn-content .video-wrap {
  border-radius: 0; aspect-ratio: 16/9;
  max-height: calc(100vh - 60px);
}

/* ----- ADMIN LAYOUT MOI ----- */
.admin-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 100vh;
}
.admin-sidebar {
  /* Override cũ - giữ width 240, position relative trong grid */
  position: relative; width: auto; min-height: auto;
  padding: 0;
}
.admin-brand {
  padding: 20px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: 1.1rem; font-weight: 700;
}
.admin-brand .small { font-size: .75rem; color: rgba(255,255,255,.5); font-weight: 400; margin-top: 4px; }

.admin-menu { list-style: none; padding: 12px 0; margin: 0; }
.admin-menu li a {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 20px; color: rgba(255,255,255,.75);
  font-size: .92rem; text-decoration: none;
  border-left: 3px solid transparent;
}
.admin-menu li a:hover, .admin-menu li a.active {
  background: rgba(255,255,255,.05);
  color: #fff; border-left-color: var(--brand-orange);
}
.admin-menu-divider {
  border-top: 1px solid rgba(255,255,255,.08);
  margin: 12px 0;
}

.admin-main {
  /* Override cũ - không margin-left vì đã trong grid */
  margin-left: 0; padding: 0;
  background: #f0f2f5;
  min-width: 0; /* ngăn grid blowout */
}
.admin-topbar {
  background: #fff; padding: 12px 20px;
  border-bottom: 1px solid var(--border-soft);
  display: flex; align-items: center;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.admin-content { padding: 24px; }
.admin-content-padding { padding: 16px 24px 0; }

@media (max-width: 768px) {
  .admin-layout { grid-template-columns: 1fr; }
  .admin-sidebar {
    position: fixed; top: 0; left: -240px; width: 240px;
    height: 100vh; z-index: 1050;
    transition: left .25s;
  }
  .admin-sidebar.show { left: 0; }
}

/* ----- Stat cards (admin dashboard) ----- */
.stat-card {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  border-left: 4px solid var(--brand-blue);
}
.stat-card .stat-icon {
  position: absolute; top: 16px; right: 16px;
  font-size: 2.4rem; opacity: .12;
}
.stat-card .stat-label {
  font-size: .82rem; color: var(--text-muted);
  text-transform: uppercase; font-weight: 600; letter-spacing: 0;
}
.stat-card .stat-value {
  font-size: 1.6rem; font-weight: 700; color: var(--text-dark);
  margin-top: 6px;
}
.stat-card.stat-orange { border-left-color: var(--brand-orange); }
.stat-card.stat-orange .stat-icon { color: var(--brand-orange); }
.stat-card.stat-blue { border-left-color: var(--brand-blue); }
.stat-card.stat-blue .stat-icon { color: var(--brand-blue); }
.stat-card.stat-green { border-left-color: #16a34a; }
.stat-card.stat-green .stat-icon { color: #16a34a; }
.stat-card.stat-dark { border-left-color: #1c1f2a; }
.stat-card.stat-dark .stat-icon { color: #1c1f2a; }

/* ----- Course description ----- */
.course-description {
  line-height: 1.7;
  color: var(--text-dark);
}

/* ==========================================================
   NAVBAR ENHANCEMENTS - bold, no-wrap, responsive shrink (PC)
   ========================================================== */
.main-navbar .navbar-brand {
  font-size: 1.25rem;
  font-weight: 800;
  white-space: nowrap;
}
.main-navbar .main-menu .nav-link {
  font-weight: 700;
  color: #1a1a1a !important;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 0.5rem 0.85rem;
  letter-spacing: 0;
  transition: color .15s;
}
.main-navbar .main-menu .nav-link:hover {
  color: var(--brand-blue) !important;
}
.nav-search { max-width: 260px; }
.nav-cta { font-weight: 700; padding: 6px 14px; white-space: nowrap; }

/* Desktop responsive: shrink labels gradually instead of wrapping */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .main-navbar .main-menu .nav-link {
    font-size: .78rem;
    padding: 0.5rem 0.55rem;
    letter-spacing: 0;
  }
  .main-navbar .navbar-brand { font-size: 1.05rem; }
  .nav-search { max-width: 160px; }
  .nav-search input { font-size: .8rem; }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .main-navbar .main-menu .nav-link {
    font-size: .85rem;
    padding: 0.5rem 0.7rem;
  }
  .nav-search { max-width: 200px; }
}
@media (min-width: 1400px) {
  .main-navbar .main-menu .nav-link { font-size: .92rem; }
}

/* ==========================================================
   GLOBAL TYPOGRAPHY
   ========================================================== */
button,
input,
select,
textarea,
.btn,
.form-control,
.form-select {
  font-family: Roboto, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-title,
.settings-page-title,
.card-header h5,
.auth-card h2 {
  text-transform: uppercase;
}

/* v264 — Tên sản phẩm luôn giữ nguyên chữ hoa/thường đúng như admin đã nhập. */
.course-title-exact,
.course-title-exact * {
  text-transform: none !important;
  font-variant: normal !important;
}

/* ==========================================================
   ADMIN LIGHT LAYOUT
   ========================================================== */
.admin-body {
  font-family: Roboto, sans-serif;
  background: #eef3f8;
  color: #1f2937;
  min-height: 100vh;
}

.admin-top-nav {
  background: #fff;
  min-height: 76px;
  border-bottom: 1px solid #e5edf6;
  box-shadow: 0 2px 10px rgba(15, 23, 42, .07);
  z-index: 1020;
}

.admin-logo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 180px;
  font-size: 1.18rem;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-logo img {
  max-height: 42px;
  max-width: 180px;
  object-fit: contain;
}

.admin-main-menu {
  gap: 8px;
  align-items: center;
}

.admin-main-menu .nav-link {
  color: #475569;
  font-weight: 700;
  padding: 8px 13px;
  border-radius: 8px;
  white-space: nowrap;
}

.admin-main-menu .nav-link:hover {
  color: var(--brand-blue);
  background: #eef6ff;
}

.admin-main-menu .nav-link.active {
  color: #0f3c77;
  background: #dcebff;
}

.admin-main-menu .nav-link.disabled {
  color: #9aa8b8;
}

.admin-user-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-width: 150px;
}

.admin-icon-btn,
.admin-avatar-btn {
  border: 0;
  background: transparent;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.admin-icon-btn {
  width: 38px;
  height: 38px;
  color: #334155;
  font-size: 1.35rem;
}

.admin-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ef4444;
  border: 2px solid #fff;
  position: absolute;
  top: 7px;
  right: 8px;
}

.admin-avatar-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #eef2ff;
  color: #4f46e5;
  font-weight: 900;
}

.admin-shell {
  max-width: 1680px;
  margin: 0 auto;
  padding: 28px 32px 44px;
}

.admin-shell .admin-content {
  padding: 0;
}

.admin-flash-wrap {
  max-width: 1680px;
  margin: 16px auto 0;
  padding: 0 32px;
}

.admin-shell .card,
.admin-shell .stat-card {
  border-radius: 8px;
}

.admin-shell .table-light th {
  background: #dff0ff;
  color: #1f2937;
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .admin-logo {
    min-width: auto;
  }
  .admin-main-menu {
    gap: 2px;
    padding-top: 12px;
  }
  .admin-user-actions {
    justify-content: flex-start;
    padding: 12px 0 4px;
  }
  .admin-shell,
  .admin-flash-wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ==========================================================
   ADMIN V2 - giống bố cục mẫu Văn Thế Web
   ========================================================== */
.admin-v2-body{background:#eef3f8;color:#0f2d52;font-family:Roboto,Arial,sans-serif;font-size:14px}.admin-v2-topbar{background:#fff;box-shadow:0 2px 12px rgba(15,23,42,.12);border-bottom:1px solid #e5edf7;z-index:1030}.admin-v2-nav-inner{max-width:1540px;margin:0 auto;min-height:72px;padding:0 28px;display:flex;align-items:center;gap:24px}.admin-v2-brand{display:flex;align-items:center;gap:5px;min-width:210px;font-size:20px;font-weight:900;white-space:nowrap}.admin-v2-brand img{max-height:43px;max-width:190px;object-fit:contain}.brand-mark{color:#1e74e8;font-size:28px;line-height:1}.admin-v2-menu-toggle{display:none;border:1px solid #d8e5f5;background:#fff;border-radius:10px;width:42px;height:38px;color:#17375f}.admin-v2-collapse{display:flex!important;align-items:center;justify-content:space-between;flex:1}.admin-v2-main-menu{display:flex;align-items:center;gap:10px;list-style:none;margin:0 auto;padding:0}.admin-v2-main-menu .nav-pill{display:inline-flex;align-items:center;gap:5px;padding:9px 13px;border-radius:8px;color:#50647f;font-weight:700;white-space:nowrap}.admin-v2-main-menu .nav-pill:hover,.admin-v2-main-menu .nav-pill.active{background:#dcebff;color:#10396b}.admin-v2-main-menu .disabled{color:#97a6ba;pointer-events:none}.admin-v2-actions{display:flex;align-items:center;gap:20px;min-width:120px;justify-content:flex-end}.admin-v2-icon-btn{border:0;background:transparent;color:#253c5c;font-size:22px}.admin-v2-avatar{border:0;width:42px;height:42px;border-radius:50%;background:#eef0ff;color:#4f46e5;font-weight:900;box-shadow:inset 0 0 0 4px #f7f7ff}.admin-v2-user-menu{width:260px;border:0;box-shadow:0 12px 34px rgba(15,23,42,.16);border-radius:8px;padding:0;overflow:hidden}.user-menu-head{padding:16px 18px;border-bottom:1px solid #edf2f7;display:flex;flex-direction:column;gap:4px}.user-menu-head strong{color:#334155}.user-menu-head span{font-size:12px;color:#2563eb;font-weight:800;text-transform:uppercase}.user-menu-profile{padding:14px 18px;display:flex;gap:12px;border-bottom:1px solid #edf2f7}.mini-avatar,.student-avatar-mini{width:42px;height:42px;border-radius:50%;background:#f0f4fa;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:800}.user-menu-profile div:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.user-menu-profile strong{color:#334155}.user-menu-profile span{font-size:12px;color:#8a9ab0;overflow:hidden;text-overflow:ellipsis}.admin-v2-user-menu .dropdown-item{padding:11px 18px;color:#607087;font-weight:500}.admin-v2-user-menu .dropdown-item i{width:22px;color:#94a3b8}.admin-v2-shell{max-width:1510px;margin:0 auto;padding:34px 28px 54px}.admin-v2-content{padding:0}.admin-v2-flash-wrap{max-width:1510px;margin:18px auto 0;padding:0 28px}.admin-v2-report-layout{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:start}.admin-v2-side-card{background:#fff;border-radius:8px;padding:14px;box-shadow:0 1px 0 rgba(15,23,42,.03);position:sticky;top:96px}.side-link{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:7px;color:#111827;font-weight:800}.side-link:hover,.side-link.active{background:#dcebff;color:#0f3767}.admin-breadcrumb{display:flex;align-items:center;gap:12px;color:#1f6feb;margin:6px 0 22px;font-weight:600}.admin-breadcrumb i{color:#64748b}.admin-v2-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.admin-v2-stat-box{background:#fff;border-radius:8px;min-height:70px;padding:14px 18px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:1fr auto;gap:0 14px;align-items:center}.stat-square{width:42px;height:42px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:24px;grid-row:1/3}.stat-blue{background:#dff1ff;color:#086ca8}.stat-teal{background:#d7fbf3;color:#0e9482}.stat-pink{background:#fee3ef;color:#c0266a}.stat-orange{background:#ffe9d2;color:#e86b12}.admin-v2-stat-box .stat-number{font-size:24px;font-weight:900;color:#0645c7;text-align:right;line-height:1}.admin-v2-stat-box .stat-number.money{font-size:22px}.admin-v2-stat-box .stat-label{text-align:right;font-size:11px;color:#41536e;font-weight:700}.admin-v2-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.admin-v2-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-v2-panel-card{background:#fff;border-radius:8px;padding:18px;box-shadow:0 1px 0 rgba(15,23,42,.03);min-width:0}.admin-v2-panel-card h3{font-size:18px;font-weight:800;text-align:center;text-transform:none;color:#19233c;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid #cdd7e5}.chart-wrap{height:270px}.top-course-list{display:flex;flex-direction:column;gap:12px}.top-course-row{display:grid;grid-template-columns:25px 48px 1fr auto;gap:12px;align-items:center}.rank{font-weight:900;color:#6b7280;text-align:center}.rank-1{color:#f59e0b}.rank-2{color:#9ca3af}.rank-3{color:#f97316}.course-thumb-mini{width:48px;height:38px;border-radius:4px;overflow:hidden;background:#e8eef6;display:flex;align-items:center;justify-content:center;color:#94a3b8}.course-thumb-mini img{width:100%;height:100%;object-fit:cover}.course-info-mini{min-width:0}.course-info-mini strong{display:block;color:#111827;font-size:13px;line-height:1.35}.course-info-mini span{display:block;color:#8190a5;font-size:12px;margin-top:4px}.course-count-mini{font-size:12px;color:#64748b;white-space:nowrap}.course-count-mini strong{color:#111827}.empty-mini{text-align:center;color:#94a3b8;padding:25px 12px}.student-active-row{grid-template-columns:25px 42px 1fr auto}.admin-v2-page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:16px}.admin-v2-page-head.compact{margin-bottom:14px}.admin-v2-page-head h1{font-size:22px;color:#123761;font-weight:900;margin:0;letter-spacing:.02em}.admin-v2-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.toolbar-search{height:36px;display:flex;background:#fff;border:1px solid #c7d6e8;border-radius:5px;overflow:hidden}.toolbar-search input{border:0;outline:0;width:190px;padding:0 12px;color:#475569}.toolbar-search.wide input{width:250px}.order-search input{width:360px}.toolbar-search button{border:0;background:#fff;color:#64748b;width:38px}.toolbar-filter-select select{height:36px;border:1px solid #c7d6e8;border-radius:5px;background:#fff;color:#334155;padding:0 12px;min-width:180px}.btn-filter,.btn-add,.btn-more{height:36px;border-radius:5px;border:1px solid #c7d6e8;background:#fff;color:#243b5a;font-weight:700;padding:0 14px;display:inline-flex;align-items:center;gap:7px}.btn-add{background:#2776f6;color:#fff;border-color:#2776f6}.btn-more{width:38px;justify-content:center;padding:0}.admin-v2-table-card{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 0 rgba(15,23,42,.03)}.admin-v2-table{color:#26354d}.admin-v2-table thead th{background:#dff1ff!important;border:0;color:#111827;font-weight:900;padding:17px 18px;white-space:nowrap;text-transform:none}.admin-v2-table tbody td{border-color:#e8eef6;padding:14px 18px;vertical-align:middle}.course-main-cell{display:flex;align-items:center;gap:14px;min-width:430px}.course-thumb-table{width:96px;height:54px;border-radius:4px;overflow:hidden;background:#e8eef6;display:flex;align-items:center;justify-content:center;color:#94a3b8;flex:0 0 auto}.course-thumb-table img{width:100%;height:100%;object-fit:cover}.course-main-cell strong{display:block;color:#14223a;line-height:1.35}.course-main-cell span,.course-main-cell small{display:block;font-size:12px;color:#6f8198;margin-top:3px}.round-play{width:25px;height:25px;border:2px solid #00aaff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#00aaff;font-size:13px}.small-counter{display:inline-flex;min-width:28px;height:28px;border:1px solid #cbd9ea;border-radius:6px;align-items:center;justify-content:center;color:#47617f;background:#fff}.fee-cell strong{display:block;font-size:16px;color:#050505}.fee-cell del{display:block;color:#8a9ab0;font-size:13px;margin-top:4px}.status-pill{display:inline-flex;padding:8px 14px;border-radius:6px;font-weight:700;white-space:nowrap}.status-pill.open{background:#bffbd0;color:#167a34}.status-pill.closed{background:#ffd1d6;color:#8f2330}.updated-cell strong{display:block;color:#53677f}.updated-cell span{display:block;color:#7e8fa5;font-size:13px;margin-top:3px}.dot-menu{border:0;background:transparent;color:#1f426b;font-size:20px}.contact-cell{font-size:13px;color:#334155}.contact-cell div+div{margin-top:4px}.contact-cell .ok{color:#1ad471;font-size:12px}.student-table tbody tr:nth-child(even){background:#f8fbff}.pager-fake{display:flex;align-items:center;justify-content:center;gap:7px;margin:16px 0 0}.pager-fake span,.pager-fake strong{min-width:30px;height:30px;border:1px solid #c9d7e8;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;color:#315173}.pager-fake strong{background:#2e7bf6;color:#fff;border-color:#2e7bf6}.muted-product{color:#607086;max-width:330px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-code{color:#526984}.order-status{display:inline-block;padding:5px 10px;border-radius:12px;color:#fff;font-weight:800;font-size:12px}.order-status.new{background:#f59e0b}.order-status.deleted{background:#9ca3af}.order-table em{display:block;font-size:12px;color:#8a9ab0;margin-top:5px}.payment-cell strong{display:block;color:#030712;font-size:16px}.payment-cell span{display:block;font-size:12px;margin-top:5px}.payment-cell .paid{color:#00a651;font-weight:800}.payment-cell .unpaid{color:#6b7280}.invoice-mini{display:inline-flex;width:22px;height:22px;border:1px solid #c7d6e8;border-radius:5px;align-items:center;justify-content:center;color:#64748b;background:#f8fafc}.settings-page-title,.admin-settings-page h2,.admin-settings-page h1{color:#123761!important;font-weight:900!important}.settings-layout,.admin-settings-layout{background:#fff;border-radius:8px}.settings-sidebar,.admin-settings-sidebar{background:#fff;border-radius:8px}.admin-v2-body .settings-nav a,.admin-v2-body .settings-sidebar a{border-radius:7px;font-weight:800;color:#111827}.admin-v2-body .settings-nav a.active,.admin-v2-body .settings-sidebar a.active{background:#dcebff;color:#0f3767}.admin-v2-body .form-control,.admin-v2-body .form-select{border-color:#c7d6e8}.admin-v2-body .btn-primary{background:#2776f6;border-color:#2776f6;font-weight:800}

@media (max-width:1199.98px){.admin-v2-nav-inner{padding:0 16px;gap:12px}.admin-v2-brand{min-width:170px;font-size:17px}.admin-v2-main-menu{gap:4px}.admin-v2-main-menu .nav-pill{padding:8px 9px;font-size:13px}.admin-v2-shell{padding:24px 16px 44px}.admin-v2-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-v2-report-layout{grid-template-columns:160px 1fr}.order-search input{width:230px}}@media (max-width:991.98px){.admin-v2-nav-inner{min-height:64px;flex-wrap:wrap}.admin-v2-menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.admin-v2-collapse{display:none!important;flex-basis:100%;width:100%;padding:8px 0 14px}.admin-v2-collapse.show{display:block!important}.admin-v2-main-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}.admin-v2-main-menu .nav-pill{background:#f6f9fd;justify-content:center}.admin-v2-actions{justify-content:space-between;border-top:1px solid #edf2f7;padding-top:12px;width:100%}.admin-v2-report-layout{grid-template-columns:1fr}.admin-v2-side-card{position:static;display:flex;gap:8px;overflow-x:auto}.side-link{white-space:nowrap}.admin-v2-chart-grid,.admin-v2-bottom-grid{grid-template-columns:1fr}.admin-v2-page-head{align-items:flex-start;flex-direction:column}.admin-v2-toolbar{justify-content:flex-start;width:100%}.toolbar-search,.toolbar-search input,.toolbar-search.wide input,.order-search input,.toolbar-filter-select select{width:100%}.toolbar-search{flex:1;min-width:190px}.admin-v2-table-card{border-radius:8px}.admin-v2-table thead{display:none}.admin-v2-table tbody tr{display:block;border-bottom:10px solid #eef3f8;padding:10px 0;background:#fff!important}.admin-v2-table tbody td{display:flex;justify-content:space-between;gap:15px;padding:9px 14px;border:0}.admin-v2-table tbody td:before{content:attr(data-label);font-weight:800;color:#5d708a}.course-main-cell{min-width:0;align-items:flex-start}.course-main-cell:before{display:none}.course-thumb-table{width:86px;height:48px}.updated-cell,.fee-cell,.payment-cell{text-align:right}.top-course-row{grid-template-columns:24px 44px 1fr}.course-count-mini{grid-column:3}.student-active-row{grid-template-columns:24px 40px 1fr}.admin-v2-stat-box .stat-number{font-size:20px}.chart-wrap{height:235px}}@media (max-width:575.98px){.admin-v2-brand{font-size:15px;min-width:0}.admin-v2-brand img{max-width:150px}.admin-v2-stat-grid{grid-template-columns:1fr}.admin-v2-stat-box{min-height:66px}.admin-v2-shell{padding:18px 10px 36px}.admin-v2-panel-card{padding:14px}.admin-v2-page-head h1{font-size:19px}.btn-filter,.btn-add{flex:1;justify-content:center}.top-course-row{gap:9px}.course-info-mini strong{font-size:12px}.admin-v2-main-menu{grid-template-columns:1fr}.admin-v2-table tbody td{font-size:13px}.course-main-cell{gap:10px}.pager-fake{overflow-x:auto;justify-content:flex-start;padding-bottom:4px}}

/* V9 public course preview video */
.public-preview-btn{white-space:nowrap;font-weight:700;border-radius:8px;}
.public-video-preview-modal .modal-content{border:0;border-radius:14px;overflow:hidden;}
.public-video-preview-modal .modal-header{background:#f8fbff;border-bottom:1px solid #e2e8f0;}
@media (max-width:768px){.public-preview-btn{padding:4px 8px;font-size:12px}.list-group-item .d-flex.align-items-center.gap-2{flex-wrap:wrap;justify-content:flex-end}}

/* V20 auth */
.auth-code-input{letter-spacing:8px;font-weight:900;font-size:1.35rem}.auth-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:18px;background:linear-gradient(135deg,#dbeafe,#fff7ed);display:flex;align-items:center;justify-content:center;font-size:28px;color:#2563eb}
@media(max-width:576px){.auth-card{margin:18px auto;padding:22px!important}.auth-card h2{font-size:24px}.auth-code-input{letter-spacing:5px}}

/* v65 - nut len dau trang web + mobile */
.vt-scroll-top-btn{
  position:fixed;
  right:22px;
  bottom:24px;
  width:48px;
  height:48px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#ff8a18 0%,#2f80ed 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  box-shadow:0 16px 34px rgba(24,72,140,.24);
  z-index:1090;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.96);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
}
.vt-scroll-top-btn.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.vt-scroll-top-btn:hover{filter:brightness(1.04);transform:translateY(-2px) scale(1.03)}
@media (max-width:575.98px){.vt-scroll-top-btn{right:14px;bottom:16px;width:44px;height:44px;font-size:20px}}

/* ===== v68: popup thong bao/xac nhan giua trang, khong dung alert native ===== */
.vt-dialog-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.48);
  backdrop-filter:blur(3px);
}
.vt-dialog-overlay.show{display:flex;}
body.vt-dialog-open{overflow:hidden;}
.vt-dialog-card{
  position:relative;
  width:min(470px, calc(100vw - 32px));
  background:#fff;
  border-radius:24px;
  padding:30px 30px 24px;
  box-shadow:0 30px 90px rgba(15,23,42,.28);
  border:1px solid rgba(226,232,240,.9);
  text-align:center;
  animation:vtDialogIn .18s ease-out;
}
@keyframes vtDialogIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.vt-dialog-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  display:flex;
  align-items:center;
  justify-content:center;
}
.vt-dialog-close:hover{background:#e2e8f0;color:#0f172a;}
.vt-dialog-icon{
  width:70px;
  height:70px;
  border-radius:22px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#dbeafe,#eff6ff);
  color:#2563eb;
  font-size:34px;
  box-shadow:0 14px 32px rgba(37,99,235,.16);
}
.vt-dialog-card.is-warning .vt-dialog-icon{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#f97316;box-shadow:0 14px 32px rgba(249,115,22,.18);}
.vt-dialog-card.is-danger .vt-dialog-icon{background:linear-gradient(135deg,#fee2e2,#fff1f2);color:#ef4444;box-shadow:0 14px 32px rgba(239,68,68,.16);}
.vt-dialog-card.is-success .vt-dialog-icon{background:linear-gradient(135deg,#dcfce7,#ecfdf5);color:#16a34a;box-shadow:0 14px 32px rgba(22,163,74,.16);}
.vt-dialog-title{
  margin:0 0 10px;
  color:#0f2d55;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.02em;
}
.vt-dialog-message{
  color:#334155;
  font-size:17px;
  line-height:1.55;
  white-space:pre-line;
  margin:0 auto 22px;
  max-width:390px;
}
.vt-dialog-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.vt-dialog-btn{
  min-width:120px;
  height:48px;
  border-radius:15px;
  border:0;
  padding:0 22px;
  font-size:16px;
  font-weight:800;
}
.vt-dialog-ok{
  background:linear-gradient(135deg,#2f80ed,#6aa7ff);
  color:#fff;
  box-shadow:0 12px 24px rgba(47,128,237,.22);
}
.vt-dialog-ok:hover{filter:brightness(.98);transform:translateY(-1px);}
.vt-dialog-cancel{background:#eef4ff;color:#1e3a5f;}
.vt-dialog-cancel:hover{background:#dbeafe;}
@media(max-width:576px){
  .vt-dialog-overlay{padding:16px;}
  .vt-dialog-card{padding:26px 20px 20px;border-radius:20px;}
  .vt-dialog-title{font-size:21px;}
  .vt-dialog-message{font-size:15px;}
  .vt-dialog-btn{height:45px;min-width:112px;}
}


/* v70: thông báo flash luôn nằm dưới màn hình, dễ nhìn và không che form */
.site-flash-wrap,
.admin-v2-flash-wrap{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:22px!important;
  top:auto!important;
  transform:translateX(-50%)!important;
  z-index:3000!important;
  width:min(760px, calc(100vw - 28px))!important;
  pointer-events:none;
}
.site-flash-wrap .alert,
.admin-v2-flash-wrap .alert{
  pointer-events:auto;
  margin:0 0 10px!important;
  border-radius:18px!important;
  box-shadow:0 18px 48px rgba(15,23,42,.18)!important;
  font-weight:700;
  padding:16px 46px 16px 18px!important;
}
@media (max-width: 640px){
  .site-flash-wrap,
  .admin-v2-flash-wrap{bottom:14px!important;width:calc(100vw - 20px)!important;}
  .site-flash-wrap .alert,
  .admin-v2-flash-wrap .alert{font-size:14px;padding:13px 42px 13px 14px!important;}
}

/* V110: nút giỏ hàng ở thanh trên cùng */
.nav-cart-btn {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #dfe5ee;
  background: #fff;
  color: #1f3556;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  transition: .18s ease;
}
.nav-cart-btn:hover { color: #2563eb; border-color: #bfdbfe; background: #f3f7ff; }
.nav-cart-btn > i { font-size: 20px; }
.nav-cart-count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 10px;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
  line-height: 19px;
  font-weight: 800;
  text-align: center;
  border: 2px solid #fff;
}
.nav-cart-count.is-empty { display: none; }
.cd47-cart-btn.added,
[data-cart-add].added { background: #eaf7ee!important; color: #16a34a!important; border-color: #bbf7d0!important; }

/* v122: icon ảnh tùy chỉnh từ Quản lý Trang chủ */
.homepage-custom-icon {
  width: 1.05em;
  height: 1.05em;
  max-width: 24px;
  max-height: 24px;
  object-fit: contain;
  display: inline-block;
  vertical-align: -0.14em;
  flex: 0 0 auto;
}
.nav-cart-btn .homepage-custom-icon { width: 21px; height: 21px; }
.nav-search .homepage-custom-icon { width: 16px; height: 16px; }
.nav-cta .homepage-custom-icon { width: 16px; height: 16px; margin-right: 3px; }
.vt-footer-social .homepage-custom-icon,
.contact-social-links .homepage-custom-icon { width: 18px; height: 18px; }
.contact-icon .homepage-custom-icon { width: 20px; height: 20px; }


/* ============================================================================
   v173 — Sắp xếp lại bảng khách hàng trên mobile cho gọn, không lộn xộn
   Áp dụng riêng /admin/students và /admin/courses/{id}/students.
   ============================================================================ */
@media (max-width:991.98px){
  .student-admin-layout{display:block!important;}
  .student-admin-main.card-like{padding:12px!important;border-radius:14px!important;}
  .student-head-row{gap:12px!important;}
  .student-head-row h1{width:100%;text-align:center;font-size:22px!important;line-height:1.2;}
  .student-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;width:100%;}
  .student-toolbar .toolbar-search{grid-column:1 / -1;height:44px!important;min-width:0!important;}
  .student-toolbar .toolbar-search input{height:44px!important;font-size:15px;}
  .student-toolbar .toolbar-search button{height:44px!important;}
  .student-toolbar .btn-filter,
  .student-toolbar .btn-add,
  .student-toolbar .bulk-delete-btn{width:100%;height:44px!important;justify-content:center;border-radius:8px!important;font-size:15px;}

  /* Danh sách khách hàng tổng */
  .student-table-card{background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;}
  .student-table-card .table-responsive{overflow:visible!important;}
  .student-table-card .student-table{border-collapse:separate!important;border-spacing:0 12px!important;margin:0!important;}
  .student-table-card .student-table tbody tr{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 48px;
    gap:8px 12px;
    padding:14px!important;
    border:1px solid #e4edf8!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(15,35,65,.06);
  }
  .student-table-card .student-table tbody td{
    display:block!important;
    padding:0!important;
    border:0!important;
    min-width:0!important;
    font-size:14px!important;
    line-height:1.35;
  }
  .student-table-card .student-table tbody td:before{display:none!important;content:none!important;}
  .student-table-card .student-table td.select-col{grid-column:1;grid-row:1;align-self:center;text-align:left!important;}
  .student-table-card .student-table td[data-col="avatar"]{grid-column:3;grid-row:1;justify-self:end;align-self:start;}
  .student-table-card .student-table td[data-label="Họ tên"]{grid-column:2;grid-row:1;align-self:center;}
  .student-table-card .student-table .student-name-link{font-weight:900;font-size:15px;color:#07111f;line-height:1.25;}
  .student-table-card .student-table td[data-col="contact"]{grid-column:1 / -1;grid-row:2;display:grid!important;grid-template-columns:1fr 120px;gap:7px 12px;color:#334155;}
  .student-table-card .student-table td[data-col="contact"] div{margin:0!important;word-break:break-word;}
  .student-table-card .student-table td[data-col="created"]{grid-column:1 / 3;grid-row:3;color:#5d708a;}
  .student-table-card .student-table td[data-col="created"]:before{display:inline!important;content:'Ngày tạo: '!important;font-weight:800;color:#5d708a;margin-right:6px;}
  .student-table-card .student-table td[data-col="last_login"]{grid-column:1 / 3;grid-row:4;color:#5d708a;}
  .student-table-card .student-table td[data-col="last_login"]:before{display:inline!important;content:'Đăng nhập cuối: '!important;font-weight:800;color:#5d708a;margin-right:6px;}
  .student-table-card .student-table td[data-col="status"]{grid-column:2 / 4;grid-row:3 / 5;justify-self:end;align-self:center;}
  .student-table-card .student-table td.action-col{grid-column:1 / -1;grid-row:5;text-align:left!important;justify-self:start;}
  .student-table-card .student-table .dot-menu{width:40px;height:40px;border-radius:10px;background:#f3f7fc;display:inline-flex;align-items:center;justify-content:center;}
  .student-footer-row{display:flex;flex-direction:column;gap:10px;align-items:stretch!important;}
  .student-footer-row .small{text-align:center;}
  .student-footer-row .pager-fake{justify-content:center!important;}

  /* Danh sách khách hàng trong sản phẩm */
  #csStudentTable{border-collapse:separate!important;border-spacing:0 12px!important;margin:0!important;}
  #csStudentTable tbody tr{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:8px 12px;
    padding:14px!important;
    border:1px solid #e4edf8!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(15,35,65,.06);
  }
  #csStudentTable tbody td{
    display:block!important;
    padding:0!important;
    border:0!important;
    min-width:0!important;
    font-size:14px!important;
    line-height:1.35;
  }
  #csStudentTable tbody td:before{display:none!important;content:none!important;}
  #csStudentTable .cs-select-col{grid-column:1;grid-row:1;text-align:left!important;align-self:start;}
  #csStudentTable tbody td:nth-child(2){grid-column:2;grid-row:1 / span 2;align-self:start;}
  #csStudentTable tbody td:nth-child(2) strong{font-size:15px;color:#07111f;line-height:1.25;}
  #csStudentTable tbody td:nth-child(2) small{display:block;margin-top:5px;color:#62748d!important;word-break:break-word;}
  #csStudentTable tbody td:nth-child(3){grid-column:3;grid-row:1;justify-self:end;align-self:start;}
  #csStudentTable tbody td:nth-child(4){grid-column:2 / 4;grid-row:3;color:#5d708a;}
  #csStudentTable tbody td:nth-child(4):before{display:inline!important;content:'Tham gia: '!important;font-weight:800;margin-right:6px;color:#5d708a;}
  #csStudentTable tbody td:nth-child(5){grid-column:2 / 4;grid-row:4;color:#111827;font-weight:700;}
  #csStudentTable tbody td:nth-child(5):before{display:inline!important;content:'Thời hạn: '!important;font-weight:800;margin-right:6px;color:#5d708a;}
  #csStudentTable tbody td:nth-child(6){grid-column:1 / -1;grid-row:5;text-align:left!important;justify-self:start;}
  #csStudentTable .cs-dot-menu{width:40px;height:40px;border-radius:10px;background:#f3f7fc;display:inline-flex;align-items:center;justify-content:center;}
  .cs-student-footer{display:flex!important;flex-direction:column;gap:10px;align-items:stretch!important;}
  .cs-student-footer #csPagerInfo{text-align:center;}
  .cs-student-footer .cs-pager{justify-content:center!important;}
}
@media (max-width:575.98px){
  .student-toolbar{grid-template-columns:1fr 1fr;}
  .student-table-card .student-table tbody tr,
  #csStudentTable tbody tr{padding:12px!important;}
  .student-table-card .student-table td[data-col="contact"]{grid-template-columns:1fr;}
}

/* V470 - Nút liên hệ nổi góc trái và bảng liên hệ nhanh */
.vt-contact-widget{
  position:fixed;
  left:24px;
  bottom:24px;
  z-index:1090;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  font-family:Roboto,sans-serif;
}
.vt-contact-panel{
  position:relative;
  width:310px;
  padding:15px;
  border:1px solid #e1eaf4;
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 38px rgba(15,59,102,.22);
  transform-origin:left bottom;
  animation:vtContactPanelIn .18s ease-out;
}
.vt-contact-panel[hidden]{display:none!important;}
.vt-contact-panel::after{
  content:"";
  position:absolute;
  left:34px;
  bottom:-10px;
  width:20px;
  height:20px;
  background:#fff;
  border-right:1px solid #e1eaf4;
  border-bottom:1px solid #e1eaf4;
  transform:rotate(45deg);
}
.vt-contact-item{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:62px;
  padding:7px 8px;
  border-radius:13px;
  color:#111827;
  text-decoration:none;
  transition:background-color .16s ease,transform .16s ease;
}
.vt-contact-item:hover{background:#f4f8fd;transform:translateX(2px);color:#111827;}
.vt-contact-item-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#083b8f;
  font-size:23px;
  line-height:1;
}
.vt-contact-item-zalo .vt-contact-item-icon{background:#fff;overflow:hidden;}
.vt-contact-item-messenger .vt-contact-item-icon{background:linear-gradient(145deg,#287bff,#b02fff,#ff3f87);}
.vt-contact-item-email .vt-contact-item-icon{background:#083b8f;}
.vt-contact-zalo-mark{font-size:14px;font-weight:700;letter-spacing:-.4px;}
.vt-contact-item-copy{min-width:0;display:flex;flex-direction:column;gap:2px;}
.vt-contact-item-copy strong{font-size:16px;font-weight:700;line-height:1.25;color:#0b172a;}
.vt-contact-item-copy small{font-size:14px;font-weight:400;line-height:1.35;color:#5f6d7e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vt-contact-toggle{
  position:relative;
  width:72px;
  height:72px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#083b8f;
  box-shadow:0 11px 26px rgba(8,59,143,.34);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
.vt-contact-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(8,59,143,.4);}
.vt-contact-toggle:focus-visible{outline:3px solid rgba(38,123,255,.3);outline-offset:3px;}
.vt-contact-toggle-ring{
  position:relative;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.vt-contact-cycle,.vt-contact-close{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#083b8f;
  font-size:23px;
  line-height:1;
  opacity:0;
  transform:scale(.65) rotate(-12deg);
  transition:opacity .22s ease,transform .22s ease;
}
.vt-contact-cycle[data-contact-cycle="zalo"]{font-size:13px;font-weight:800;letter-spacing:-.5px;}
.vt-contact-cycle.is-active{opacity:1;transform:scale(1) rotate(0);}
.vt-contact-close{font-size:21px;}
.vt-contact-widget.is-open .vt-contact-cycle{opacity:0;transform:scale(.65) rotate(12deg);}
.vt-contact-widget.is-open .vt-contact-close{opacity:1;transform:scale(1) rotate(0);}
@keyframes vtContactPanelIn{
  from{opacity:0;transform:translateY(7px) scale(.97);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@media (max-width:767.98px){
  .vt-contact-widget{left:14px;bottom:16px;gap:10px;}
  .vt-contact-panel{width:min(300px,calc(100vw - 28px));padding:12px;border-radius:16px;}
  .vt-contact-panel::after{left:27px;}
  .vt-contact-item{min-height:56px;padding:5px 7px;gap:11px;}
  .vt-contact-item-icon{flex-basis:44px;width:44px;height:44px;font-size:21px;}
  .vt-contact-item-copy strong{font-size:15px;}
  .vt-contact-item-copy small{font-size:13px;}
  .vt-contact-toggle{width:62px;height:62px;}
  .vt-contact-toggle-ring{width:42px;height:42px;}
  .vt-contact-cycle,.vt-contact-close{font-size:21px;}
  .vt-contact-cycle[data-contact-cycle="zalo"]{font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  .vt-contact-panel,.vt-contact-item,.vt-contact-toggle,.vt-contact-cycle,.vt-contact-close{animation:none!important;transition:none!important;}
}


/* V471 - Desktop: nút liên hệ nổi nhỏ bằng nút lên đầu trang */
@media (min-width:768px){
  .vt-contact-widget{left:22px;bottom:24px;}
  .vt-contact-toggle{
    width:48px;
    height:48px;
    box-shadow:0 16px 34px rgba(24,72,140,.24);
  }
  .vt-contact-toggle-ring{
    width:32px;
    height:32px;
  }
  .vt-contact-cycle,.vt-contact-close{font-size:17px;}
  .vt-contact-cycle[data-contact-cycle="zalo"]{font-size:10px;}
}


/* V472 - Mobile: nút liên hệ nằm trên nút lên đầu trang, cùng kích thước */
@media (max-width:767.98px){
  .vt-contact-widget{
    left:auto;
    right:14px;
    bottom:70px;
    align-items:flex-end;
    gap:10px;
  }
  .vt-contact-toggle{
    width:44px;
    height:44px;
    flex:0 0 44px;
    box-shadow:0 16px 34px rgba(24,72,140,.24);
  }
  .vt-contact-toggle-ring{
    width:30px;
    height:30px;
  }
  .vt-contact-cycle,.vt-contact-close{
    font-size:17px;
  }
  .vt-contact-cycle[data-contact-cycle="zalo"]{
    font-size:9px;
  }
  .vt-contact-panel{
    width:min(300px,calc(100vw - 28px));
    transform-origin:right bottom;
  }
  .vt-contact-panel::after{
    left:auto;
    right:12px;
  }
}


/* V473 - Dùng đúng biểu tượng Zalo từ liên kết chính thức người dùng cung cấp */
.vt-contact-zalo-mark img,
.vt-contact-cycle[data-contact-cycle="zalo"] img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.vt-contact-zalo-mark{
  padding:0;
}
.vt-contact-cycle[data-contact-cycle="zalo"]{
  padding:3px;
}
@media (min-width:768px){
  .vt-contact-cycle[data-contact-cycle="zalo"]{padding:2px;}
}
@media (max-width:767.98px){
  .vt-contact-cycle[data-contact-cycle="zalo"]{padding:2px;}
}


/* V474 - Giữ icon Zalo ngoài theo kiểu cũ và thêm vòng sóng động */
.vt-contact-toggle{
  isolation:isolate;
  overflow:visible;
}
.vt-contact-toggle-ring{
  z-index:1;
}
.vt-contact-toggle::before,
.vt-contact-toggle::after{
  content:"";
  position:absolute;
  inset:-5px;
  border:2px solid rgba(8,59,143,.42);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
  animation:vtContactPulseV474 2.2s ease-out infinite;
}
.vt-contact-toggle::after{
  animation-delay:1.1s;
}
.vt-contact-widget.is-open .vt-contact-toggle::before,
.vt-contact-widget.is-open .vt-contact-toggle::after{
  animation-play-state:paused;
  opacity:0;
}
.vt-contact-cycle[data-contact-cycle="zalo"]{
  padding:0!important;
  font-weight:800;
  letter-spacing:-.5px;
}
@keyframes vtContactPulseV474{
  0%{transform:scale(.88);opacity:.75;}
  70%{opacity:.18;}
  100%{transform:scale(1.42);opacity:0;}
}
@media (prefers-reduced-motion:reduce){
  .vt-contact-toggle::before,
  .vt-contact-toggle::after{animation:none!important;opacity:0!important;}
}

/* V768 - font chữ ô đăng nhập gọn và đồng bộ */
.auth-card input.form-control,
.auth-card .input-group-lg > .form-control,
.auth-card .form-control-lg {
  font-size: 16px !important;
  line-height: 1.45;
}
@media (max-width: 575.98px) {
  .auth-card input.form-control,
  .auth-card .input-group-lg > .form-control,
  .auth-card .form-control-lg {
    font-size: 15px !important;
  }
}

/* ===== Nguồn hợp nhất: pages.css ===== */
/* =====================================================
   PUBLIC PAGES - Courses, About, Contact, Guide
   ===================================================== */

/* ----- Filter chip ----- */
.filter-chip {
  display: inline-block;
  padding: 8px 18px;
  background: #fff;
  border: 1px solid #e6e8ec;
  border-radius: 24px;
  color: var(--text-dark);
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .15s;
  cursor: pointer;
}
.filter-chip:hover {
  border-color: var(--brand-blue);
  color: var(--brand-blue);
}
.filter-chip.active {
  background: rgba(31,111,235,.12);
  border-color: var(--brand-blue);
  color: var(--brand-blue);
  font-weight: 600;
}

.sort-dropdown .dropdown-toggle::after { margin-left: 8px; }

/* ----- Course card v2 (Khoa hoc list) ----- */
.course-card-v2 {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(15,23,42,.06);
  transition: all .2s;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.course-card-v2:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(15,23,42,.12);
}
.course-thumb-v2 {
  aspect-ratio: 5 / 3;
  background: #eef0f4;
  overflow: hidden;
  position: relative;
}
.course-thumb-v2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.course-thumb-v2 .course-thumb-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #ff6b1a22, #1f6feb22);
  color: var(--brand-orange);
  font-size: 3rem;
}
.course-badge-v2 {
  position: absolute; top: 10px; right: 10px;
  padding: 4px 10px; border-radius: 12px;
  color: #fff; font-size: .72rem; font-weight: 700;
}

.course-body-v2 {
  padding: 16px;
  display: flex; flex-direction: column; flex: 1;
}
.course-title-v2 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
  color: var(--text-dark);
  display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}
.course-instructor {
  font-size: .82rem;
  color: var(--text-muted);
  margin-bottom: 10px;
}
.course-rating {
  display: flex; align-items: center; gap: 6px;
  margin-bottom: 12px;
  font-size: .85rem;
}
.course-rating .rating-num {
  font-weight: 700;
  color: var(--brand-orange);
}
.course-price-row {
  display: flex; align-items: baseline; gap: 8px;
  margin-top: auto;
  font-size: 1.05rem;
}
.course-price-row > strong {
  font-size: 20px;
  line-height: 1.1;
}
.course-price-row .price-strike {
  text-decoration: line-through;
  color: #aaa;
  font-weight: 400;
  font-size: .85rem;
}

/* ----- About page ----- */
.about-stats-band {
  background: linear-gradient(135deg, #16181d 0%, #1c1f2a 100%);
  color: #fff;
}
.about-stat-number {
  font-size: 3rem;
  font-weight: 800;
  color: var(--brand-orange);
  line-height: 1;
  margin-bottom: 8px;
}
.about-stat-label {
  font-size: .9rem;
  color: rgba(255,255,255,.85);
  font-weight: 500;
}
.about-feature {
  background: #fff;
  border-radius: 14px;
  padding: 28px 20px;
  height: 100%;
  box-shadow: 0 2px 12px rgba(15,23,42,.06);
  transition: all .2s;
}
.about-feature:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(15,23,42,.12);
}
.about-feature-icon {
  font-size: 3rem;
  line-height: 1;
}

/* ----- Contact page ----- */
.contact-icon {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.bg-orange {
  background: var(--brand-orange) !important;
}
.social-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none;
  transition: all .15s;
}
.social-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255,107,26,.3);
}
.contact-form-card {
  background: #fff;
  border-radius: 14px;
  padding: 32px;
  box-shadow: 0 4px 24px rgba(15,23,42,.08);
}
.contact-form-card .form-control {
  border: 1px solid #e6e8ec;
  padding: 12px 14px;
}
.contact-form-card .form-control:focus {
  border-color: var(--brand-orange);
  box-shadow: 0 0 0 .2rem rgba(255,107,26,.15);
}
.btn-danger {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  border: none !important;
}
.btn-danger:hover {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
}

/* ===== V36 targeted fix: public course cards mobile/frame ===== */
.course-thumb-v2,
.course-card-v2 .thumb,
.cd-buy-thumb,
.course-cover,
.course-card-image {
  aspect-ratio: 5 / 3;
  overflow: hidden;
}
.course-thumb-v2 img,
.course-card-v2 .thumb img,
.cd-buy-thumb img,
.course-cover img,
.course-card-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
}
@media (max-width: 767.98px) {
  .courses-grid-v2,
  .course-grid,
  .course-list-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .course-card-v2,
  .course-card {
    border-radius: 14px;
  }
  .courses-filter-row,
  .course-filter-bar {
    gap: 8px;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .courses-sort,
  .sort-dropdown {
    width: 100%;
    justify-content: flex-start;
  }
}


/* V76: Social icons link chuẩn Facebook / YouTube / TikTok */
.social-facebook { background: #1877f2 !important; }
.social-youtube { background: #ff0000 !important; }
.social-tiktok { background: #111827 !important; }
.contact-social-links .social-btn { width: 42px; height: 42px; border-radius: 14px; }

/* ===== v198 course cart buttons ===== */
.course-thumb-link-v2{display:block;width:100%;height:100%;}
.course-thumb-cart-btn{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);border:0;border-radius:12px;background:#2563eb;color:#fff;font-weight:700;font-size:.9rem;padding:10px 16px;box-shadow:0 8px 24px rgba(37,99,235,.28);display:inline-flex;align-items:center;gap:7px;z-index:2;}
.course-thumb-cart-btn:hover{background:#1d4ed8;}
.course-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
.course-action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:10px;text-decoration:none;font-size:.9rem;font-weight:700;background:#2563eb;color:#fff;}
.course-action-btn:hover{color:#fff;background:#1d4ed8;}
.course-action-btn.is-outline{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;}
.course-action-btn.is-outline:hover{background:#dbeafe;color:#1d4ed8;}
@media (max-width: 575.98px){
  .course-thumb-cart-btn{padding:8px 14px;font-size:.85rem;bottom:10px;}
}

/* v199: thẻ sản phẩm dạng mua sắm, chỉ còn icon giỏ hàng vàng */
.course-card-v2{position:relative;}
.course-body-v2{position:relative;padding-bottom:66px;}
.course-thumb-cart-btn,.course-card-actions{display:none!important;}
.course-card-cart-yellow{position:absolute;right:16px;bottom:15px;width:46px;height:46px;border:0;border-radius:14px;background:#fbbf24;color:#713f12;display:inline-flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 20px rgba(245,158,11,.28);z-index:3;transition:.18s;}
.course-card-cart-yellow:hover{background:#f59e0b;color:#fff;transform:translateY(-2px);}
.course-card-cart-yellow.added{background:#fbbf24!important;color:#713f12!important;animation:vtCourseCartTap .55s ease both;}
@keyframes vtCourseCartTap{0%,100%{transform:scale(1)}35%{transform:scale(1.16) rotate(-5deg)}70%{transform:scale(.96) rotate(3deg)}}
@media(max-width:575.98px){
  .course-body-v2{padding-bottom:60px;}
  .course-card-cart-yellow{width:42px;height:42px;right:13px;bottom:13px;font-size:20px;}
}


/* v202: huy hiệu giảm giá / miễn phí nằm góc phải dưới thumbnail */
.course-thumb-v2 .course-badge-v2{
  top:auto!important;
  right:10px!important;
  bottom:10px!important;
  left:auto!important;
  z-index:4!important;
  padding:6px 11px!important;
  border-radius:12px!important;
  box-shadow:0 6px 16px rgba(15,23,42,.22)!important;
}
@media(max-width:575.98px){
  .course-thumb-v2 .course-badge-v2{right:8px!important;bottom:8px!important;padding:5px 9px!important;font-size:.68rem!important;}
}

/* v264 */
.course-title-v2{ text-transform:none!important; font-variant:normal!important; }


/* v280: nut gio hang co khung mau, desktop can phai */
.courses-cart-link-wrap{display:flex;justify-content:flex-end;align-items:center;margin-top:24px}
.courses-cart-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 20px;border:2px solid var(--brand-blue);border-radius:14px;background:linear-gradient(135deg,#eef6ff 0%,#ffffff 58%,#fff5ec 100%);color:var(--brand-blue);text-decoration:none;font-weight:800;font-size:1rem;box-shadow:0 10px 24px rgba(31,111,235,.14);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.courses-cart-link-btn:hover{background:linear-gradient(135deg,var(--brand-blue) 0%,#2b7cff 72%,var(--brand-orange) 100%);border-color:var(--brand-blue);color:#fff;transform:translateY(-2px);box-shadow:0 15px 30px rgba(31,111,235,.24)}
.courses-cart-link-btn i{font-size:1.08rem}
@media(max-width:575.98px){
  .courses-cart-link-wrap{justify-content:center;margin-top:18px}
  .courses-cart-link-btn{width:100%;max-width:100%;padding:12px 16px;border-radius:13px;font-size:.96rem}
}

/* v304: ribbon gon dung vao goc phai duoi anh khoa hoc */
.course-thumb-v2 .course-badge-v2{
  top:auto!important;
  left:auto!important;
  right:-29px!important;
  bottom:15px!important;
  width:105px!important;
  height:26px!important;
  min-width:0!important;
  padding:0 6px!important;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  font-size:.68rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.3px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  transform:rotate(45deg)!important;
  transform-origin:center!important;
  box-shadow:0 4px 10px rgba(15,23,42,.22)!important;
  z-index:6!important;
  pointer-events:none!important;
}
.course-thumb-v2 .course-badge-v2.is-discount{
  background:linear-gradient(90deg,#ff5a5f 0%,#ef4444 55%,#dc2626 100%)!important;
}
.course-thumb-v2 .course-badge-v2.is-free{
  background:linear-gradient(90deg,#22c55e 0%,#16a34a 58%,#0f8a3c 100%)!important;
}
@media(max-width:575.98px){
  .course-thumb-v2 .course-badge-v2{
    right:-25px!important;
    bottom:12px!important;
    width:92px!important;
    height:24px!important;
    padding:0 4px!important;
    font-size:.6rem!important;
  }
}

/* v305: ribbon cheo tu duoi len tren, bam dung goc phai duoi */
.course-thumb-v2{overflow:hidden!important;}
.course-thumb-v2 .course-badge-v2{
  top:auto!important;
  left:auto!important;
  right:-34px!important;
  bottom:18px!important;
  width:118px!important;
  height:30px!important;
  min-width:0!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.35px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  box-shadow:0 5px 12px rgba(15,23,42,.22)!important;
  z-index:6!important;
  pointer-events:none!important;
}
.course-thumb-v2 .course-badge-v2.is-discount{
  color:#3b2a00!important;
  background:linear-gradient(90deg,#d7a927 0%,#f4cf59 48%,#e0b437 100%)!important;
}
.course-thumb-v2 .course-badge-v2.is-free{
  color:#ffffff!important;
  background:linear-gradient(90deg,#16a34a 0%,#22c55e 50%,#0f9f45 100%)!important;
}
@media(max-width:575.98px){
  .course-thumb-v2 .course-badge-v2{
    right:-31px!important;
    bottom:15px!important;
    width:106px!important;
    height:27px!important;
    padding:0 6px!important;
    font-size:.64rem!important;
  }
}

/* v307: nhan cheo gon sat goc phai duoi, khong che noi dung thumbnail */
.course-thumb-v2{position:relative!important;overflow:hidden!important;}
.course-thumb-v2 .course-badge-v2{
  top:auto!important;
  left:auto!important;
  right:-28px!important;
  bottom:9px!important;
  width:96px!important;
  height:24px!important;
  min-width:0!important;
  padding:0 4px!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  font-size:.64rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.25px!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
  box-shadow:0 3px 8px rgba(15,23,42,.18)!important;
  z-index:8!important;
  pointer-events:none!important;
}
.course-thumb-v2 .course-badge-v2.is-discount{
  color:#4a3500!important;
  background:linear-gradient(90deg,#c9971e 0%,#f4cf59 48%,#e0b437 100%)!important;
}
.course-thumb-v2 .course-badge-v2.is-free{
  color:#ffffff!important;
  background:linear-gradient(90deg,#159d3f 0%,#2bd45f 52%,#0d8c37 100%)!important;
}
@media(max-width:575.98px){
  .course-thumb-v2 .course-badge-v2{
    right:-25px!important;
    bottom:8px!important;
    width:86px!important;
    height:22px!important;
    font-size:.58rem!important;
    letter-spacing:.15px!important;
  }
}
/* Themes v6 - Trang Liên hệ độc lập */
.contact-page-v6{background:#f4f8fc;min-height:calc(100vh - 180px)}.contact-page-head-v6 span{font-size:.8rem;font-weight:800;letter-spacing:.12em;color:#ff671d}.contact-page-head-v6 h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;color:#12365e;margin:.35rem 0}.contact-page-head-v6 p{color:#6c7b8e;max-width:650px;margin:0 auto}.contact-info-card-v6,.contact-form-card-v6{background:#fff;border:1px solid #e2eaf3;border-radius:20px;padding:30px;box-shadow:0 18px 48px rgba(31,73,125,.09)}.contact-info-card-v6 h2,.contact-form-card-v6 h2{color:#143d6b;font-size:1.35rem;font-weight:700;margin-bottom:1rem}.contact-method-v6{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #edf1f6;color:#1d3551;text-decoration:none}.contact-method-v6>i{width:44px;height:44px;border-radius:12px;background:#eaf3ff;color:#0d6efd;display:grid;place-items:center;font-size:1.15rem}.contact-method-v6 span{display:flex;flex-direction:column;min-width:0}.contact-method-v6 small{color:#7b8999}.contact-method-v6 strong{font-weight:600;overflow-wrap:anywhere}.contact-social-v6{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.contact-social-v6 a{border:1px solid #dbe6f2;border-radius:10px;padding:9px 13px;text-decoration:none;font-weight:600;background:#f8fbff}.contact-form-card-v6 .form-control{min-height:46px;border-color:#d9e3ee;border-radius:10px}.contact-form-card-v6 textarea.form-control{min-height:160px}@media(max-width:767.98px){.contact-info-card-v6,.contact-form-card-v6{padding:20px;border-radius:16px}}

/* ===== Nguồn hợp nhất: home-v2.css ===== */
/* =====================================================
   HOMEPAGE - giong APP_URL
   Font Roboto Vietnamese, mau cam chu dao
   ===================================================== */

/* ===== SECTION TITLES (dùng chung) ===== */
.vt-section-title {
  text-align: center;
  font-weight: 800;
  font-size: 1.85rem;
  color: #ff6b1a;
  margin-bottom: 40px;
  position: relative;
  padding-bottom: 14px;
}
.vt-section-title::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: #ff6b1a;
  border-radius: 2px;
}
.vt-section-title.text-start {
  color: #ff6b1a;
  font-size: 1.6rem;
}
.vt-section-title.text-start::after { left: 0; transform: none; }

/* ===== HERO: VAN THE LA AI ===== */
.vt-hero-about {
  padding: 50px 0;
  background: #fff;
}

.vt-coaching-card {
  background: linear-gradient(180deg, #f7f7f7 0%, #ecebe9 100%);
  border-radius: 24px;
  padding: 28px 26px;
  text-align: center;
  box-shadow: 0 6px 28px rgba(15, 23, 42, .08);
}
.vt-coaching-header {
  font-size: 1.6rem;
  font-weight: 900;
  color: #0a1f44;
  letter-spacing: 3px;
  margin-bottom: 22px;
}
.vt-coaching-avatar {
  width: 220px;
  height: 220px;
  border-radius: 50%;
  margin: 0 auto 18px;
  overflow: hidden;
  border: 6px solid #fff;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  background: #fff;
}
.vt-coaching-avatar img {
  width: 100%; height: 100%; object-fit: cover;
}
.vt-coaching-name {
  font-size: 1.4rem;
  font-weight: 800;
  color: #0a1f44;
  letter-spacing: 2px;
  margin-bottom: 14px;
}
.vt-coaching-tag {
  background: #1f6feb;
  color: #fff;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: .88rem;
  line-height: 1.5;
  margin: 0 0 20px;
}
.vt-coaching-btn {
  display: inline-block;
  background: #0a1f44;
  color: #fff;
  text-decoration: none;
  padding: 12px 26px;
  border-radius: 28px;
  font-weight: 700;
  font-size: .9rem;
  transition: all .15s;
}
.vt-coaching-btn:hover {
  background: #ff6b1a;
  color: #fff;
  transform: translateY(-2px);
}

.vt-about-text p {
  color: #1a1a1a;
  line-height: 1.75;
  margin-bottom: 14px;
  font-size: .95rem;
}
.vt-arrow-btn {
  display: inline-flex;
  margin-top: 10px;
  width: 44px; height: 44px;
  background: #ff6b1a;
  color: #fff;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  float: right;
  transition: all .15s;
}
.vt-arrow-btn:hover { background: #e85d10; transform: translateX(4px); color: #fff; }

/* ===== KHOA HOC CUA VAN THE ===== */
.vt-courses-section {
  padding: 60px 0;
  background: #fafbfc;
}

.vt-course-card {
  display: block;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .07);
  transition: all .2s;
  height: 100%;
}
.vt-course-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .15);
  color: inherit;
}

.vt-course-thumb {
  position: relative;
  aspect-ratio: 5/3;
  overflow: hidden;
  background: #eef0f4;
}
.vt-course-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.vt-no-thumb {
  display: flex; align-items: center; justify-content: center;
  height: 100%; color: #94a3b8; font-size: 3rem;
}

.vt-discount-badge {
  position: absolute;
  top: 12px; left: 12px;
  background: #ef4444;
  color: #fff;
  font-weight: 800;
  font-size: .82rem;
  padding: 4px 10px;
  border-radius: 6px;
  z-index: 2;
}

.vt-course-body {
  padding: 16px 18px 18px;
}
.vt-course-title {
  font-weight: 700;
  color: #1a1a1a;
  font-size: .98rem;
  line-height: 1.4;
  margin-bottom: 8px;
  min-height: 48px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.vt-course-instructor {
  color: #ff6b1a;
  font-size: .85rem;
  font-weight: 500;
  margin-bottom: 6px;
}
.vt-course-rating {
  color: #fbbf24;
  font-size: .85rem;
  margin-bottom: 10px;
}
.vt-course-rating span {
  color: #94a3b8;
  font-size: .78rem;
  margin-left: 5px;
}
.vt-course-price .vt-price-main {
  color: #1f6feb;
  font-weight: 800;
  font-size: 1.1rem;
}
.vt-course-price .vt-price-old {
  color: #94a3b8;
  text-decoration: line-through;
  font-size: .9rem;
  margin-left: 8px;
}

.vt-cta-btn {
  display: inline-block;
  background: #ff6b1a;
  color: #fff;
  text-decoration: none;
  padding: 14px 36px;
  border-radius: 28px;
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: 1px;
  transition: all .15s;
}
.vt-cta-btn:hover { background: #e85d10; color: #fff; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(255,107,26,.3); }

/* ===== CHIA SE HUU ICH ===== */
.vt-share-section {
  padding: 60px 0;
  background: #eef4f7;
}
.vt-video-card {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(15, 23, 42, .12);
  background: #000;
}
.vt-video-card iframe {
  width: 100%; height: 100%; border: 0;
}
.vt-video-title {
  margin-top: 12px;
  font-weight: 600;
  color: #1a1a1a;
  text-align: center;
  font-size: .92rem;
}

/* ===== TESTIMONIALS ===== */
.vt-testimonial-section {
  padding: 60px 0 80px;
  background: #fff;
}
.vt-testimonial-card {
  background: #fff;
  border: 1px solid #eef0f4;
  border-radius: 14px;
  padding: 26px 22px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .04);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.vt-quote-icon {
  font-size: 1.8rem;
  color: #ff6b1a;
  line-height: 1;
  margin-bottom: 12px;
}
.vt-testimonial-text {
  color: #334155;
  line-height: 1.7;
  font-size: .92rem;
  flex: 1;
  margin-bottom: 18px;
}
.vt-testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid #eef0f4;
}
.vt-testimonial-avatar {
  width: 46px; height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff6b1a, #1f6feb);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
  flex-shrink: 0;
  overflow: hidden;
}
.vt-testimonial-avatar img {
  width: 100%; height: 100%; object-fit: cover;
}
.vt-testimonial-info strong {
  display: block;
  color: #1a1a1a;
  font-size: .95rem;
}
.vt-testimonial-info small {
  color: #ff6b1a;
  font-size: .8rem;
}

/* ===== FOOTER DARK ===== */
.vt-footer {
  background: #0a1f44;
  color: #cbd5e1;
  padding: 50px 0 20px;
  margin-top: 0;
}
.vt-footer-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.vt-footer-brand img {
  width: 40px; height: 40px;
  border-radius: 8px;
}
.vt-footer-brand h5 {
  color: #fff;
  font-weight: 800;
  margin: 0;
  font-size: 1.1rem;
}
.vt-footer h6 {
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.vt-footer-text {
  color: #94a3b8;
  font-size: .88rem;
  line-height: 1.7;
  margin-bottom: 18px;
}
.vt-footer-item {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  color: #cbd5e1;
  text-decoration: none;
  font-size: .9rem;
}
.vt-footer-item:hover { color: #ff6b1a; }
.vt-footer-item i {
  width: 28px; height: 28px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 6px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #cbd5e1;
  flex-shrink: 0;
}

.vt-footer-social {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}
.vt-footer-social a {
  width: 38px; height: 38px;
  background: #1f6feb;
  color: #fff;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none;
  transition: all .15s;
}
.vt-footer-social a:hover { background: #ff6b1a; transform: translateY(-2px); }
.vt-footer-social a.fb { background: #1877f2; }
.vt-footer-social a.yt { background: #ff0000; }
.vt-footer-social a.tt { background: #111827; }

.vt-footer-yt-card {
  background: linear-gradient(135deg, #1e3a8a, #1e1b4b);
  border-radius: 12px;
  padding: 14px;
  overflow: hidden;
}
.vt-footer-yt-card img {
  width: 100%;
  border-radius: 8px;
}

.vt-footer-copy {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.08);
  text-align: center;
  color: #64748b;
  font-size: .85rem;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .vt-section-title { font-size: 1.4rem; margin-bottom: 30px; }
  .vt-coaching-avatar { width: 160px; height: 160px; }
  .vt-coaching-header { font-size: 1.3rem; }
  .vt-coaching-name { font-size: 1.15rem; }
}

/* =====================================================
   V14 HOME FIX - khoi phuc giao dien trang chu giong mau anh
   ===================================================== */
body:not(.admin-body) {
  background: #eef3f6;
}
.main-content {
  background: #eef3f6;
}
.vt-hero-about,
.vt-courses-section,
.vt-share-section,
.vt-testimonial-section {
  background: #eef3f6;
}
.vt-hero-about {
  padding: 54px 0 34px;
}
.vt-hero-about .container,
.vt-courses-section .container,
.vt-share-section .container,
.vt-testimonial-section .container,
.vt-footer .container {
  max-width: 1180px;
}
.vt-coaching-card {
  max-width: 370px;
  margin: 0 auto;
  background: #072947;
  border-radius: 10px;
  padding: 16px 16px 22px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
}
.vt-coaching-header {
  background: #f8fafc;
  border-radius: 8px 8px 0 0;
  padding: 18px 10px 8px;
  margin: 0;
  color: #0f3b6d;
  font-size: 1.55rem;
  letter-spacing: 1.5px;
}
.vt-coaching-avatar {
  width: 205px;
  height: 205px;
  margin: 10px auto 12px;
  border: 3px solid #1f2937;
  box-shadow: none;
}
.vt-coaching-name {
  background: #f8fafc;
  display: inline-block;
  padding: 7px 28px;
  border-radius: 999px;
  color: #0f3b6d;
  margin-bottom: 10px;
}
.vt-coaching-tag {
  border-radius: 3px;
  background: #0b5ec8;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 18px;
}
.vt-coaching-btn {
  background: #2878ea;
  border-radius: 6px;
  font-weight: 800;
  padding: 11px 22px;
}
.vt-about-text p {
  font-size: 1.03rem;
  line-height: 1.72;
  margin-bottom: 16px;
  text-align: justify;
}
.vt-section-title.text-start {
  font-size: 1.8rem;
  margin-bottom: 18px;
  padding-bottom: 0;
}
.vt-section-title.text-start::after {
  display: none;
}
.vt-courses-section {
  padding: 46px 0 28px;
}
.vt-section-title {
  margin-bottom: 34px;
}
.vt-course-card {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.vt-course-card:hover {
  box-shadow: none;
}
.vt-course-thumb {
  border-radius: 8px;
  aspect-ratio: 16 / 9;
  box-shadow: 0 2px 8px rgba(15,23,42,.10);
}
.vt-course-body {
  padding: 12px 0 8px;
}
.vt-course-title {
  min-height: 42px;
  font-size: .96rem;
  font-weight: 800;
  margin-bottom: 12px;
}
.vt-course-instructor {
  color: #51729b;
  font-size: .86rem;
}
.vt-course-price .vt-price-main {
  color: #1f6feb;
  font-size: 1.05rem;
}
.vt-share-section {
  padding: 32px 0 44px;
}
.vt-video-card {
  border-radius: 6px;
}
.vt-testimonial-section {
  padding: 34px 0 60px;
}
.vt-testimonial-card {
  border-radius: 8px;
  box-shadow: 0 3px 12px rgba(15,23,42,.06);
}
.vt-footer {
  background: #062946;
}

@media (max-width: 991.98px) {
  .vt-hero-about { padding: 28px 0; }
  .vt-hero-about .row { gap: 24px; }
  .vt-coaching-card { max-width: 330px; }
  .vt-about-text p { font-size: .96rem; text-align: left; }
  .vt-section-title.text-start { text-align: center !important; font-size: 1.45rem; }
  .vt-arrow-btn { float: none; margin: 12px auto 0; }
  .vt-courses-section, .vt-share-section, .vt-testimonial-section { padding: 34px 0; }
}
@media (max-width: 575.98px) {
  .vt-coaching-card { max-width: 100%; padding: 14px; }
  .vt-coaching-header { font-size: 1.25rem; }
  .vt-coaching-avatar { width: 165px; height: 165px; }
  .vt-coaching-tag { font-size: .9rem; }
  .vt-course-title { min-height: auto; }
}


/* V27: footer gon lai, bo card YouTube de khong chiem dien tich */
.vt-footer {
  padding: 30px 0 14px;
}
.vt-footer .container {
  max-width: 980px;
}
.vt-footer .row {
  align-items: flex-start;
}
.vt-footer-text {
  font-size: .84rem;
  line-height: 1.65;
  margin-bottom: 0;
}
.vt-footer h6 {
  margin-bottom: 12px;
}
.vt-footer-item {
  margin-bottom: 9px;
}
.vt-footer-social {
  margin-top: 10px;
}
.vt-footer-copy {
  margin-top: 20px;
  padding-top: 14px;
}
@media (max-width: 767.98px) {
  .vt-footer { padding: 24px 0 12px; }
}


/* ===== V62: card giới thiệu gọn, bỏ khung text và bỏ nút trong card ===== */
.vt-coaching-card .vt-coaching-tag {
  background: transparent !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 4px 8px 0 !important;
  margin: 0 auto !important;
  max-width: none !important;
  width: 100% !important;
  font-size: clamp(.78rem, 1.05vw, .9rem) !important;
  line-height: 1.45 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  letter-spacing: -.15px !important;
}
.vt-coaching-card {
  padding-bottom: 24px !important;
}
.vt-guide-empty {
  min-height: 360px;
  display: flex;
  align-items: flex-start;
  padding-top: 64px !important;
}


/* V80: footer brand icon always uses square favicon proportion */
.vt-footer-brand img{
  width:42px!important;
  height:42px!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:12px!important;
  background:#fff;
}


/* ============================================================================
   v154 — Mobile: nút VÀO HỌC luôn hiển thị ngay dưới khung Coaching
   - Chỉ áp dụng trên điện thoại.
   - Dùng cùng nội dung, icon và đường dẫn đã cấu hình trong Quản lý Trang chủ.
   ============================================================================ */
.vt-mobile-learn-btn{
  display:none;
}
@media (max-width:767.98px){
  .vt-mobile-learn-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    max-width:100%;
    margin:14px auto 0;
    min-height:50px;
    padding:12px 20px;
    border:0;
    border-radius:10px;
    background:linear-gradient(135deg,#ff8a3d 0%,#ff6b1a 48%,#2f80ed 100%);
    color:#fff;
    font-size:1rem;
    font-weight:900;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.25px;
    text-decoration:none;
    box-shadow:0 10px 22px rgba(47,128,237,.16),0 8px 18px rgba(255,107,26,.2);
    -webkit-tap-highlight-color:transparent;
  }
  .vt-mobile-learn-btn i,
  .vt-mobile-learn-btn .homepage-icon-image{
    flex:0 0 auto;
  }
  .vt-mobile-learn-btn:hover,
  .vt-mobile-learn-btn:focus,
  .vt-mobile-learn-btn:active{
    color:#fff;
    text-decoration:none;
    filter:brightness(1.04);
  }
}

/* v264 */
.vt-course-title{ text-transform:none!important; font-variant:normal!important; }

/* v304: ribbon gon dung vao goc phai duoi anh khoa hoc */
.vt-course-thumb .vt-discount-badge{
  top:auto!important;
  left:auto!important;
  right:-29px!important;
  bottom:15px!important;
  width:105px!important;
  height:26px!important;
  min-width:0!important;
  padding:0 6px!important;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  font-size:.68rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.3px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  transform:rotate(45deg)!important;
  transform-origin:center!important;
  box-shadow:0 4px 10px rgba(15,23,42,.22)!important;
  z-index:5!important;
  pointer-events:none!important;
}
.vt-course-thumb .vt-discount-badge.is-discount{
  background:linear-gradient(90deg,#ff5a5f 0%,#ef4444 55%,#dc2626 100%)!important;
}
.vt-course-thumb .vt-discount-badge.is-free{
  background:linear-gradient(90deg,#22c55e 0%,#16a34a 58%,#0f8a3c 100%)!important;
}
@media(max-width:575.98px){
  .vt-course-thumb .vt-discount-badge{
    right:-25px!important;
    bottom:12px!important;
    width:92px!important;
    height:24px!important;
    padding:0 4px!important;
    font-size:.6rem!important;
  }
}

/* v305: ribbon cheo tu duoi len tren, bam dung goc phai duoi */
.vt-course-thumb{overflow:hidden!important;}
.vt-course-thumb .vt-discount-badge{
  top:auto!important;
  left:auto!important;
  right:-34px!important;
  bottom:18px!important;
  width:118px!important;
  height:30px!important;
  min-width:0!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.35px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  box-shadow:0 5px 12px rgba(15,23,42,.22)!important;
  z-index:6!important;
  pointer-events:none!important;
}
.vt-course-thumb .vt-discount-badge.is-discount{
  color:#3b2a00!important;
  background:linear-gradient(90deg,#d7a927 0%,#f4cf59 48%,#e0b437 100%)!important;
}
.vt-course-thumb .vt-discount-badge.is-free{
  color:#ffffff!important;
  background:linear-gradient(90deg,#16a34a 0%,#22c55e 50%,#0f9f45 100%)!important;
}
@media(max-width:575.98px){
  .vt-course-thumb .vt-discount-badge{
    right:-31px!important;
    bottom:15px!important;
    width:106px!important;
    height:27px!important;
    padding:0 6px!important;
    font-size:.64rem!important;
  }
}

/* v307: nhan cheo gon sat goc phai duoi, khong che noi dung thumbnail */
.vt-course-thumb{position:relative!important;overflow:hidden!important;}
.vt-course-thumb .vt-discount-badge{
  top:auto!important;
  left:auto!important;
  right:-28px!important;
  bottom:9px!important;
  width:96px!important;
  height:24px!important;
  min-width:0!important;
  padding:0 4px!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  font-size:.64rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.25px!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
  box-shadow:0 3px 8px rgba(15,23,42,.18)!important;
  z-index:8!important;
  pointer-events:none!important;
}
.vt-course-thumb .vt-discount-badge.is-discount{
  color:#4a3500!important;
  background:linear-gradient(90deg,#c9971e 0%,#f4cf59 48%,#e0b437 100%)!important;
}
.vt-course-thumb .vt-discount-badge.is-free{
  color:#ffffff!important;
  background:linear-gradient(90deg,#159d3f 0%,#2bd45f 52%,#0d8c37 100%)!important;
}
@media(max-width:575.98px){
  .vt-course-thumb .vt-discount-badge{
    right:-25px!important;
    bottom:8px!important;
    width:86px!important;
    height:22px!important;
    font-size:.58rem!important;
    letter-spacing:.15px!important;
  }
}


/* ============================================================================
   v373 — Mobile homepage spacing + nút Xem thêm có chữ
   ============================================================================ */
.vt-arrow-btn-text{
  display:none;
}
.vt-arrow-btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

@media (max-width: 767.98px){
  /* Gỡ khoảng trống lớn do gutter dọc g-5 giữa khối Coaching và phần giới thiệu. */
  .vt-hero-about{
    padding:22px 0 24px;
  }
  .vt-hero-about .row.g-5{
    --bs-gutter-y:0;
    row-gap:0;
  }
  .vt-hero-about .row.g-5 > .col-lg-7{
    margin-top:20px;
  }
  .vt-section-title.text-start{
    margin-top:0;
    margin-bottom:14px;
  }

  /* Mobile: hiển thị nút Xem thêm dạng pill, canh giữa thay vì chỉ có icon tròn. */
  .vt-arrow-btn{
    display:flex;
    float:none;
    width:max-content;
    min-width:126px;
    height:42px;
    margin:10px auto 0;
    padding:0 18px;
    border-radius:999px;
    gap:8px;
    font-size:.92rem;
    font-weight:800;
    white-space:nowrap;
    box-shadow:0 8px 18px rgba(255,107,26,.18);
  }
  .vt-arrow-btn-text{
    display:inline;
  }
  .vt-arrow-btn:hover,
  .vt-arrow-btn:focus,
  .vt-arrow-btn:active{
    transform:none;
  }
}


/* v377 — Mobile trang chủ: tăng khoảng đệm phần đầu để tiêu đề khung không bị thanh header che khi lướt */
@media (max-width:767.98px){
  .vt-hero-about{
    padding-top:30px!important;
    scroll-margin-top:88px!important;
  }
  .vt-coaching-card{
    margin-top:4px!important;
  }
}


/* v378 — Nội dung trong khung Coaching tự xuống dòng và căn giữa, không tràn khỏi khung */
.vt-coaching-card,
.vt-coaching-card .vt-coaching-header,
.vt-coaching-card .vt-coaching-name,
.vt-coaching-card .vt-coaching-tag{
  text-align:center!important;
}
.vt-coaching-card .vt-coaching-header,
.vt-coaching-card .vt-coaching-name,
.vt-coaching-card .vt-coaching-tag{
  max-width:100%!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto;
}
.vt-coaching-card .vt-coaching-tag{
  display:block!important;
  width:100%!important;
  padding-left:12px!important;
  padding-right:12px!important;
  line-height:1.45!important;
}
@media(max-width:575.98px){
  .vt-coaching-card .vt-coaching-tag{
    font-size:.88rem!important;
    line-height:1.5!important;
  }
}


/* ============================================================================
   v387 — Mobile: thu gọn khoảng cách dọc giữa tiêu đề, nút và các section
   ============================================================================ */
@media (max-width: 767.98px){
  /* Phần giới thiệu kết thúc gọn để nút Xem thêm không cách quá xa Sản phẩm. */
  .vt-hero-about{
    padding-top:22px!important;
    padding-bottom:12px!important;
  }
  .vt-hero-about .row.g-5 > .col-lg-7{
    margin-top:14px!important;
  }
  .vt-section-title.text-start{
    margin-bottom:10px!important;
    padding-bottom:8px!important;
    line-height:1.2!important;
  }
  .vt-about-text p{
    margin-bottom:10px!important;
  }
  .vt-arrow-btn{
    margin-top:6px!important;
    margin-bottom:0!important;
  }

  /* Các khu vực Sản phẩm, Chia sẻ, Khách hàng nói gì không cộng dồn khoảng trắng. */
  .vt-courses-section{
    padding:16px 0 18px!important;
  }
  .vt-share-section{
    padding:16px 0 20px!important;
  }
  .vt-testimonial-section{
    padding:16px 0 28px!important;
  }
  .vt-courses-section .vt-section-title,
  .vt-share-section .vt-section-title,
  .vt-testimonial-section .vt-section-title{
    margin-top:0!important;
    margin-bottom:20px!important;
    padding-bottom:10px!important;
    line-height:1.2!important;
  }
  .vt-courses-section .text-center.mt-5{
    margin-top:20px!important;
  }
  .vt-cta-btn{
    padding:12px 28px!important;
  }
  .vt-video-title{
    margin-top:8px!important;
  }
}

/* ===== V416: giữ footer giới thiệu luôn sát đáy trang ===== */
html {
  min-height: 100%;
}

body:not(.admin-body) {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body:not(.admin-body) > .main-navbar,
body:not(.admin-body) > .site-flash-wrap {
  flex: 0 0 auto;
}

body:not(.admin-body) > .main-content {
  flex: 1 0 auto;
  width: 100%;
}

body:not(.admin-body) > .vt-footer {
  flex: 0 0 auto;
  width: 100%;
  margin-top: auto;
}

/* themes-v3: storefront text and catalog search compatibility */
.product-catalog-search{max-width:760px;margin:0 auto}.product-catalog-search .form-control{min-height:46px;border-color:#dbe3ec}.product-catalog-search .input-group-text{border-color:#dbe3ec;color:#6c757d}.product-catalog-search .btn{min-width:130px;font-weight:700}.vt-coaching-tag{padding:0 16px 18px;text-align:center;color:#667085;font-size:14px}.vt-course-instructor{min-height:22px}.main-navbar .navbar-brand{white-space:nowrap}.main-menu .nav-link{white-space:nowrap}
@media(max-width:575.98px){.product-catalog-search{display:grid;grid-template-columns:44px 1fr}.product-catalog-search .btn{grid-column:1/3;border-radius:8px!important;margin-top:8px}.vt-coaching-card{max-width:380px;margin:0 auto}}

/* ========================================================================== 
   themesvantheweb v5 — Trang chủ tập trung hoàn toàn vào sản phẩm số
   ========================================================================== */
.vtw-home-intro,
.vtw-home-categories,
.vtw-purchase-flow{
  background:#eef3f6;
}
.vtw-home-intro{padding:56px 0 42px;}
.vtw-home-intro .container,
.vtw-home-categories .container,
.vtw-purchase-flow .container{max-width:1180px;}
.vtw-ecosystem-card{
  position:relative;
  overflow:hidden;
  min-height:500px;
  padding:30px;
  border-radius:22px;
  background:linear-gradient(145deg,#082f52 0%,#0a406d 58%,#1168b8 100%);
  color:#fff;
  box-shadow:0 20px 48px rgba(8,47,82,.2);
}
.vtw-ecosystem-card:before,.vtw-ecosystem-card:after{
  content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none;
}
.vtw-ecosystem-card:before{width:210px;height:210px;right:-85px;top:-70px;}
.vtw-ecosystem-card:after{width:150px;height:150px;left:-70px;bottom:-55px;}
.vtw-ecosystem-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);font-size:.76rem;font-weight:800;letter-spacing:.8px;}
.vtw-ecosystem-card h1{position:relative;margin:23px 0 10px;font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1.08;letter-spacing:-1px;}
.vtw-ecosystem-card>p{position:relative;color:#d8eafa;font-size:1rem;line-height:1.65;max-width:410px;}
.vtw-product-mosaic{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 22px;}
.vtw-product-mosaic-item{display:block;position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);}
.vtw-product-mosaic-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease;}
.vtw-product-mosaic-item:hover img{transform:scale(1.045);}
.vtw-product-mosaic-item span{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;}
.vtw-ecosystem-link{position:relative;display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:800;}
.vtw-ecosystem-link:hover{color:#ffd7be;}
.vtw-home-eyebrow{display:inline-block;color:#ff6b1a;font-size:.84rem;font-weight:900;letter-spacing:1.4px;margin-bottom:12px;}
.vtw-home-heading{color:#102a43;font-size:clamp(2rem,4vw,3.15rem);font-weight:900;line-height:1.12;letter-spacing:-1.2px;margin-bottom:22px;}
.vtw-home-copy{display:grid;gap:12px;}
.vtw-home-copy p{position:relative;margin:0;padding-left:30px;color:#334e68;font-size:1rem;line-height:1.7;}
.vtw-home-copy p:before{content:"\F26B";font-family:"bootstrap-icons";position:absolute;left:0;top:1px;color:#16a34a;font-size:1.1rem;}
.vtw-home-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:27px;}
.vtw-home-primary,.vtw-home-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 22px;border-radius:10px;text-decoration:none;font-weight:800;transition:.18s ease;}
.vtw-home-primary{background:#ff6b1a;color:#fff;box-shadow:0 10px 24px rgba(255,107,26,.22);}
.vtw-home-primary:hover{background:#e95c0b;color:#fff;transform:translateY(-2px);}
.vtw-home-secondary{background:#fff;color:#0f4f88;border:1px solid #cbdbe8;}
.vtw-home-secondary:hover{color:#ff6b1a;border-color:#ffb27e;transform:translateY(-2px);}
.vtw-home-categories{padding:26px 0 48px;}
.vtw-home-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px;}
.vtw-home-section-head>div>span{display:block;color:#ff6b1a;font-size:.78rem;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:5px;}
.vtw-home-section-head h2{margin:0;color:#102a43;font-size:clamp(1.55rem,3vw,2.1rem);font-weight:900;line-height:1.2;}
.vtw-home-section-head>a{color:#176bd5;text-decoration:none;font-weight:800;white-space:nowrap;}
.vtw-home-section-head>a:hover{color:#ff6b1a;}
.vtw-home-section-head.is-centered{justify-content:center;text-align:center;}
.vtw-category-card{height:100%;display:flex;align-items:center;gap:12px;padding:16px;border-radius:14px;background:#fff;border:1px solid #dde8f0;color:#16324a;text-decoration:none;box-shadow:0 5px 16px rgba(15,42,67,.05);transition:.18s ease;}
.vtw-category-card:hover{color:#16324a;border-color:#94bde2;box-shadow:0 12px 25px rgba(15,42,67,.1);transform:translateY(-3px);}
.vtw-category-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#eaf4ff;color:#176bd5;font-size:1.25rem;}
.vtw-category-copy{display:flex;flex-direction:column;min-width:0;flex:1;}
.vtw-category-copy strong{font-size:.93rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vtw-category-copy small{color:#7890a4;font-size:.78rem;margin-top:2px;}
.vtw-category-card>.bi-chevron-right{color:#9db0c0;font-size:.78rem;}
.vt-courses-section{padding:58px 0;background:#fff!important;}
.vt-courses-section .container{max-width:1180px;}
.vt-course-card{background:#fff!important;border-radius:14px!important;overflow:hidden!important;border:1px solid #e4edf3!important;box-shadow:0 7px 20px rgba(15,42,67,.06)!important;}
.vt-course-card:hover{box-shadow:0 16px 32px rgba(15,42,67,.13)!important;transform:translateY(-4px)!important;}
.vt-course-body{padding:15px 17px 18px!important;}
.vtw-purchase-flow{padding:60px 0;}
.vtw-flow-card{position:relative;height:100%;padding:24px 20px;border-radius:16px;background:#fff;border:1px solid #dfe9f0;box-shadow:0 7px 20px rgba(15,42,67,.05);}
.vtw-flow-number{position:absolute;right:18px;top:16px;color:#dce9f5;font-size:2rem;font-weight:900;line-height:1;}
.vtw-flow-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,#e8f3ff,#fff2e8);color:#176bd5;font-size:1.35rem;margin-bottom:17px;}
.vtw-flow-card h3{font-size:1.04rem;font-weight:900;color:#102a43;margin-bottom:9px;}
.vtw-flow-card p{margin:0;color:#5d7387;font-size:.9rem;line-height:1.62;}
.vtw-trust-strip{display:flex;align-items:center;justify-content:center;gap:12px 26px;flex-wrap:wrap;margin-top:30px;padding:17px 20px;border-radius:14px;background:#082f52;color:#fff;}
.vtw-trust-strip span{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:700;}
.vtw-trust-strip i{color:#7dd3fc;}
.vt-share-section{padding:60px 0!important;background:#fff!important;}
.vt-share-section .container{max-width:1180px;}
.vt-video-title{color:#183b56!important;font-weight:800!important;}
@media(max-width:991.98px){
  .vtw-home-intro{padding:36px 0 30px;}
  .vtw-ecosystem-card{min-height:auto;}
  .vtw-home-heading{text-align:left;}
  .vtw-home-section-head{align-items:center;}
}
@media(max-width:767.98px){
  .vtw-home-intro{padding:24px 0 25px;}
  .vtw-ecosystem-card{padding:22px;border-radius:16px;}
  .vtw-ecosystem-card h1{font-size:2rem;}
  .vtw-home-heading{font-size:1.82rem;letter-spacing:-.5px;}
  .vtw-home-copy p{font-size:.94rem;padding-left:27px;}
  .vtw-home-primary,.vtw-home-secondary{width:100%;}
  .vtw-home-categories{padding:18px 0 34px;}
  .vtw-home-section-head{align-items:flex-start;margin-bottom:20px;}
  .vtw-home-section-head h2{font-size:1.45rem;}
  .vtw-home-section-head>a{font-size:.82rem;margin-top:4px;}
  .vtw-category-card{padding:12px 10px;gap:9px;}
  .vtw-category-icon{width:38px;height:38px;flex-basis:38px;border-radius:10px;font-size:1.05rem;}
  .vtw-category-copy strong{font-size:.82rem;}
  .vtw-category-copy small{font-size:.7rem;}
  .vtw-category-card>.bi-chevron-right{display:none;}
  .vt-courses-section,.vtw-purchase-flow,.vt-share-section{padding:38px 0!important;}
  .vtw-trust-strip{justify-content:flex-start;gap:12px;padding:16px;}
  .vtw-trust-strip span{width:calc(50% - 6px);font-size:.78rem;align-items:flex-start;}
}

/* ===== Nguồn hợp nhất: navbar-fix.css ===== */
/* =====================================================
   NAVBAR FIX: Topbar UPPERCASE + Public dropdown đẹp
   Áp dụng cho cả Web + Mobile, Public + Admin
   ===================================================== */

/* ============ ADMIN TOPBAR: CHỮ HOA, ĐEN ĐẬM ============ */
.admin-v2-main-menu .nav-pill {
  text-transform: uppercase !important;
  color: #1a1a1a !important;
  font-weight: 800 !important;
  letter-spacing: .3px;
}
.admin-v2-main-menu .nav-pill:hover,
.admin-v2-main-menu .nav-pill.active {
  background: #dcebff !important;
  color: #0a3a78 !important;
}

/* Admin user dropdown: tăng cường chữ đen đậm */
.admin-v2-user-menu .user-menu-head strong { color: #0a1a2e !important; font-weight: 800 !important; }
.admin-v2-user-menu .user-menu-head span { color: #1f6feb !important; font-weight: 800 !important; }
.admin-v2-user-menu .user-menu-profile strong { color: #0a1a2e !important; font-weight: 700 !important; }
.admin-v2-user-menu .user-menu-profile span { color: #475569 !important; }
.admin-v2-user-menu .dropdown-item {
  color: #1a1a1a !important;
  font-weight: 600 !important;
}
.admin-v2-user-menu .dropdown-item i { color: #1a1a1a !important; }
.admin-v2-user-menu .dropdown-item.text-danger,
.admin-v2-user-menu .dropdown-item.text-danger i { color: #dc2626 !important; }

/* ============ PUBLIC NAVBAR: CHỮ HOA, ĐEN ĐẬM ============ */
.main-navbar .main-menu .nav-link {
  text-transform: uppercase !important;
  color: #1a1a1a !important;
  font-weight: 800 !important;
  letter-spacing: .3px;
  padding: 10px 14px !important;
  border-radius: 8px;
  transition: all .15s;
}
.main-navbar .main-menu .nav-link:hover,
.main-navbar .main-menu .nav-link.active {
  background: #dcebff !important;
  color: #0a3a78 !important;
}

/* ============ PUBLIC USER DROPDOWN (giống admin) ============ */
.public-user-dropdown { position: relative; }

.public-avatar-btn {
  background: transparent;
  border: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 10px 4px 4px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;
  color: #1a1a1a;
  transition: background .15s;
}
.public-avatar-btn:hover { background: #f1f5f9; }
.public-avatar-btn::after { display: none; }

.public-avatar-circle {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff6b1a, #1f6feb);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: .98rem;
  flex-shrink: 0;
}
.public-avatar-name { color: #1a1a1a; font-weight: 700; font-size: .95rem; }
.public-avatar-btn i.bi-caret-down-fill { color: #64748b; font-size: .7rem; }

/* Dropdown menu chính */
.public-user-menu {
  width: 280px;
  border: 0;
  box-shadow: 0 12px 34px rgba(15,23,42,.16);
  border-radius: 10px;
  padding: 0;
  overflow: hidden;
  margin-top: 8px;
}

.pu-menu-head {
  padding: 16px 18px;
  border-bottom: 1px solid #edf2f7;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pu-menu-head strong {
  color: #0a1a2e;
  font-weight: 800;
  font-size: 1rem;
}
.pu-menu-head span {
  font-size: .72rem;
  color: #1f6feb;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .5px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.pu-menu-profile {
  padding: 14px 18px;
  display: flex;
  gap: 12px;
  border-bottom: 1px solid #edf2f7;
  align-items: center;
}
.pu-mini-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: #f0f4fa;
  color: #64748b;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  flex-shrink: 0;
}
.pu-mini-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1;
}
.pu-mini-info strong {
  color: #0a1a2e;
  font-weight: 700;
  font-size: .92rem;
}
.pu-mini-info span {
  font-size: .78rem;
  color: #475569;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.public-user-menu .dropdown-item {
  padding: 11px 18px;
  color: #1a1a1a !important;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .92rem;
}
.public-user-menu .dropdown-item i {
  width: 22px;
  color: #1a1a1a;
  font-size: 1.05rem;
}
.public-user-menu .dropdown-item:hover {
  background: #f5f7fa;
  color: #0a3a78 !important;
}

/* Link Quản Lý / Trung tâm quản lý: xanh dương đậm */
.public-user-menu .pu-admin-link {
  color: #1f6feb !important;
  font-weight: 800 !important;
}
.public-user-menu .pu-admin-link i {
  color: #1f6feb !important;
}
.public-user-menu .pu-admin-link:hover {
  background: #dcebff !important;
  color: #0a3a78 !important;
}

.public-user-menu .dropdown-item.text-danger {
  color: #dc2626 !important;
  font-weight: 700;
}
.public-user-menu .dropdown-item.text-danger i { color: #dc2626 !important; }

.public-user-menu .dropdown-divider {
  margin: 6px 0;
  border-color: #edf2f7;
}

/* ============ MOBILE RESPONSIVE ============ */
@media (max-width: 991.98px) {
  .main-navbar .main-menu .nav-link {
    padding: 12px 14px !important;
    font-size: .92rem;
  }
  .public-avatar-name { display: none !important; }
  .public-user-menu {
    width: 260px;
    margin-right: 8px;
  }
  .admin-v2-main-menu .nav-pill {
    font-size: 12px !important;
    padding: 7px 8px !important;
  }
}

@media (max-width: 575.98px) {
  .public-user-menu {
    width: calc(100vw - 24px);
    max-width: 320px;
  }
  .main-navbar .main-menu .nav-link { font-size: .88rem; }
}


/* v46: đồng bộ avatar đã upload lên menu user */
.public-avatar-circle img,.pu-mini-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

/* v48: khóa kích thước avatar menu user */
.public-avatar-circle{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;min-width:38px!important;min-height:38px!important;overflow:hidden!important;border-radius:50%!important;flex:0 0 38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.public-avatar-circle img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;border-radius:50%!important;display:block!important;}
.pu-mini-avatar{width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;min-width:42px!important;min-height:42px!important;overflow:hidden!important;border-radius:50%!important;flex:0 0 42px!important;}
.pu-mini-avatar img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;border-radius:50%!important;display:block!important;}


/* ===== V62: nút VÀO HỌC màu loang nhạt ===== */
.main-navbar .nav-cta,
.main-navbar .btn.nav-cta {
  background: linear-gradient(135deg, #ff8a3d 0%, #ff6b1a 45%, #2f80ed 100%) !important;
  border: 0 !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .2px !important;
  border-radius: 8px !important;
  padding: 7px 14px !important;
  box-shadow: 0 7px 16px rgba(47,128,237,.14), 0 6px 14px rgba(255,107,26,.16) !important;
}
.main-navbar .nav-cta:hover,
.main-navbar .btn.nav-cta:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
  color: #fff !important;
}


/* ============================================================================
   v156 — Mobile: avatar người dùng nằm cạnh giỏ hàng, bỏ nút VÀO HỌC trong menu
   ============================================================================ */
@media (max-width:991.98px){
  .main-navbar .navbar-collapse .nav-cta{display:none!important;}
  .public-user-dropdown-mobile{display:block!important;position:relative;}
  .nav-learn-mobile{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:50%;
    border:1px solid #bfd5f5;
    background:linear-gradient(135deg,#ffffff 0%,#edf5ff 65%,#fff2e6 100%);
    color:#174ea6;
    box-shadow:0 5px 14px rgba(37,99,235,.08),0 4px 10px rgba(255,122,26,.06);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    flex:0 0 42px;
    padding:0;
  }
  .nav-learn-mobile:hover,
  .nav-learn-mobile:focus{
    color:#0f3f8f;
    background:linear-gradient(135deg,#eef6ff 0%,#e2efff 65%,#ffe9d7 100%);
    border-color:#8bb8f3;
  }
  .nav-learn-mobile-text{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    line-height:1.02;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.1px;
  }
  .nav-learn-mobile-text span{display:block;}
  .public-user-dropdown-mobile .public-avatar-btn{
    width:40px;height:40px;padding:1px;border:1px solid #dfe5ee;background:#fff;
    border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  }
  .public-user-dropdown-mobile .public-avatar-btn:hover,
  .public-user-dropdown-mobile .public-avatar-btn:focus{
    background:#f3f7ff;border-color:#bfdbfe;box-shadow:0 0 0 3px rgba(37,99,235,.10);
  }
  .public-user-dropdown-mobile .public-avatar-circle{
    width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
    max-width:34px!important;max-height:34px!important;flex:0 0 34px!important;
  }
  .public-user-dropdown-mobile .public-user-menu{
    right:0!important;left:auto!important;margin-top:10px!important;
  }
}

@media (max-width:575.98px){
  .nav-learn-mobile{width:40px;min-width:40px;height:40px;flex-basis:40px;}
  .nav-learn-mobile-text{font-size:9.5px;}
}

/* v199: tên + email tài khoản công khai hiển thị đầy đủ */
.public-user-menu{width:min(340px,calc(100vw - 24px));}
.public-user-menu .pu-menu-profile{align-items:flex-start;}
.public-user-menu .pu-mini-info{min-width:0;flex:1;}
.public-user-menu .pu-mini-info strong{font-size:14px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word;}
.public-user-menu .pu-mini-info span{font-size:12px;line-height:1.45;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:break-all;}


/* v200: hiển thị đầy đủ tài khoản và hiệu ứng giỏ hàng */
.public-avatar-name{font-size:12px!important;line-height:1.25;max-width:260px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;}
.public-user-menu{width:min(420px,calc(100vw - 24px));}
.public-user-menu .pu-mini-info strong{font-size:13px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word;}
.public-user-menu .pu-mini-info span{font-size:12px;line-height:1.4;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:break-word;}
@keyframes vtCartBounce{0%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(-8px) scale(1.12)}50%{transform:translateY(0) scale(.96)}75%{transform:translateY(-4px) scale(1.06)}}
.nav-cart-btn.cart-bounce{animation:vtCartBounce .62s ease both;}


/* v202: menu tài khoản gọn, tên một dòng, email dài hiển thị dấu chấm */
.public-user-menu{
  width:286px!important;
  max-width:calc(100vw - 20px)!important;
  border-radius:14px!important;
}
.public-user-menu .pu-menu-head{padding:13px 15px!important;gap:3px!important;}
.public-user-menu .pu-menu-head strong{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:14px!important;
}
.public-user-menu .pu-menu-profile{padding:12px 15px!important;gap:10px!important;align-items:center!important;}
.public-user-menu .pu-mini-avatar{
  width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
  max-width:38px!important;max-height:38px!important;flex:0 0 38px!important;
}
.public-user-menu .pu-mini-info{min-width:0!important;overflow:hidden!important;}
.public-user-menu .pu-mini-info strong,
.public-user-menu .pu-mini-info span{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.public-user-menu .pu-mini-info strong{font-size:13px!important;line-height:1.35!important;}
.public-user-menu .pu-mini-info span{font-size:11.5px!important;line-height:1.35!important;}
.public-user-menu .dropdown-item{padding:10px 15px!important;font-size:14px!important;}
.public-avatar-btn{max-width:220px!important;min-width:0!important;}
.public-avatar-name{
  display:block!important;
  min-width:0!important;
  max-width:145px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-size:13px!important;
  line-height:1.2!important;
}

/* Thanh tìm kiếm + giỏ hàng + đăng nhập/đăng ký theo màu xanh dương - cam */
.main-navbar .nav-search .input-group{
  border:1px solid #9ec5ff!important;
  border-radius:12px!important;
  overflow:hidden!important;
  box-shadow:0 4px 14px rgba(37,99,235,.08)!important;
  background:#fff!important;
}
.main-navbar .nav-search .form-control{
  border:0!important;
  min-height:40px!important;
  box-shadow:none!important;
  color:#17375f!important;
}
.main-navbar .nav-search .btn{
  border:0!important;
  width:42px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#2f80ed 0%,#2563eb 58%,#ff7a1a 100%)!important;
}
.main-navbar .nav-search .btn:hover{filter:brightness(1.05)!important;}
.main-navbar .nav-cart-btn{
  color:#fff!important;
  border:0!important;
  background:linear-gradient(135deg,#2563eb 0%,#2f80ed 58%,#ff7a1a 100%)!important;
  box-shadow:0 7px 18px rgba(37,99,235,.20),0 5px 14px rgba(255,122,26,.14)!important;
}
.main-navbar .nav-cart-btn:hover{transform:translateY(-1px)!important;filter:brightness(1.05)!important;}
.main-navbar .nav-login-btn,
.main-navbar .nav-register-btn{
  min-height:38px!important;
  border-radius:10px!important;
  padding:7px 14px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.main-navbar .nav-login-btn{
  color:#2563eb!important;
  background:#fff!important;
  border:1px solid #77aaf8!important;
}
.main-navbar .nav-login-btn:hover{background:#eaf3ff!important;color:#174ea6!important;}
.main-navbar .nav-register-btn{
  color:#fff!important;
  border:0!important;
  background:linear-gradient(135deg,#ff8a32 0%,#ff6b1a 52%,#2f80ed 100%)!important;
  box-shadow:0 7px 16px rgba(255,107,26,.16),0 5px 14px rgba(47,128,237,.13)!important;
}
.main-navbar .nav-register-btn:hover{filter:brightness(1.04)!important;color:#fff!important;}
@media(max-width:991.98px){
  .public-user-menu{width:278px!important;max-width:calc(100vw - 18px)!important;}
  .public-avatar-name{display:none!important;}
  .main-navbar .nav-search{width:100%!important;}
  .main-navbar .nav-login-btn,.main-navbar .nav-register-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-bottom:10px!important;}
}

/* v205: màu loang nhạt cho tìm kiếm, giỏ hàng, đăng nhập và đăng ký */
.main-navbar .nav-search .input-group{
  background:linear-gradient(135deg,#f7fbff 0%,#edf5ff 58%,#fff4ea 100%)!important;
  border:1px solid #c7dcfb!important;
  box-shadow:0 4px 13px rgba(37,99,235,.07)!important;
}
.main-navbar .nav-search .form-control{background:transparent!important;}
.main-navbar .nav-search .btn{
  color:#174ea6!important;
  background:linear-gradient(135deg,#e6f0ff 0%,#dbeafe 55%,#ffe7d4 100%)!important;
  border-left:1px solid #c7dcfb!important;
}
.main-navbar .nav-cart-btn{
  color:#174ea6!important;
  background:linear-gradient(135deg,#e5efff 0%,#dbeafe 56%,#ffe5d0 100%)!important;
  border:1px solid #bfd5f5!important;
  box-shadow:0 5px 14px rgba(37,99,235,.10),0 4px 12px rgba(255,122,26,.07)!important;
}
.main-navbar .nav-login-btn{
  color:#174ea6!important;
  background:linear-gradient(135deg,#ffffff 0%,#edf5ff 68%,#fff5ed 100%)!important;
  border:1px solid #9fc3f7!important;
  box-shadow:0 4px 12px rgba(37,99,235,.07)!important;
}
.main-navbar .nav-register-btn{
  color:#a84308!important;
  background:linear-gradient(135deg,#fff4e8 0%,#ffe2cc 55%,#e6efff 100%)!important;
  border:1px solid #ffc292!important;
  box-shadow:0 5px 14px rgba(255,122,26,.09),0 4px 12px rgba(37,99,235,.07)!important;
}
.main-navbar .nav-register-btn:hover{color:#8a3405!important;}


/* ==========================================================================
   v216 — Hạng tài khoản FREE / PREMIUM và viền avatar chuyển màu
   PREMIUM chỉ dành cho tài khoản đã thanh toán sản phẩm trả phí.
   ========================================================================== */
.public-avatar-ring,
.pu-mini-avatar-ring{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:50%;
  isolation:isolate;
}
.public-avatar-ring{
  width:44px;
  height:44px;
}
.public-avatar-ring::before,
.pu-mini-avatar-ring::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  z-index:0;
}
.public-avatar-ring.is-free::before,
.pu-mini-avatar-ring.is-free::before{
  background:linear-gradient(135deg,#dbeafe,#eef6ff 52%,#c7dcfb);
  box-shadow:0 0 0 1px rgba(59,130,246,.14),0 5px 14px rgba(37,99,235,.08);
}
.public-avatar-ring.is-premium::before,
.pu-mini-avatar-ring.is-premium::before{
  background:conic-gradient(from 0deg,#ff8a32,#ffcf4a,#5eead4,#3b82f6,#8b5cf6,#ff5f9e,#ff8a32);
  animation:vtPremiumRingSpin 3.2s linear infinite;
  box-shadow:0 0 15px rgba(59,130,246,.32),0 0 24px rgba(94,234,212,.22),0 0 28px rgba(255,138,50,.18);
}
.public-avatar-ring.is-premium::after,
.pu-mini-avatar-ring.is-premium::after{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  background:conic-gradient(from 180deg,rgba(255,138,50,.18),rgba(59,130,246,.20),rgba(94,234,212,.18),rgba(139,92,246,.16),rgba(255,138,50,.18));
  filter:blur(8px);
  z-index:-1;
  animation:vtPremiumRingSpin 4.8s linear infinite reverse;
}
@keyframes vtPremiumRingSpin{to{transform:rotate(360deg)}}

.public-avatar-ring .public-avatar-circle{
  position:relative;
  z-index:1;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  flex:0 0 38px!important;
  border:2px solid #fff!important;
  box-shadow:0 2px 8px rgba(15,23,42,.14);
}
.public-avatar-tier-icon,
.pu-mini-tier-icon{
  position:absolute;
  z-index:3;
  right:-2px;
  bottom:-2px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:2px solid #fff;
  color:#fff;
  line-height:1;
  box-shadow:0 3px 8px rgba(15,23,42,.22);
}
.public-avatar-tier-icon{
  width:18px;
  height:18px;
  font-size:9px;
}
.public-avatar-ring.is-free .public-avatar-tier-icon,
.pu-mini-avatar-ring.is-free .pu-mini-tier-icon{background:#3b82f6;}
.public-avatar-ring.is-premium .public-avatar-tier-icon,
.pu-mini-avatar-ring.is-premium .pu-mini-tier-icon{
  background:linear-gradient(135deg,#ff8a32,#f59e0b 45%,#2563eb 100%);
}
.public-avatar-identity{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  gap:2px;
}
.public-membership-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:max-content;
  max-width:100%;
  min-height:18px;
  padding:2px 7px;
  border-radius:999px;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.45px;
  white-space:nowrap;
}
.public-membership-status.is-free{
  color:#1d4ed8;
  background:#eaf3ff;
  border:1px solid #bfdbfe;
}
.public-membership-status.is-premium{
  color:#fff;
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(100deg,#ff7a00 0%,#ff9b2f 38%,#5b6ff1 72%,#2563eb 100%);
  box-shadow:0 4px 10px rgba(37,99,235,.14),0 3px 9px rgba(255,122,0,.14);
}
.public-avatar-name{
  max-width:145px!important;
}
.pu-head-meta{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-width:0;
  flex-wrap:wrap;
}
.pu-role-label{
  font-size:.72rem;
  color:#1f6feb;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pu-mini-avatar-ring{
  width:46px;
  height:46px;
  flex:0 0 46px;
}
.pu-mini-avatar-ring .pu-mini-avatar{
  position:relative;
  z-index:1;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  max-width:40px!important;
  max-height:40px!important;
  flex:0 0 40px!important;
  border:2px solid #fff!important;
  box-shadow:0 2px 8px rgba(15,23,42,.13);
}
.pu-mini-tier-icon{
  width:17px;
  height:17px;
  right:-1px;
  bottom:-1px;
  font-size:8px;
}
.pu-membership-line{
  display:inline-flex!important;
  align-items:center;
  gap:5px;
  width:max-content!important;
  max-width:100%!important;
  margin-top:2px;
  padding:3px 7px;
  border-radius:999px;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:800;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.pu-membership-line.is-free{
  color:#1d4ed8!important;
  background:#eaf3ff;
  border:1px solid #bfdbfe;
}
.pu-membership-line.is-premium{
  color:#fff!important;
  background:linear-gradient(100deg,#ff7a00,#ff9b2f 38%,#5b6ff1 72%,#2563eb);
  border:1px solid rgba(255,255,255,.65);
}

/* V515: nhãn tài khoản Premium/Free chỉ rộng vừa đủ nội dung */
.public-user-menu .pu-mini-info .pu-membership-line{
  display:inline-flex!important;
  width:fit-content!important;
  max-width:max-content!important;
  align-self:flex-start!important;
  flex:0 0 auto!important;
}

@media(max-width:991.98px){
  .public-user-dropdown-mobile .public-avatar-btn{
    width:46px!important;
    height:46px!important;
    padding:1px!important;
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }
  .public-user-dropdown-mobile .public-avatar-ring{
    width:42px;
    height:42px;
  }
  .public-user-dropdown-mobile .public-avatar-ring .public-avatar-circle{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    max-width:36px!important;
    max-height:36px!important;
    flex:0 0 36px!important;
  }
  .public-user-dropdown-mobile .public-avatar-tier-icon{
    right:-1px;
    bottom:-1px;
  }
}
@media(prefers-reduced-motion:reduce){
  .public-avatar-ring.is-premium::before,
  .pu-mini-avatar-ring.is-premium::before,
  .public-avatar-ring.is-premium::after,
  .pu-mini-avatar-ring.is-premium::after{animation:none!important;}
}


/* v273: ưu tiên menu admin gọn sau các rule navbar cũ */
.admin-v2-user-menu{width:278px!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 92px)!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:14px!important;padding:6px 0!important;}
.admin-v2-user-menu .user-menu-profile{padding:12px 14px!important;gap:10px!important;align-items:center!important;}
.admin-v2-user-menu .user-menu-profile strong,.admin-v2-user-menu .user-menu-profile span{display:block!important;width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;overflow-wrap:normal!important;}
.admin-v2-user-menu .user-menu-profile strong{font-size:14px!important;}.admin-v2-user-menu .user-menu-profile span{font-size:12px!important;}
.admin-v2-user-menu .dropdown-item{padding:10px 14px!important;font-size:14px!important;}
.admin-avatar-gradient-v273{border:3px solid transparent!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#1f6feb 0%,#58a6ff 48%,#ff7a00 100%) border-box!important;box-shadow:0 6px 16px rgba(31,111,235,.16),0 4px 12px rgba(255,122,0,.12)!important;}
@media(max-width:575.98px){.admin-v2-mobile-user-menu{width:266px!important;max-width:calc(100vw - 18px)!important;max-height:calc(100vh - 82px)!important;right:0!important;left:auto!important;margin-top:8px!important;}.admin-v2-user-menu .dropdown-item{padding:9px 12px!important;font-size:13.5px!important;}}


/* v274: phân biệt Admin và Quản trị viên trong menu tài khoản */
.admin-avatar-user-v274{
  border:3px solid transparent!important;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#dbeafe 0%,#eef6ff 52%,#c7dcfb 100%) border-box!important;
  box-shadow:0 0 0 1px rgba(59,130,246,.12),0 5px 14px rgba(37,99,235,.08)!important;
}


/* v350: chỉ các dòng menu tài khoản được chụp dùng chữ thường; thêm Link Website ở menu quản trị */
.public-user-menu .dropdown-item.menu-regular-v350,
.admin-v2-user-menu .dropdown-item.menu-regular-v350{
  font-weight:400!important;
}


/* ============================================================================
   v373 — Mobile: nút VÀO HỌC ngang nhỏ, cùng màu với nút web
   ============================================================================ */
@media (max-width:991.98px){
  .main-navbar .nav-learn-mobile{
    width:auto!important;
    min-width:76px!important;
    height:40px!important;
    flex:0 0 auto!important;
    padding:0 10px!important;
    border:0!important;
    border-radius:9px!important;
    gap:5px!important;
    background:linear-gradient(135deg,#ff8a3d 0%,#ff6b1a 45%,#2f80ed 100%)!important;
    color:#fff!important;
    box-shadow:0 6px 14px rgba(47,128,237,.14),0 5px 12px rgba(255,107,26,.16)!important;
  }
  .main-navbar .nav-learn-mobile:hover,
  .main-navbar .nav-learn-mobile:focus,
  .main-navbar .nav-learn-mobile:active{
    color:#fff!important;
    filter:brightness(1.04);
    background:linear-gradient(135deg,#ff8a3d 0%,#ff6b1a 45%,#2f80ed 100%)!important;
  }
  .main-navbar .nav-learn-mobile > i,
  .main-navbar .nav-learn-mobile > .homepage-icon-image,
  .main-navbar .nav-learn-mobile > .homepage-custom-icon{
    width:13px!important;
    height:13px!important;
    flex:0 0 13px!important;
    margin:0!important;
    font-size:13px!important;
    color:#fff!important;
    object-fit:contain;
  }
  .main-navbar .nav-learn-mobile-text{
    display:block!important;
    flex-direction:initial!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.05px!important;
    white-space:nowrap!important;
    text-transform:uppercase!important;
    color:#fff!important;
  }
  .main-navbar .nav-learn-mobile-text span{
    display:inline!important;
  }
}

@media (max-width:430px){
  .main-navbar .d-flex.align-items-center.gap-2.ms-auto.d-lg-none{
    gap:6px!important;
  }
  .main-navbar .nav-learn-mobile{
    min-width:72px!important;
    padding:0 8px!important;
  }
  .main-navbar .nav-learn-mobile-text{
    font-size:9.5px!important;
  }
}

/* ============================================================================
   v375 — Mobile: nút VÀO HỌC chỉ còn chữ một dòng; menu ba chấm dọc dạng tròn
   ============================================================================ */
@media (max-width:991.98px){
  .main-navbar .nav-learn-mobile{
    min-width:78px!important;
    height:40px!important;
    padding:0 12px!important;
    gap:0!important;
    justify-content:center!important;
  }
  .main-navbar .nav-learn-mobile-text{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .main-navbar .nav-mobile-menu-btn{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #d7e0ea!important;
    border-radius:50%!important;
    background:linear-gradient(145deg,#ffffff 0%,#f5f8fc 100%)!important;
    color:#4b5563!important;
    box-shadow:0 5px 14px rgba(15,59,102,.10)!important;
  }
  .main-navbar .nav-mobile-menu-btn:hover,
  .main-navbar .nav-mobile-menu-btn:focus,
  .main-navbar .nav-mobile-menu-btn[aria-expanded="true"]{
    color:#0f3b66!important;
    border-color:#b8cbe2!important;
    background:#eef5ff!important;
    box-shadow:0 0 0 3px rgba(47,128,237,.10),0 5px 14px rgba(15,59,102,.10)!important;
    outline:none!important;
  }
  .main-navbar .nav-mobile-menu-btn::after,
  .main-navbar .nav-mobile-menu-btn .navbar-toggler-icon{
    display:none!important;
  }
  .main-navbar .nav-mobile-menu-btn i{
    display:block!important;
    margin:0!important;
    font-size:22px!important;
    line-height:1!important;
    color:inherit!important;
  }
}

@media (max-width:430px){
  .main-navbar .nav-learn-mobile{
    min-width:74px!important;
    padding:0 10px!important;
  }
  .main-navbar .nav-learn-mobile-text{
    font-size:10px!important;
  }
}



/* v377 — Mobile header: nút Mở sản phẩm chỉ giữ chữ, menu ba chấm đồng bộ và tránh icon thừa */
@media (max-width:991.98px){
  .main-navbar .nav-learn-mobile > i,
  .main-navbar .nav-learn-mobile > .homepage-icon-image,
  .main-navbar .nav-learn-mobile > .homepage-custom-icon,
  .main-navbar .nav-learn-mobile::before,
  .main-navbar .nav-learn-mobile::after{
    display:none!important;
    content:none!important;
  }
  .main-navbar .nav-mobile-menu-btn{
    border-radius:999px!important;
  }
}


/* ============================================================================
   v387 — Mobile menu tài khoản: icon email và địa chỉ luôn cùng hàng, bỏ gạch dưới
   ============================================================================ */
.public-user-menu .pu-email-line{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  color:#475569!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  text-decoration:none!important;
}
.public-user-menu .pu-email-line > i{
  flex:0 0 auto!important;
  margin:0!important;
  color:#475569!important;
  font-size:13px!important;
  line-height:1!important;
}
.public-user-menu .pu-email-line .pu-email-text,
.public-user-menu .pu-email-line a{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-decoration:none!important;
  -webkit-text-decoration:none!important;
  color:#475569!important;
  border-bottom:0!important;
}
@media (max-width:575.98px){
  .public-user-menu .pu-menu-profile{
    align-items:center!important;
  }
  .public-user-menu .pu-mini-info{
    overflow:visible!important;
  }
  .public-user-menu .pu-email-line{
    font-size:11.5px!important;
  }
}


/* ============================================================================
   V579 — Thông báo khách hàng trên navbar công khai (desktop + mobile)
   ============================================================================ */
.public-notification-dropdown{position:relative;flex:0 0 auto;}
.public-notification-btn{
  position:relative;
  width:40px;
  min-width:40px;
  height:40px;
  padding:0;
  border:1px solid #dfe5ee;
  border-radius:50%;
  background:#fff;
  color:#1f3556;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 12px rgba(15,59,102,.06);
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.public-notification-btn::after{display:none!important;}
.public-notification-btn > i{font-size:20px;line-height:1;}
.public-notification-btn:hover,
.public-notification-btn:focus,
.public-notification-btn[aria-expanded="true"]{
  color:#2563eb;
  border-color:#bfdbfe;
  background:#f3f7ff;
  outline:0;
  transform:translateY(-1px);
}
.main-navbar .public-notification-btn{
  color:#174ea6;
  background:linear-gradient(135deg,#e5efff 0%,#dbeafe 56%,#ffe5d0 100%);
  border:1px solid #bfd5f5;
  box-shadow:0 5px 14px rgba(37,99,235,.10),0 4px 12px rgba(255,122,26,.07);
}
.main-navbar .public-notification-btn:hover,
.main-navbar .public-notification-btn:focus,
.main-navbar .public-notification-btn[aria-expanded="true"]{
  color:#174ea6;
  background:linear-gradient(135deg,#e5efff 0%,#dbeafe 56%,#ffe5d0 100%);
  border-color:#9fc3f7;
  filter:brightness(1.04);
}
.public-notification-btn.has-unread > i{animation:publicBellPulseV579 2.4s ease-in-out infinite;}
@keyframes publicBellPulseV579{0%,72%,100%{transform:rotate(0)}78%{transform:rotate(10deg)}84%{transform:rotate(-9deg)}90%{transform:rotate(5deg)}}
.public-notification-badge{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:10px;
  border:2px solid #fff;
  background:#ef4444;
  color:#fff;
  font-size:10px;
  line-height:15px;
  font-weight:800;
  text-align:center;
}
.public-notification-badge[hidden]{display:none!important;}
.public-notification-menu{
  width:420px;
  max-width:calc(100vw - 24px);
  margin-top:10px!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid #e6edf5!important;
  border-radius:17px!important;
  background:#fff;
  box-shadow:0 22px 54px rgba(15,23,42,.20)!important;
}
.public-notification-head{
  min-height:74px;
  padding:16px 18px 12px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid #edf2f7;
}
.public-notification-head > div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.public-notification-head strong{color:#0f2f55;font-size:20px;line-height:1.15;font-weight:700;}
.public-notification-head small{color:#71829a;font-size:12px;line-height:1.2;}
.public-notification-mark-all{
  flex:0 0 auto;
  border:0;
  background:transparent;
  color:#2563eb;
  padding:4px 0;
  font-size:12px;
  line-height:1.2;
  font-weight:500;
  white-space:nowrap;
}
.public-notification-mark-all:disabled{color:#a7b4c6;cursor:default;}
.public-notification-tabs{
  display:flex;
  align-items:center;
  gap:9px;
  padding:11px 18px;
  border-bottom:1px solid #edf2f7;
}
.public-notification-tabs button{
  height:34px;
  padding:0 15px;
  border:1px solid #d9e4f1;
  border-radius:999px;
  background:#fff;
  color:#32465f;
  font-size:12px;
  font-weight:500;
}
.public-notification-tabs button.active{border-color:#c7dbf3;background:#edf5ff;color:#0f3b66;}
.public-notification-list{max-height:410px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;}
.public-notification-list::-webkit-scrollbar{width:6px;}
.public-notification-list::-webkit-scrollbar-thumb{background:#b7c2cf;border-radius:999px;}
.public-notification-item{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-height:78px;
  padding:13px 20px 13px 16px;
  border-bottom:1px solid #edf2f7;
  color:#203955;
  text-decoration:none;
  background:#fff;
  transition:background .15s ease;
}
.public-notification-item:hover{background:#f7faff;color:#203955;}
.public-notification-item.unread{background:#f2f7ff;}
.public-notification-item.unread:hover{background:#eaf3ff;}
.public-notification-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#0f4f9e;
  background:#edf4fd;
  font-size:17px;
}
.public-notification-copy{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:3px;}
.public-notification-copy strong{
  display:block;
  color:#173653;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.public-notification-message{
  display:-webkit-box;
  color:#526a84;
  font-size:12px;
  line-height:1.42;
  font-weight:400;
  overflow:hidden;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.public-notification-copy time{color:#71829a;font-size:11px;line-height:1.2;font-weight:500;}
.public-notification-dot{
  position:absolute;
  top:18px;
  right:10px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:transparent;
}
.public-notification-item.unread .public-notification-dot{background:#2563eb;}
.public-notification-empty{
  min-height:160px;
  padding:24px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#71829a;
  font-size:13px;
  text-align:center;
}
.public-notification-empty > i{font-size:28px;color:#9bb0c8;}
.public-notification-all-link{
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-top:1px solid #edf2f7;
  color:#1761bd;
  background:#fbfdff;
  text-decoration:none;
  font-size:12px;
  font-weight:600;
}
.public-notification-all-link:hover{color:#0f4f9e;background:#f3f8ff;}

@media(max-width:991.98px){
  .public-notification-dropdown-mobile{display:block!important;position:relative;}
  .public-notification-btn{width:40px;min-width:40px;height:40px;box-shadow:0 5px 14px rgba(15,59,102,.10);}
  .public-notification-menu{
    position:fixed!important;
    top:70px!important;
    right:8px!important;
    left:8px!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100vh - 80px)!important;
    margin:0!important;
    transform:none!important;
  }
  .public-notification-list{max-height:calc(100vh - 252px);}
  .public-notification-head{padding:14px 15px 11px;}
  .public-notification-head strong{font-size:18px;}
  .public-notification-tabs{padding:10px 15px;}
  .public-notification-item{padding:12px 18px 12px 14px;min-height:74px;}
  .public-notification-all-link{height:43px;}
}
@media(max-width:430px){
  .main-navbar .d-flex.align-items-center.gap-2.ms-auto.d-lg-none{gap:4px!important;}
  .main-navbar .navbar-brand img{max-width:104px!important;height:32px!important;}
  .main-navbar .nav-learn-mobile{min-width:64px!important;padding:0 7px!important;}
  .main-navbar .nav-learn-mobile-text{font-size:9px!important;}
  .public-notification-head{gap:8px;}
  .public-notification-mark-all{font-size:11px;}
}
@media(max-width:375px){
  .main-navbar .navbar-brand img{max-width:94px!important;height:30px!important;}
  .main-navbar .nav-cart-btn,
  .main-navbar .public-notification-btn,
  .main-navbar .nav-mobile-menu-btn{width:36px!important;min-width:36px!important;height:36px!important;flex-basis:36px!important;}
  .main-navbar .nav-learn-mobile{min-width:58px!important;height:36px!important;padding:0 6px!important;}
  .main-navbar .nav-learn-mobile-text{font-size:8.5px!important;}
  .public-user-dropdown-mobile .public-avatar-btn{width:40px!important;height:40px!important;}
  .public-user-dropdown-mobile .public-avatar-ring{width:38px;height:38px;}
  .public-user-dropdown-mobile .public-avatar-ring .public-avatar-circle{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;flex-basis:32px!important;}
  .public-notification-menu{top:66px!important;}
}
@media(prefers-reduced-motion:reduce){.public-notification-btn.has-unread > i{animation:none!important;}}


/* V602: popup thông báo user dùng chữ đen và chữ nhẹ. */
.public-notification-menu{color:#111}
.public-notification-head strong{color:#111;font-weight:600}
.public-notification-head small{color:#555;font-weight:400}
.public-notification-tabs button{color:#111;font-weight:400}
.public-notification-tabs button.active{color:#111;font-weight:500}
.public-notification-item,
.public-notification-item:hover{color:#111}
.public-notification-copy strong{color:#111;font-weight:500}
.public-notification-message{color:#333;font-weight:400}
.public-notification-copy time{color:#666;font-weight:400}
.public-notification-empty{color:#555;font-weight:400}
.public-notification-all-link{color:#111;font-weight:500}

/* ===== Nguồn hợp nhất: marketplace.css ===== */
:root{--vtw-primary:#2563eb;--vtw-dark:#0f172a;--vtw-muted:#64748b;--vtw-border:#e2e8f0;--vtw-bg:#f8fafc;--vtw-accent:#f59e0b}*{box-sizing:border-box}.vtw-body{font-family:Roboto,Arial,sans-serif;color:var(--vtw-dark);background:#fff}.vtw-topbar{background:#0f172a;color:#dbeafe;font-size:13px;padding:8px 0}.vtw-topbar i{color:#fbbf24}.vtw-header .navbar{min-height:76px;border-bottom:1px solid #edf2f7}.vtw-brand{display:flex;align-items:center;gap:10px;color:#0f172a!important}.vtw-brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;display:grid;place-items:center;font-weight:800}.vtw-brand span:last-child{display:flex;flex-direction:column;line-height:1.1}.vtw-brand small{font-size:10px;letter-spacing:1.1px;color:#64748b;text-transform:uppercase;margin-top:3px}.vtw-header .nav-link{font-weight:600;color:#334155!important;padding:10px 13px!important}.vtw-header .nav-link:hover{color:#2563eb!important}.vtw-cart{position:relative;width:42px;height:42px;border:1px solid var(--vtw-border);border-radius:12px;display:grid;place-items:center;color:#0f172a;text-decoration:none;font-size:20px}.vtw-cart span{position:absolute;right:-5px;top:-6px;background:#ef4444;color:#fff;font-size:10px;min-width:18px;height:18px;border-radius:50%;display:grid;place-items:center}.vtw-account-btn,.vtw-login-btn{height:42px;border-radius:12px;display:inline-flex;align-items:center;gap:7px}.vtw-account-btn{background:#eff6ff;color:#1d4ed8}.vtw-login-btn{background:#2563eb;color:#fff}.vtw-flash{margin-top:16px}.vtw-hero{padding:76px 0 84px;background:radial-gradient(circle at 90% 0,#dbeafe 0,transparent 35%),linear-gradient(180deg,#f8fbff,#fff)}.vtw-kicker{display:inline-flex;gap:8px;align-items:center;padding:8px 13px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-weight:700;font-size:14px}.vtw-hero h1{font-size:clamp(40px,5vw,66px);line-height:1.08;font-weight:800;letter-spacing:-2px;margin:22px 0}.vtw-hero h1 span{color:#2563eb}.vtw-hero p{font-size:18px;line-height:1.7;color:#475569;max-width:680px}.vtw-hero-search{display:flex;align-items:center;max-width:690px;margin-top:28px;background:#fff;border:1px solid #dbeafe;border-radius:16px;padding:7px;box-shadow:0 18px 45px rgba(37,99,235,.12)}.vtw-hero-search i{font-size:20px;margin-left:12px;color:#64748b}.vtw-hero-search input{flex:1;border:0;outline:0;padding:13px;background:transparent}.vtw-hero-search button,.vtw-catalog-search button{border:0;border-radius:11px;background:#2563eb;color:#fff;font-weight:700;padding:13px 20px}.vtw-trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;color:#475569;font-size:14px}.vtw-trust-row i{color:#10b981}.vtw-hero-panel{min-height:430px;position:relative;border-radius:32px;background:linear-gradient(145deg,#172554,#2563eb 60%,#06b6d4);overflow:hidden;box-shadow:0 30px 70px rgba(30,64,175,.3)}.vtw-hero-panel:before,.vtw-hero-panel:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.vtw-hero-panel:before{width:330px;height:330px;left:55px;top:50px}.vtw-hero-panel:after{width:240px;height:240px;left:100px;top:95px}.vtw-hero-orb{position:absolute;inset:0;margin:auto;width:125px;height:125px;border-radius:32px;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);display:grid;place-items:center;color:#fff;font-size:60px;z-index:2}.vtw-floating-card{position:absolute;background:#fff;border-radius:16px;padding:13px 16px;display:grid;grid-template-columns:38px 1fr;column-gap:10px;box-shadow:0 18px 35px rgba(15,23,42,.2);z-index:3;min-width:205px}.vtw-floating-card i{grid-row:1/3;width:38px;height:38px;border-radius:10px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-size:20px}.vtw-floating-card b{font-size:14px}.vtw-floating-card small{color:#64748b}.fc-one{top:38px;left:26px}.fc-two{right:22px;top:170px}.fc-three{left:30px;bottom:38px}.vtw-section{padding:70px 0}.vtw-category-section,.vtw-benefits,.vtw-related{background:#f8fafc}.vtw-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.vtw-section-head span{color:#2563eb;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.7px}.vtw-section-head h2{font-size:32px;font-weight:800;margin:5px 0 0}.vtw-section-head>a{color:#2563eb;text-decoration:none;font-weight:700}.vtw-category-card{height:150px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:center;text-decoration:none;color:#0f172a;transition:.2s}.vtw-category-card:hover{transform:translateY(-4px);border-color:#93c5fd;box-shadow:0 16px 30px rgba(15,23,42,.08)}.vtw-category-card i{font-size:30px;color:#2563eb;margin-bottom:12px}.vtw-category-card b{font-size:15px}.vtw-category-card small{color:#64748b;margin-top:4px}.vtw-product-card{background:#fff;border:1px solid #e2e8f0;border-radius:19px;overflow:hidden;transition:.25s;display:flex;flex-direction:column}.vtw-product-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(15,23,42,.1);border-color:#bfdbfe}.vtw-product-image{position:relative;display:block;aspect-ratio:16/11;background:#eef2ff;overflow:hidden}.vtw-product-image img{width:100%;height:100%;object-fit:cover;transition:.35s}.vtw-product-card:hover .vtw-product-image img{transform:scale(1.04)}.vtw-sale{position:absolute;z-index:2;left:12px;top:12px;background:#ef4444;color:#fff;border-radius:8px;padding:6px 9px;font-weight:800;font-size:12px}.vtw-image-empty{height:100%;display:grid;place-items:center;font-size:48px;color:#94a3b8}.vtw-product-content{padding:18px;display:flex;flex-direction:column;flex:1}.vtw-product-cat{font-size:12px;color:#2563eb;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.vtw-product-content h3{font-size:17px;line-height:1.42;font-weight:700;margin:9px 0 10px;min-height:48px}.vtw-product-content h3 a{color:#0f172a;text-decoration:none}.vtw-product-desc{font-size:13px;color:#64748b;line-height:1.5;min-height:40px}.vtw-card-meta{display:flex;gap:15px;color:#64748b;font-size:13px;margin-top:auto}.vtw-card-meta .bi-star-fill,.stars i{color:#f59e0b}.vtw-price-row{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #edf2f7}.vtw-price-row strong{font-size:20px;color:#dc2626}.vtw-price-row del{color:#94a3b8;font-size:13px}.vtw-benefit{height:100%;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:24px;display:flex;gap:16px}.vtw-benefit>i{font-size:30px;color:#2563eb}.vtw-benefit b{font-size:17px}.vtw-benefit p{color:#64748b;line-height:1.6;margin:7px 0 0}.vtw-page-hero{background:linear-gradient(120deg,#0f172a,#1d4ed8);color:#fff;padding:54px 0}.vtw-page-hero.compact{padding:42px 0}.vtw-page-hero>div>span{color:#93c5fd;text-transform:uppercase;font-weight:700;font-size:13px}.vtw-page-hero h1{font-size:42px;font-weight:800;margin:8px 0}.vtw-page-hero p{color:#dbeafe}.vtw-catalog-search{max-width:700px;display:flex;align-items:center;background:#fff;border-radius:15px;padding:7px;margin-top:22px}.vtw-catalog-search i{color:#64748b;margin-left:12px}.vtw-catalog-search input{flex:1;border:0;outline:0;padding:12px;color:#0f172a}.vtw-filter-box{border:1px solid #e2e8f0;border-radius:16px;padding:18px;position:sticky;top:115px}.vtw-filter-box h5{font-size:16px;font-weight:800;margin-bottom:12px}.vtw-filter-box a{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:9px;color:#475569;text-decoration:none;font-size:14px}.vtw-filter-box a:hover,.vtw-filter-box a.active{background:#eff6ff;color:#1d4ed8;font-weight:700}.vtw-filter-box a span{background:#f1f5f9;border-radius:999px;padding:1px 7px;font-size:11px}.vtw-catalog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:#64748b}.vtw-catalog-head select{border:1px solid #e2e8f0;border-radius:10px;padding:9px 12px}.vtw-empty{text-align:center;padding:70px 20px;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc}.vtw-empty>i{font-size:48px;color:#94a3b8}.vtw-primary-action,.vtw-secondary-action{border-radius:12px;font-weight:700;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.vtw-primary-action{background:#2563eb;color:#fff;border:1px solid #2563eb}.vtw-primary-action:hover{background:#1d4ed8;color:#fff}.vtw-secondary-action{background:#fff;color:#1e40af;border:1px solid #bfdbfe}.vtw-secondary-action:hover{background:#eff6ff;color:#1d4ed8}.vtw-product-detail{padding:28px 0 54px;background:#f8fafc}.vtw-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;margin-bottom:25px;white-space:nowrap;overflow:hidden}.vtw-breadcrumb a{color:#475569;text-decoration:none}.vtw-detail-image{position:relative;border-radius:22px;overflow:hidden;background:#fff;border:1px solid #e2e8f0;aspect-ratio:4/3}.vtw-detail-image img{width:100%;height:100%;object-fit:contain}.vtw-gallery{display:flex;gap:10px;margin-top:12px;overflow:auto}.vtw-gallery button{width:82px;height:65px;flex:0 0 auto;border:2px solid transparent;border-radius:10px;padding:0;background:#fff;overflow:hidden}.vtw-gallery button:hover{border-color:#2563eb}.vtw-gallery img{width:100%;height:100%;object-fit:cover}.vtw-detail-info{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:28px}.vtw-detail-info h1{font-size:34px;line-height:1.25;font-weight:800;margin:10px 0}.vtw-detail-rating{display:flex;flex-wrap:wrap;gap:14px;color:#64748b;font-size:13px}.vtw-detail-price{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid #edf2f7}.vtw-detail-price strong{font-size:34px;color:#dc2626}.vtw-detail-price del{color:#94a3b8;font-size:17px}.vtw-detail-price>span{background:#fee2e2;color:#b91c1c;padding:5px 9px;border-radius:8px;font-size:12px;font-weight:700}.vtw-short-description{color:#475569;line-height:1.75;padding:20px 0}.vtw-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vtw-action-grid form{grid-column:span 2}.vtw-action-grid .vtw-primary-action{grid-column:span 2}.vtw-buy-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #edf2f7;font-size:13px;color:#475569}.vtw-buy-points i{color:#10b981}.vtw-content-box,.vtw-spec-box{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:25px}.vtw-content-box > h2{font-size:24px;font-weight:800;margin-bottom:20px}.vtw-rich-content{line-height:1.75;color:#334155;overflow-wrap:anywhere}.vtw-rich-content img{max-width:100%;height:auto}.vtw-spec-box{position:sticky;top:115px}.vtw-spec-box h3{font-size:19px;font-weight:800;margin-bottom:15px}.vtw-spec-box>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf2f7;font-size:14px}.vtw-spec-box span{color:#64748b}.vtw-review{display:flex;gap:13px;padding:18px 0;border-bottom:1px solid #edf2f7}.vtw-review-avatar{width:42px;height:42px;flex:0 0 auto;border-radius:50%;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-weight:800}.vtw-review p{margin:7px 0 0;color:#475569}.vtw-review-form{margin-top:22px;padding-top:20px;border-top:1px solid #e2e8f0}.vtw-review-form label{display:block;font-weight:700;margin:10px 0 6px}.vtw-review-form select,.vtw-review-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px}.vtw-review-form button{margin-top:12px}.vtw-owned-card{height:100%;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}.vtw-owned-image{height:190px;background:#eef2ff;display:grid;place-items:center;overflow:hidden}.vtw-owned-image img{width:100%;height:100%;object-fit:cover}.vtw-owned-image>i{font-size:48px;color:#94a3b8}.vtw-owned-body{padding:20px}.vtw-owned-body>span{font-size:12px;color:#2563eb;text-transform:uppercase;font-weight:700}.vtw-owned-body h3{font-size:19px;margin:8px 0 12px}.vtw-owned-body small{color:#059669}.vtw-owned-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.vtw-owned-actions .btn{font-size:13px;padding:9px 11px}.vtw-footer{background:#0f172a;color:#cbd5e1}.vtw-footer-brand{font-size:26px;font-weight:800;color:#fff}.vtw-footer h6{color:#fff;font-weight:800}.vtw-footer a{display:block;color:#cbd5e1;text-decoration:none;margin:9px 0}.vtw-footer a:hover{color:#60a5fa}.vtw-footer-bottom{border-top:1px solid #273449;margin-top:28px;padding-top:20px;font-size:13px}.product-admin-page .card{border-radius:14px}.product-admin-table th{font-size:12px;color:#64748b;text-transform:uppercase;white-space:nowrap}.product-admin-table td{font-size:13px}.admin-product-title{display:flex;align-items:center;gap:11px;min-width:300px}.admin-product-title img,.admin-product-title>span{width:56px;height:44px;border-radius:8px;object-fit:cover;background:#eef2ff;display:grid;place-items:center}.admin-product-title a{display:block;font-weight:700;color:#0f172a;text-decoration:none;max-width:330px}.admin-product-title small{display:block;color:#64748b;margin-top:3px}.status-dot{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700}.status-published{background:#dcfce7;color:#166534}.status-draft{background:#f1f5f9;color:#475569}.status-hidden{background:#fef3c7;color:#92400e}.status-closed{background:#fee2e2;color:#991b1b}.admin-cat-list>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f7;font-size:13px}.admin-cat-list form{margin:0}.admin-cat-list button{border:0;background:transparent;color:#dc2626}@media(max-width:991.98px){.vtw-hero{padding:48px 0}.vtw-hero-panel{min-height:360px}.vtw-section{padding:50px 0}.vtw-filter-box{position:static}.vtw-action-grid{grid-template-columns:1fr}.vtw-action-grid form,.vtw-action-grid .vtw-primary-action{grid-column:auto}.vtw-buy-points{grid-template-columns:1fr}.vtw-detail-info h1{font-size:28px}.vtw-spec-box{position:static}}@media(max-width:575.98px){.vtw-topbar{display:none}.vtw-header .navbar{min-height:66px}.vtw-brand small{display:none}.vtw-brand-mark{width:38px;height:38px}.vtw-hero h1{font-size:39px;letter-spacing:-1.5px}.vtw-hero-search{display:grid;grid-template-columns:auto 1fr}.vtw-hero-search button{grid-column:1/3;width:100%}.vtw-hero-panel{display:none}.vtw-trust-row{gap:9px;flex-direction:column}.vtw-section-head{align-items:start;flex-direction:column}.vtw-section-head h2{font-size:27px}.vtw-page-hero h1{font-size:32px}.vtw-catalog-search{display:grid;grid-template-columns:auto 1fr}.vtw-catalog-search button{grid-column:1/3}.vtw-catalog-head{align-items:start;gap:12px;flex-direction:column}.vtw-detail-info{padding:20px}.vtw-detail-price strong{font-size:28px}}
/* Themes v6 - trang chủ hiển thị kho sản phẩm trực tiếp */
.product-catalog-v6.is-home-catalog{padding-top:34px!important;background:#f7f9fc;min-height:70vh}.catalog-heading-v6 h1{font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:800;color:#173d68}.catalog-kicker-v6{display:block;color:#ff671d;font-size:.78rem;font-weight:800;letter-spacing:.12em;margin-bottom:5px}.catalog-count-v6{background:#fff;border:1px solid #dfe8f2;border-radius:999px;padding:10px 16px;color:#264f7f;box-shadow:0 7px 22px rgba(35,77,127,.07)}.filter-chip span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;background:rgba(15,76,150,.1);font-size:.72rem;margin-left:4px}.course-title-v2{font-size:1rem!important}@media(max-width:767.98px){.product-catalog-v6.is-home-catalog{padding-top:22px!important}.catalog-count-v6{font-size:.85rem}.catalog-heading-v6 h1{font-size:1.8rem}}

/* Themes Văn Thế Web v7 - danh mục trang chủ, khung ảnh sản phẩm và quản lý danh mục */
.home-category-hub-v7{margin:0 0 28px;padding:22px;background:#fff;border:1px solid #e3eaf3;border-radius:22px;box-shadow:0 15px 42px rgba(30,64,120,.07)}
.home-category-head-v7{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.home-category-head-v7 span{display:block;color:#ff671d;font-size:.74rem;font-weight:800;letter-spacing:.11em}.home-category-head-v7 h2{margin:3px 0 0;font-size:1.35rem;font-weight:800;color:#173d68}.home-category-head-v7>a{font-weight:700;text-decoration:none;white-space:nowrap}
.home-category-grid-v7{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(116px,1fr);gap:10px;overflow-x:auto;padding:2px 1px 9px;scrollbar-width:thin;scroll-snap-type:x proximity}.home-category-item-v7{min-height:142px;padding:12px 9px;border:1px solid #e5ebf2;border-radius:15px;background:#fbfdff;color:#22364f;text-decoration:none;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;scroll-snap-align:start;transition:.18s}.home-category-item-v7:hover,.home-category-item-v7.active{border-color:#74a9ee;background:#eef6ff;color:#0d5db8;transform:translateY(-2px);box-shadow:0 10px 24px rgba(26,92,168,.1)}.home-category-image-v7{width:68px;height:68px;border-radius:15px;background:#fff;border:1px solid #e5ebf2;display:grid;place-items:center;overflow:hidden;margin-bottom:9px}.home-category-image-v7 img{width:100%;height:100%;object-fit:contain;padding:4px}.home-category-image-v7 i{font-size:30px;color:#2877d4}.home-category-image-v7.is-all{background:linear-gradient(135deg,#eaf3ff,#fff3e9)}.home-category-item-v7 strong{font-size:.88rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-category-item-v7 small{font-size:.7rem;color:#7a899a;margin-top:4px}.catalog-current-category-v7{display:flex;align-items:center;gap:12px;color:#526579;font-size:.9rem}.catalog-current-category-v7 a{font-weight:700;text-decoration:none}

.product-catalog-v6 .course-thumb-v2{aspect-ratio:1/1!important;background:#f8fafc!important;padding:8px!important;border-bottom:1px solid #edf1f6!important;position:relative!important;overflow:hidden!important}.product-catalog-v6 .course-thumb-link-v2{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;border-radius:10px!important;overflow:hidden!important;background:#fff!important}.product-catalog-v6 .course-thumb-v2 img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important}.product-catalog-v6 .course-thumb-v2 .course-badge-v2{top:14px!important;left:14px!important;right:auto!important;bottom:auto!important;width:auto!important;height:auto!important;min-width:58px!important;padding:7px 11px!important;border-radius:999px!important;transform:none!important;color:#fff!important;font-size:.74rem!important;line-height:1!important;letter-spacing:.1px!important;box-shadow:0 7px 18px rgba(15,23,42,.2)!important}.product-catalog-v6 .course-thumb-v2 .course-badge-v2.is-discount{background:#ef4444!important;color:#fff!important}.product-catalog-v6 .course-thumb-v2 .course-badge-v2.is-free{background:#16a34a!important;color:#fff!important}.product-grid-v7 .course-card-v2{border:1px solid #e5ebf2;border-radius:18px}.product-grid-v7 .course-body-v2{padding:16px 16px 66px}

.vtw-detail-media-shell-v7{width:100%;max-width:680px;margin:0 auto}.vtw-detail-image{aspect-ratio:1/1!important;background:#fff!important;padding:0!important;border-radius:22px!important}.vtw-detail-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;display:block}.vtw-detail-image .vtw-sale{left:16px!important;top:16px!important;right:auto!important;bottom:auto!important;border-radius:999px!important;padding:8px 13px!important;font-size:.82rem!important;box-shadow:0 8px 18px rgba(127,29,29,.22)}.vtw-gallery button{width:76px!important;height:76px!important;background:#fff!important}.vtw-gallery img{object-fit:contain!important}.vtw-product-image{aspect-ratio:1/1!important;background:#fff!important;padding:7px}.vtw-product-image img{object-fit:contain!important;transform:none!important}.vtw-product-card:hover .vtw-product-image img{transform:none!important}.vtw-rich-content{font-size:1rem;line-height:1.75}.vtw-rich-content p{margin:0 0 1rem}.vtw-rich-content h1,.vtw-rich-content h2,.vtw-rich-content h3,.vtw-rich-content h4{line-height:1.3;color:#273c57;margin:1.45rem 0 .8rem}.vtw-rich-content h1{font-size:2rem}.vtw-rich-content h2{font-size:1.65rem}.vtw-rich-content h3{font-size:1.35rem}.vtw-rich-content h4{font-size:1.15rem}.vtw-rich-content ul,.vtw-rich-content ol{padding-left:1.4rem;margin-bottom:1rem}.vtw-rich-content table{width:100%;border-collapse:collapse;margin:1rem 0}.vtw-rich-content th,.vtw-rich-content td{border:1px solid #dbe4ee;padding:9px 11px}.vtw-rich-content img{display:block;max-width:100%;height:auto;margin:1rem auto;border-radius:12px}

.admin-product-title img{object-fit:contain!important;background:#f8fafc!important}

@media(max-width:767.98px){.home-category-hub-v7{padding:16px;border-radius:17px}.home-category-grid-v7{grid-auto-columns:108px}.home-category-item-v7{min-height:132px}.home-category-image-v7{width:60px;height:60px}.catalog-filter-row-v7{align-items:stretch!important}.catalog-current-category-v7{width:100%;justify-content:space-between}.vtw-detail-image .vtw-sale{left:12px!important;top:12px!important}}

/* V9 - Danh mục không tràn chữ, icon phù hợp; giá và giỏ hàng cùng một hàng. */
.home-category-item-v7{min-width:0;overflow:hidden}.home-category-name-v9{width:100%;min-height:2.5em;display:flex!important;align-items:center;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;font-size:.88rem!important;line-height:1.22!important;-webkit-line-clamp:unset!important}.home-category-name-v9.is-long{font-size:.78rem!important;line-height:1.18!important}.home-category-name-v9.is-extra-long{font-size:.68rem!important;line-height:1.13!important;letter-spacing:-.01em}.product-grid-v7 .course-body-v2{padding-bottom:16px!important}.course-price-actions-v9{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:5px}.course-price-actions-v9 .course-price-row{min-width:0;flex:1;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;margin:0}.product-catalog-v6 .course-card-cart-yellow{position:static!important;right:auto!important;bottom:auto!important;flex:0 0 46px;width:46px;height:46px;border-radius:14px}.product-catalog-v6 .course-body-v2{display:flex;flex-direction:column}.product-catalog-v6 .course-rating{margin-bottom:4px}
@media(max-width:767.98px){.home-category-name-v9{font-size:.8rem!important}.home-category-name-v9.is-long{font-size:.71rem!important}.home-category-name-v9.is-extra-long{font-size:.63rem!important}.product-catalog-v6 .course-card-cart-yellow{flex-basis:42px;width:42px;height:42px}}
.vtw-rich-content h1,.vtw-rich-content h2,.vtw-rich-content h3,.vtw-rich-content h4,.vtw-rich-content h5,.vtw-rich-content h6{line-height:1.3}.vtw-rich-content table{max-width:100%;border-collapse:collapse}.vtw-rich-content th,.vtw-rich-content td{border:1px solid #dbe3ee;padding:8px}.vtw-rich-content iframe{max-width:100%}.vtw-rich-content pre{max-width:100%;overflow:auto;white-space:pre-wrap}.vtw-rich-content font{max-width:100%}
/* Themes Văn Thế Web v11 - danh mục 2 cấp cho Plugin và Mẫu Website */
.home-category-grid-v11{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));overflow:visible;align-items:start}
.home-category-group-v11{position:relative;min-width:0}
.home-category-group-v11>summary{list-style:none;cursor:pointer;width:100%}
.home-category-group-v11>summary::-webkit-details-marker{display:none}
.home-category-group-v11.active>summary,.home-category-group-v11[open]>summary{border-color:#74a9ee;background:#eef6ff;color:#0d5db8;box-shadow:0 10px 24px rgba(26,92,168,.1)}
.home-category-child-count-v11{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:5px;color:#2877d4;font-size:.68rem;font-weight:700;line-height:1.1}
.home-category-child-count-v11 i{font-size:.65rem;transition:transform .18s}
.home-category-group-v11[open] .home-category-child-count-v11 i{transform:rotate(180deg)}
.home-category-submenu-v11{position:absolute;z-index:40;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:min(660px,calc(100vw - 48px));padding:16px;background:#fff;border:1px solid #dbe5f0;border-radius:17px;box-shadow:0 24px 55px rgba(15,42,75,.2);text-align:left}
.home-category-submenu-v11:before{content:"";position:absolute;top:-7px;left:50%;width:13px;height:13px;background:#fff;border-left:1px solid #dbe5f0;border-top:1px solid #dbe5f0;transform:translateX(-50%) rotate(45deg)}
.home-category-submenu-head-v11{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 12px;border-bottom:1px solid #edf2f7;color:#173d68}
.home-category-submenu-head-v11 a{font-size:.78rem;font-weight:800;text-decoration:none;white-space:nowrap}
.home-category-subgrid-v11{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.home-category-child-v11{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px;border:1px solid #e6edf5;border-radius:12px;color:#263b54;text-decoration:none;background:#fbfdff;transition:.16s}
.home-category-child-v11:hover,.home-category-child-v11.active{border-color:#80afe8;background:#eff7ff;color:#0e5eae;transform:translateY(-1px)}
.home-category-child-v11>span{grid-row:1/3;width:42px;height:42px;border-radius:11px;background:#eaf3ff;display:grid;place-items:center;color:#2474cf;font-size:20px}
.home-category-child-v11 b{min-width:0;font-size:.79rem;line-height:1.18;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.home-category-child-v11 b.is-long{font-size:.72rem}.home-category-child-v11 b.is-extra-long{font-size:.66rem}
.home-category-child-v11 small{font-size:.66rem;color:#7b8b9c;margin-top:3px}
.category-filter-group-v11 .filter-chip{border-radius:999px 0 0 999px;margin:0}
.category-filter-toggle-v11{width:34px!important;padding:0!important;border-left:1px solid rgba(37,99,235,.15)!important;border-radius:0 999px 999px 0!important}
.category-filter-menu-v11{min-width:265px;padding:7px;border:1px solid #dfe8f2;border-radius:13px;box-shadow:0 16px 38px rgba(15,42,75,.15)}
.category-filter-menu-v11 .dropdown-item{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:8px;padding:9px 10px;font-size:.84rem}
.category-filter-menu-v11 .dropdown-item i{color:#2877d4}.category-filter-menu-v11 .dropdown-item span{white-space:normal;overflow-wrap:anywhere}.category-filter-menu-v11 .dropdown-item small{color:#7c8da0}
@media(max-width:991.98px){.home-category-subgrid-v11{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.home-category-grid-v11{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-category-group-v11[open]{grid-column:1/-1}.home-category-group-v11[open]>summary{max-width:calc(50% - 5px)}.home-category-submenu-v11{position:static;transform:none;width:100%;margin-top:9px;padding:12px}.home-category-submenu-v11:before{display:none}.home-category-subgrid-v11{grid-template-columns:1fr}.category-card-depth-1{padding-left:0}.category-filter-tree-v11{width:100%}}
.public-category-dropdown-v11{min-width:300px;max-height:min(70vh,620px);overflow:auto;padding:8px;border:1px solid #dfe7f1;border-radius:14px;box-shadow:0 18px 45px rgba(15,42,75,.16)}
.public-category-dropdown-v11 .dropdown-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border-radius:9px;font-size:.86rem;color:#334155}
.public-category-dropdown-v11 .dropdown-item:hover{background:#eef6ff;color:#0e5eae}.public-category-dropdown-v11 .dropdown-item i{font-size:18px;color:#2877d4}.public-category-dropdown-v11 .dropdown-item span{white-space:normal;overflow-wrap:anywhere}.public-category-dropdown-v11 .dropdown-item small{font-size:.68rem;color:#8190a0}.public-category-all-v11{font-weight:800}
@media(max-width:991.98px){.public-category-dropdown-v11{min-width:100%;max-height:none;box-shadow:none;border-radius:10px;background:#f8fbff}.public-category-menu-v11>.nav-link{display:flex;justify-content:space-between}}

/* ===== Nguồn hợp nhất: theme-light-green-v13.css ===== */
/* Themes Văn Thế Web v13 — nền xám trắng, xanh lá chủ đạo, màu tối chỉ dùng cho chữ. */
:root{
  --vtw-page:#f2f6f3;
  --vtw-page-alt:#eaf1ec;
  --vtw-surface:#ffffff;
  --vtw-surface-soft:#f8fbf9;
  --vtw-green:#22a447;
  --vtw-green-strong:#14883a;
  --vtw-green-deep:#0f6f31;
  --vtw-green-soft:#e7f7ec;
  --vtw-green-pale:#f1fbf4;
  --vtw-green-ring:rgba(34,164,71,.17);
  --vtw-text:#202b24;
  --vtw-heading:#17211b;
  --vtw-muted:#68766d;
  --vtw-border:#d9e4dc;
  --vtw-border-strong:#bfd4c4;
  --vtw-danger:#dc3545;
  --vtw-warning:#d98900;
  --vtw-shadow:0 12px 34px rgba(28,74,42,.09);
  --vtw-shadow-soft:0 6px 20px rgba(28,74,42,.07);
  --bs-primary:#22a447;
  --bs-primary-rgb:34,164,71;
  --bs-link-color:#14883a;
  --bs-link-hover-color:#0f6f31;
  --bs-body-bg:#f2f6f3;
  --bs-body-color:#202b24;
}
html,body{background:var(--vtw-page)!important;color:var(--vtw-text)!important}
body,.vtw-body,.main-content,.admin-body,.admin-v2-body,.admin-v2-shell,.admin-v2-content{background:var(--vtw-page)!important;color:var(--vtw-text)!important}
a{color:var(--vtw-green-strong)}a:hover{color:var(--vtw-green-deep)}
h1,h2,h3,h4,h5,h6,.text-dark{color:var(--vtw-heading)!important}
.text-muted,.small.text-muted,.form-text,.text-secondary{color:var(--vtw-muted)!important}
.brand-orange,.brand-blue,.brand-green{color:var(--vtw-green)!important}
.bg-white{background:var(--vtw-surface)!important}.bg-light{background:var(--vtw-surface-soft)!important}
.border,.border-top,.border-bottom,.border-start,.border-end{border-color:var(--vtw-border)!important}

/* Thanh điều hướng công khai */
.main-navbar,.navbar,.vtw-header .navbar{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--vtw-border)!important;box-shadow:0 7px 22px rgba(30,72,43,.08)!important;backdrop-filter:blur(12px)}
.main-navbar .navbar-brand,.main-navbar .nav-link,.main-navbar .navbar-toggler,.main-navbar .nav-cart-btn,.public-avatar-name{color:var(--vtw-heading)!important}
.main-navbar .nav-link{font-weight:700!important}
.main-navbar .nav-link:hover,.main-navbar .nav-link:focus,.main-navbar .nav-link.show{color:var(--vtw-green-strong)!important}
.main-navbar .nav-link:after{color:var(--vtw-green)!important}
.nav-search .form-control,.mobile-guest-search .form-control{background:#fff!important;border-color:var(--vtw-border)!important;color:var(--vtw-text)!important}
.nav-search .form-control::placeholder,.mobile-guest-search .form-control::placeholder{color:#8a968e!important}
.nav-search .btn,.nav-mobile-search-btn,.nav-mobile-menu-btn,.nav-cart-btn{background:var(--vtw-green-soft)!important;border-color:#c9e5d1!important;color:var(--vtw-green-strong)!important}
.nav-search .btn:hover,.nav-mobile-search-btn:hover,.nav-mobile-menu-btn:hover,.nav-cart-btn:hover{background:var(--vtw-green)!important;border-color:var(--vtw-green)!important;color:#fff!important}
.nav-login-btn{color:var(--vtw-green-strong)!important;border-color:var(--vtw-green)!important;background:#fff!important}
.nav-register-btn,.mobile-guest-register{background:var(--vtw-green)!important;border-color:var(--vtw-green)!important;color:#fff!important}
.nav-cart-count{background:var(--vtw-danger)!important;color:#fff!important}
.dropdown-menu,.public-category-dropdown-v11,.public-user-menu,.public-notification-menu{background:#fff!important;border:1px solid var(--vtw-border)!important;color:var(--vtw-text)!important;box-shadow:0 20px 48px rgba(29,65,40,.16)!important}
.dropdown-item{color:var(--vtw-text)!important}.dropdown-item:hover,.dropdown-item:focus,.dropdown-item.active{background:var(--vtw-green-soft)!important;color:var(--vtw-green-deep)!important}
.dropdown-divider{border-color:var(--vtw-border)!important}
.public-user-menu .user-menu-profile,.public-notification-head,.public-notification-item{border-color:var(--vtw-border)!important}
.public-notification-item.unread{background:var(--vtw-green-pale)!important}
.public-membership-status.is-free{background:#eef2ef!important;color:#536159!important}.public-membership-status.is-premium{background:var(--vtw-green-soft)!important;color:var(--vtw-green-deep)!important}

/* Trang danh sách sản phẩm */
.product-catalog-v6{background:linear-gradient(180deg,#f8fbf9 0,var(--vtw-page) 100%)!important}
.catalog-heading-v6 h1,.home-category-head-v7 h2,.course-title-v2,.course-title-v2 a{color:var(--vtw-heading)!important}
.catalog-kicker-v6,.home-category-head-v7>div>span{color:var(--vtw-green-strong)!important}
.catalog-count-v6{background:var(--vtw-green-soft)!important;border-color:#c8e5d0!important;color:var(--vtw-green-deep)!important}
.product-catalog-search .input-group-text,.product-catalog-search .form-control{background:#fff!important;border-color:var(--vtw-border)!important;color:var(--vtw-text)!important}
.product-catalog-search .form-control::placeholder{color:#8a968e!important}
.product-catalog-search .btn,.btn-primary,.vtw-primary-action,.vt-cta-btn,.courses-cart-link-btn{background:var(--vtw-green)!important;border-color:var(--vtw-green)!important;color:#fff!important;font-weight:800!important;box-shadow:0 7px 18px rgba(34,164,71,.18)!important}
.product-catalog-search .btn:hover,.btn-primary:hover,.vtw-primary-action:hover,.vt-cta-btn:hover,.courses-cart-link-btn:hover{background:var(--vtw-green-strong)!important;border-color:var(--vtw-green-strong)!important;color:#fff!important}
.home-category-hub-v7{background:#fff!important;border-color:var(--vtw-border)!important;box-shadow:var(--vtw-shadow)!important}
.home-category-item-v7{background:var(--vtw-surface-soft)!important;border-color:var(--vtw-border)!important;color:var(--vtw-text)!important}
.home-category-item-v7:hover,.home-category-item-v7.active,.home-category-group-trigger-v12.is-open{background:var(--vtw-green-soft)!important;border-color:var(--vtw-green)!important;color:var(--vtw-green-deep)!important;box-shadow:0 10px 24px rgba(34,164,71,.12)!important}
.home-category-image-v7{background:#fff!important;border-color:#d6e7db!important;color:var(--vtw-green)!important}
.home-category-item-v7 small,.home-category-child-v12 small{color:var(--vtw-muted)!important}
.home-category-child-count-v12{color:var(--vtw-green-strong)!important}
.home-category-panels-v12{margin-top:14px}
.home-category-submenu-v12{background:#fff!important;border:1px solid var(--vtw-border)!important;border-radius:18px;padding:18px;box-shadow:var(--vtw-shadow)!important}
.home-category-submenu-head-v12{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--vtw-border)}
.home-category-submenu-head-v12>div{display:flex;flex-direction:column;gap:3px}.home-category-submenu-head-v12 span{color:var(--vtw-green-strong);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.home-category-submenu-head-v12 b{font-size:1.12rem;color:var(--vtw-heading)}
.home-category-submenu-head-v12 a{text-decoration:none;font-weight:800;color:var(--vtw-green-strong);white-space:nowrap}
.home-category-subgrid-v12{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:14px}
.home-category-child-v12{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-items:center;min-width:0;padding:12px;background:var(--vtw-surface-soft);border:1px solid var(--vtw-border);border-radius:13px;color:var(--vtw-text);text-decoration:none;transition:.18s}
.home-category-child-v12:hover,.home-category-child-v12.active{background:var(--vtw-green-soft);border-color:var(--vtw-green);color:var(--vtw-green-deep);transform:translateY(-1px)}
.home-category-child-v12>span{grid-row:1/3;width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--vtw-green);border:1px solid #d8e9dd;font-size:21px}
.home-category-child-v12 b{min-width:0;font-size:.82rem;line-height:1.2;overflow-wrap:anywhere;word-break:break-word}.home-category-child-v12 b.is-long{font-size:.74rem}.home-category-child-v12 b.is-extra-long{font-size:.67rem}
.home-category-group-trigger-v12{appearance:none;width:100%;font:inherit;text-align:center;cursor:pointer}.home-category-group-trigger-v12 .bi-chevron-down{transition:transform .18s}.home-category-group-trigger-v12.is-open .bi-chevron-down{transform:rotate(180deg)}
.filter-chip,.sort-dropdown .btn{background:#fff!important;border-color:var(--vtw-border)!important;color:var(--vtw-text)!important}.filter-chip:hover,.filter-chip.active,.sort-dropdown .btn:hover{background:var(--vtw-green-soft)!important;border-color:var(--vtw-green)!important;color:var(--vtw-green-deep)!important}
.category-filter-menu-v11{background:#fff!important;border-color:var(--vtw-border)!important}
.course-card-v2{background:#fff!important;border-color:var(--vtw-border)!important;box-shadow:var(--vtw-shadow-soft)!important}
.course-card-v2:hover{border-color:#91cda0!important;box-shadow:0 17px 38px rgba(30,82,45,.14)!important}
.course-thumb-v2{background:#f6f8f7!important}.course-instructor,.course-rating,.price-strike{color:var(--vtw-muted)!important}
.course-price-row strong,.brand-orange{color:var(--vtw-green-strong)!important}.course-card-cart-yellow{background:var(--vtw-green)!important;color:#fff!important;box-shadow:0 8px 20px rgba(34,164,71,.22)!important}
.course-card-cart-yellow:hover{background:var(--vtw-green-strong)!important;color:#fff!important}
.course-card-demo-v12{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:10px;padding:9px 12px;border:1px solid #8ac99a;border-radius:10px;background:var(--vtw-green-pale);color:var(--vtw-green-deep)!important;text-decoration:none;font-size:.82rem;font-weight:800;transition:.18s}
.course-card-demo-v12:hover{background:var(--vtw-green);color:#fff!important;border-color:var(--vtw-green)}
.course-badge-v2.is-discount{background:#ef4444!important;color:#fff!important}.course-badge-v2.is-free{background:var(--vtw-green)!important;color:#fff!important}

/* Chi tiết sản phẩm, giỏ hàng, tài khoản */
.vtw-product-detail,.vtw-section,.vtw-related,.vtw-benefits,.vtw-category-section,.vtw-page-hero,.profile-page,.checkout-page{background:var(--vtw-page)!important;color:var(--vtw-text)!important}
.vtw-detail-info,.vtw-content-card,.vtw-side-card,.vtw-owned-card,.vtw-empty,.card,.modal-content,.offcanvas,.accordion-item,.list-group-item,.checkout-card,.profile-card{background:#fff!important;border-color:var(--vtw-border)!important;color:var(--vtw-text)!important;box-shadow:var(--vtw-shadow-soft)}
.vtw-detail-info h1,.vtw-content-card h2,.vtw-content-card h3,.vtw-content-card h4,.vtw-owned-body h3,.modal-title{color:var(--vtw-heading)!important}
.vtw-rich-content,.vtw-rich-content p,.vtw-short-description{color:#334139}.vtw-rich-content h1,.vtw-rich-content h2,.vtw-rich-content h3,.vtw-rich-content h4{color:var(--vtw-heading)}.vtw-rich-content a{color:var(--vtw-green-strong)}
.vtw-rich-content th,.vtw-rich-content td{border-color:var(--vtw-border)!important}
.vtw-secondary-action,.btn-outline-primary,.btn-outline-secondary{background:#fff!important;border-color:#84c394!important;color:var(--vtw-green-strong)!important}.vtw-secondary-action:hover,.btn-outline-primary:hover,.btn-outline-secondary:hover{background:var(--vtw-green-soft)!important;color:var(--vtw-green-deep)!important}
.btn-success{background:var(--vtw-green)!important;border-color:var(--vtw-green)!important;color:#fff!important}.btn-success:hover{background:var(--vtw-green-strong)!important;border-color:var(--vtw-green-strong)!important}
.btn-dark{background:#31503a!important;border-color:#31503a!important;color:#fff!important}.btn-dark:hover{background:#23402c!important;border-color:#23402c!important}
.form-control,.form-select,.form-check-input,textarea,input,select{background-color:#fff!important;border-color:var(--vtw-border-strong)!important;color:var(--vtw-text)!important}.form-control:focus,.form-select:focus,textarea:focus,input:focus,select:focus{border-color:var(--vtw-green)!important;box-shadow:0 0 0 .2rem var(--vtw-green-ring)!important}.form-control::placeholder,textarea::placeholder{color:#89958d!important}
.form-check-input:checked{background-color:var(--vtw-green)!important;border-color:var(--vtw-green)!important}
.table{--bs-table-bg:#fff;--bs-table-color:var(--vtw-text);--bs-table-border-color:var(--vtw-border);--bs-table-striped-bg:#f7faf8;--bs-table-hover-bg:var(--vtw-green-pale);color:var(--vtw-text)!important}.table thead th{background:#eaf5ed!important;color:var(--vtw-green-deep)!important;border-color:var(--vtw-border)!important}.table td{border-color:var(--vtw-border)!important}
.alert-info{background:#eef8ff!important;border-color:#c8e1f2!important;color:#24506a!important}.alert-success{background:var(--vtw-green-soft)!important;border-color:#a8d8b4!important;color:#176f35!important}.alert-danger{background:#fff0f1!important;border-color:#f2b8bd!important;color:#a52734!important}.alert-warning{background:#fff8e7!important;border-color:#eed69c!important;color:#7e5b0b!important}

/* Footer */
footer,.site-footer,.vtw-footer{background:#176f35!important;color:#eaf8ee!important;border-color:#176f35!important}footer a,.site-footer a,.vtw-footer a{color:#fff!important}footer .text-muted,.site-footer .text-muted,.vtw-footer .text-muted{color:#d7efdd!important}

/* Khu vực quản trị */
.admin-v2-header,.admin-v2-navbar,.admin-v2-topbar,.admin-v2-nav{background:#fff!important;border-color:var(--vtw-border)!important;box-shadow:0 7px 22px rgba(30,72,43,.09)!important}
.admin-v2-brand,.admin-v2-main-menu .nav-pill,.admin-v2-icon-btn,.admin-v2-mobile-settings-link,.admin-v2-menu-toggle{color:var(--vtw-heading)!important}
.admin-v2-main-menu .nav-pill:hover,.admin-v2-main-menu .nav-pill.active,.admin-v2-main-menu .nav-pill.show{background:var(--vtw-green-soft)!important;color:var(--vtw-green-deep)!important}
.admin-v2-main-menu .dropdown-menu{background:#fff!important;border-color:var(--vtw-border)!important}
.admin-v2-content,.admin-v2-shell{background:var(--vtw-page)!important}
.admin-v2-main-panel,.admin-v2-hub-card,.admin-v2-stat-box,.admin-v2-panel-card,.admin-v2-table-card,.card-like,.settings-layout,.settings-content,.settings-sidebar,.student-admin-main,.student-admin-side,.admin-order-card,.admin-product-card,.woocommerce-sync-card,.sync-card,.review-manager-v335 .settings-content{background:#fff!important;border-color:var(--vtw-border)!important;color:var(--vtw-text)!important;box-shadow:var(--vtw-shadow-soft)!important}
.admin-v2-page-head h1,.admin-v2-page-head h2,.admin-v2-hub-title h2,.admin-v2-panel-card h3,.settings-content h1,.settings-content h2,.settings-content h3,.student-admin-main h1,.student-admin-main h2{color:var(--vtw-heading)!important}
.admin-breadcrumb,.admin-breadcrumb a{color:var(--vtw-green-strong)!important}
.hub-link{background:var(--vtw-surface-soft)!important;border-color:var(--vtw-border)!important;color:var(--vtw-text)!important}.hub-link:hover{background:var(--vtw-green-soft)!important;border-color:var(--vtw-green)!important}.hub-link i{color:var(--vtw-green)!important}.hub-link small{color:var(--vtw-muted)!important}
.admin-v2-stat-box .stat-square{background:var(--vtw-green-soft)!important;color:var(--vtw-green)!important}.admin-v2-stat-box .stat-number{color:var(--vtw-heading)!important}.admin-v2-stat-box .stat-label{color:var(--vtw-muted)!important}
.settings-menu-item{color:var(--vtw-text)!important}.settings-menu-item:hover,.settings-menu-item.active{background:var(--vtw-green-soft)!important;color:var(--vtw-green-deep)!important}
.admin-v2-table,.students-list-page table,.orders-page table{background:#fff!important;color:var(--vtw-text)!important}.admin-v2-table thead th{background:#e7f4ea!important;color:var(--vtw-green-deep)!important}.admin-v2-table tbody tr:hover{background:var(--vtw-green-pale)!important}
.status-pill.open,.badge.bg-success{background:#dff5e5!important;color:#147535!important}.status-pill.closed,.badge.bg-danger{background:#fde5e7!important;color:#a92e39!important}
.admin-v2-toolbar .btn,.admin-v2-page-head .btn,.settings-save-button,.hub-main-btn{border-color:#79bb8a!important}.hub-main-btn,.settings-save-button{background:var(--vtw-green)!important;color:#fff!important;border-color:var(--vtw-green)!important}
.dot-menu{color:var(--vtw-green-strong)!important}.action-dropdown{background:#fff!important;border-color:var(--vtw-border)!important}
.admin-notification-menu,.admin-v2-user-menu{background:#fff!important;border-color:var(--vtw-border)!important;color:var(--vtw-text)!important}.admin-notification-head,.admin-notification-item{border-color:var(--vtw-border)!important}.admin-notification-item.unread{background:var(--vtw-green-pale)!important}
.admin-notification-item strong,.admin-v2-user-menu strong,.admin-v2-user-menu .dropdown-item{color:var(--vtw-text)!important}.admin-notification-item em,.admin-notification-item small,.admin-v2-user-menu span{color:var(--vtw-muted)!important}
.admin-v2-user-menu .text-danger{color:var(--vtw-danger)!important}
.chart-wrap canvas{filter:none}

/* Đồng bộ WordPress */
.wc-sync-page,.woocommerce-sync-page{color:var(--vtw-text)!important}.sync-stat-card,.wc-sync-stat,.sync-connection-card,.sync-run-card,.sync-history-card{background:#fff!important;border-color:var(--vtw-border)!important;color:var(--vtw-text)!important;box-shadow:var(--vtw-shadow-soft)!important}.progress{background:#dfe9e2!important}.progress-bar{background:linear-gradient(90deg,var(--vtw-green-strong),#48bf68)!important}


/* Nhận diện tài khoản đồng bộ xanh lá */
.public-avatar-ring.is-free::before,.pu-mini-avatar-ring.is-free::before,.public-avatar-ring.is-premium::before,.pu-mini-avatar-ring.is-premium::before{background:linear-gradient(135deg,#bfe8c9 0%,#22a447 55%,#0f6f31 100%)!important}
.public-avatar-ring.is-premium::after,.pu-mini-avatar-ring.is-premium::after{background:linear-gradient(135deg,rgba(132,222,153,.7),rgba(34,164,71,.12))!important}
.public-avatar-ring.is-free .public-avatar-tier-icon,.pu-mini-avatar-ring.is-free .pu-mini-tier-icon,.public-avatar-ring.is-premium .public-avatar-tier-icon,.pu-mini-avatar-ring.is-premium .pu-mini-tier-icon{background:var(--vtw-green)!important;color:#fff!important}
.pu-membership-line.is-free,.pu-membership-line.is-premium{background:var(--vtw-green-soft)!important;border-color:#b9dfc3!important;color:var(--vtw-green-deep)!important}
.public-user-menu .pu-admin-link,.public-user-menu .pu-admin-link i{color:var(--vtw-green-strong)!important}.public-user-menu .pu-admin-link:hover{background:var(--vtw-green-soft)!important;color:var(--vtw-green-deep)!important}
.admin-avatar-gradient-v273,.admin-avatar-user-v274{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#bfe8c9,#22a447,#0f6f31) border-box!important;box-shadow:0 6px 16px rgba(34,164,71,.16)!important}

/* Các lớp nền tối còn sót từ giao diện cũ */
[class*="bg-dark"],.bg-dark{background:#31503a!important;color:#fff!important}

@media(max-width:1199.98px){.home-category-subgrid-v12{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.home-category-subgrid-v12{grid-template-columns:repeat(2,minmax(0,1fr))}.main-navbar .navbar-collapse{background:#fff!important;border-color:var(--vtw-border)!important;box-shadow:0 14px 30px rgba(29,65,40,.12)!important}}
@media(max-width:575.98px){.home-category-subgrid-v12{grid-template-columns:1fr}.home-category-submenu-head-v12{align-items:flex-start;flex-direction:column}.home-category-submenu-head-v12 a{align-self:flex-end}.course-card-demo-v12{font-size:.78rem}}

/* ===== Nguồn hợp nhất: theme-public-v16.css ===== */
/* Themes Văn Thế Web v16 — tinh gọn danh mục và bổ sung thông tin đồng bộ WordPress. */
:root{
  --vtw-public-green:#16743a;
  --vtw-public-green-dark:#0f5a2c;
  --vtw-public-green-soft:#eaf7ef;
  --vtw-public-ink:#17211b;
  --vtw-public-muted:#68746d;
  --vtw-public-border:#dce7df;
}

/* Icon danh mục đồng nhất theo nhận diện xanh lá đậm. */
.public-category-dropdown-v11 .dropdown-item i,
.public-category-filter-v16 .filter-chip i,
.category-filter-menu-v11 .dropdown-item i,
.category-filter-tree-v11 .bi{
  color:var(--vtw-public-green-dark)!important;
}
.public-category-dropdown-v11 .dropdown-item:hover,
.public-category-dropdown-v11 .dropdown-item:focus,
.category-filter-menu-v11 .dropdown-item:hover,
.category-filter-menu-v11 .dropdown-item:focus{
  color:var(--vtw-public-green-dark)!important;
  background:var(--vtw-public-green-soft)!important;
}
.public-category-dropdown-v11 .dropdown-item.active,
.category-filter-menu-v11 .dropdown-item.active,
.public-category-filter-v16 .filter-chip.active{
  color:#fff!important;
  background:var(--vtw-public-green)!important;
  border-color:var(--vtw-public-green)!important;
}
.public-category-dropdown-v11 .dropdown-item.active i,
.category-filter-menu-v11 .dropdown-item.active i,
.public-category-filter-v16 .filter-chip.active i{
  color:#fff!important;
}
/* Không công khai số lượng sản phẩm trong danh mục. */
.public-category-dropdown-v11 .dropdown-item small,
.category-filter-menu-v11 .dropdown-item small,
.public-category-filter-v16 .category-count,
.vtw-category-card small,
.vtw-category-copy small{
  display:none!important;
}
.public-category-dropdown-v11 .dropdown-item,
.category-filter-menu-v11 .dropdown-item{
  grid-template-columns:28px minmax(0,1fr)!important;
}

/* Thẻ Tool AI gọn sau khi loại bỏ dòng danh mục và đánh giá. */
.course-body-clean-v16{
  display:flex;
  flex-direction:column;
  min-height:210px;
}
.course-body-clean-v16 .course-title-v2{
  margin-bottom:14px;
}
.course-body-clean-v16 .course-card-demo-v12{
  margin-top:auto;
  margin-bottom:12px;
}
.course-body-clean-v16 .course-price-actions-v9{
  margin-top:auto;
}

/* Thông tin đầy đủ được lấy từ payload WordPress. */
.vtw-sold-count-v16{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--vtw-public-green-dark);
  font-weight:700;
}
.vtw-short-description-v16{
  color:var(--vtw-public-ink);
  line-height:1.72;
}
.vtw-short-description-v16 > :last-child{
  margin-bottom:0;
}
.vtw-source-meta-v16{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:18px 0 20px;
}
.vtw-source-meta-v16 span,
.vtw-source-meta-v16 a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:7px 11px;
  border:1px solid #cfe3d5;
  border-radius:10px;
  background:#f6fbf7;
  color:var(--vtw-public-ink);
  font-size:.88rem;
  font-weight:650;
  text-decoration:none;
}
.vtw-source-meta-v16 a:hover{
  color:var(--vtw-public-green-dark);
  border-color:#90c9a2;
  background:var(--vtw-public-green-soft);
}
.vtw-source-meta-v16 i{
  color:var(--vtw-public-green);
}
.vtw-spec-box-v16{
  position:sticky;
  top:96px;
}
.vtw-spec-box-v16 > div{
  align-items:flex-start;
  gap:18px;
}
.vtw-spec-box-v16 > div span{
  flex:0 0 38%;
  color:var(--vtw-public-muted);
}
.vtw-spec-box-v16 > div b{
  flex:1;
  text-align:right;
  overflow-wrap:anywhere;
}
.vtw-rich-content img,
.vtw-short-description-v16 img{
  max-width:100%;
  height:auto;
}
.vtw-rich-content table,
.vtw-short-description-v16 table{
  display:block;
  max-width:100%;
  overflow-x:auto;
}
.vtw-rich-content ul,
.vtw-rich-content ol,
.vtw-short-description-v16 ul,
.vtw-short-description-v16 ol{
  padding-left:1.35rem;
}

@media (max-width:991.98px){
  .vtw-spec-box-v16{position:static}
  .course-body-clean-v16{min-height:190px}
}
@media (max-width:575.98px){
  .vtw-source-meta-v16{gap:7px}
  .vtw-source-meta-v16 span,
  .vtw-source-meta-v16 a{width:100%;justify-content:flex-start}
  .vtw-spec-box-v16 > div{gap:10px}
  .vtw-spec-box-v16 > div span{flex-basis:42%}
}

/* ===== Nguồn hợp nhất: theme-public-v17.css ===== */
/* Themes Văn Thế Web v17 — thẻ sản phẩm gọn, chi tiết cân đối và giỏ hàng xem nhanh. */
:root{
  --vtw-v17-green:#18a64a;
  --vtw-v17-green-dark:#0e6f32;
  --vtw-v17-green-ink:#124f2a;
  --vtw-v17-green-soft:#edf9f1;
  --vtw-v17-border:#d9e8de;
  --vtw-v17-text:#17251c;
  --vtw-v17-muted:#66736b;
}

/* Đồng bộ màu icon trên thanh điều hướng công khai. */
.main-navbar .nav-search .btn,
.main-navbar .nav-cart-btn,
.main-navbar .public-notification-btn,
.main-navbar .nav-mobile-search-btn,
.main-navbar .nav-mobile-menu-btn{
  color:var(--vtw-v17-green-dark)!important;
  background:var(--vtw-v17-green-soft)!important;
  border-color:#c8e5d1!important;
}
.main-navbar .nav-search .btn:hover,
.main-navbar .nav-cart-btn:hover,
.main-navbar .public-notification-btn:hover,
.main-navbar .nav-mobile-search-btn:hover,
.main-navbar .nav-mobile-menu-btn:hover{
  color:#fff!important;
  background:var(--vtw-v17-green)!important;
  border-color:var(--vtw-v17-green)!important;
}
.main-navbar .nav-link:hover,
.main-navbar .nav-link:focus,
.main-navbar .nav-link.active{color:var(--vtw-v17-green-dark)!important}
.main-navbar .nav-cart-count{background:var(--vtw-v17-green-dark)!important;color:#fff!important}

/* Thẻ Tool AI vừa nội dung, không để khoảng trống dọc quá lớn. */
.product-grid-v7>[class*="col-"]{display:flex}
.product-grid-v7 .course-card-v2{
  width:100%;
  height:auto!important;
  min-height:0!important;
  align-self:flex-start;
}
.product-catalog-v6 .course-body-clean-v16{
  min-height:150px!important;
  padding:14px 15px 15px!important;
}
.product-catalog-v6 .course-body-clean-v16 .course-title-v2{
  min-height:2.55em;
  margin:0 0 10px!important;
  font-size:.98rem;
  line-height:1.28;
}
.product-catalog-v6 .course-body-clean-v16 .course-card-demo-v12{
  margin:2px 0 10px!important;
  min-height:36px;
  padding:7px 10px;
}
.product-catalog-v6 .course-body-clean-v16 .course-price-actions-v9{
  margin-top:auto!important;
  padding-top:8px!important;
}
.product-catalog-v6 .course-price-row>strong{color:var(--vtw-v17-green-dark)!important}
.product-catalog-v6 .course-card-cart-yellow{
  color:#fff!important;
  background:var(--vtw-v17-green)!important;
  box-shadow:0 9px 22px rgba(24,166,74,.24)!important;
}
.product-catalog-v6 .course-card-cart-yellow:hover{background:var(--vtw-v17-green-dark)!important}

/* Trang chi tiết chia 5/7, ảnh vừa khung và thông tin đầy đủ nhưng không kéo quá dài. */
.vtw-product-detail-v17{padding-top:22px!important}
.vtw-product-detail-v17 .vtw-detail-media-shell-v7{max-width:520px}
.vtw-product-detail-v17 .vtw-detail-image{border-radius:18px!important;border-color:var(--vtw-v17-border)!important;box-shadow:0 12px 34px rgba(24,70,39,.08)}
.vtw-product-detail-v17 .vtw-detail-info-v17{
  padding:24px 26px!important;
  border-radius:18px!important;
  border-color:var(--vtw-v17-border)!important;
  box-shadow:0 12px 34px rgba(24,70,39,.08)!important;
}
.vtw-product-detail-v17 .vtw-product-cat{color:var(--vtw-v17-green-dark)!important}
.vtw-product-detail-v17 .vtw-detail-info h1{
  color:var(--vtw-v17-text)!important;
  font-size:clamp(1.72rem,2.35vw,2.25rem)!important;
  line-height:1.22!important;
  margin:8px 0 12px!important;
}
.vtw-product-detail-v17 .vtw-detail-rating{
  gap:9px 14px!important;
  padding-bottom:13px;
  border-bottom:1px solid #edf3ef;
  color:var(--vtw-v17-muted)!important;
}
.vtw-product-detail-v17 .vtw-detail-rating>span{display:inline-flex;align-items:center;gap:5px}
.vtw-product-detail-v17 .vtw-detail-rating i:not(.bi-star):not(.bi-star-fill){color:var(--vtw-v17-green)!important}
.vtw-product-detail-v17 .vtw-availability-v17{color:var(--vtw-v17-green-dark)!important;font-weight:700}
.vtw-product-detail-v17 .vtw-detail-price{padding:15px 0!important}
.vtw-product-detail-v17 .vtw-detail-price strong{color:var(--vtw-v17-green-dark)!important;font-size:2rem!important}
.vtw-product-detail-v17 .vtw-detail-price>span{background:var(--vtw-v17-green-soft)!important;color:var(--vtw-v17-green-dark)!important}
.vtw-summary-block-v17{padding:15px 0 4px}
.vtw-summary-block-v17>h2{
  margin:0 0 8px;
  color:var(--vtw-v17-text);
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.vtw-summary-block-v17 .vtw-short-description{padding:0!important;color:#33463a!important;line-height:1.65!important}
.vtw-summary-block-v17 .vtw-short-description p{margin-bottom:.65rem}
.vtw-summary-block-v17 .vtw-short-description ul,
.vtw-summary-block-v17 .vtw-short-description ol{margin:0;padding-left:1.25rem}
.vtw-summary-block-v17 .vtw-short-description li{margin:.34rem 0}
.vtw-product-detail-v17 .vtw-source-meta-v16{margin:13px 0 17px!important;gap:7px!important}
.vtw-product-detail-v17 .vtw-source-meta-v16 span,
.vtw-product-detail-v17 .vtw-source-meta-v16 a{
  min-height:33px!important;
  padding:6px 9px!important;
  font-size:.79rem!important;
  border-radius:9px!important;
}
.vtw-action-grid-v17{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.vtw-action-grid-v17 form,
.vtw-action-grid-v17>.vtw-primary-action{grid-column:1/-1!important}
.vtw-action-grid-v17 .btn{min-height:46px;padding:10px 14px!important}
.vtw-action-grid-v17 .vtw-primary-action{background:var(--vtw-v17-green)!important;border-color:var(--vtw-v17-green)!important}
.vtw-action-grid-v17 .vtw-primary-action:hover{background:var(--vtw-v17-green-dark)!important;border-color:var(--vtw-v17-green-dark)!important}
.vtw-action-grid-v17 .vtw-secondary-action{color:var(--vtw-v17-green-dark)!important;border-color:#a9d7b7!important;background:#fff!important}
.vtw-action-grid-v17 .vtw-secondary-action:hover{background:var(--vtw-v17-green-soft)!important}
.vtw-buy-points-v17{margin-top:16px!important;padding-top:14px!important;gap:9px 16px!important;color:#425348!important}
.vtw-buy-points-v17 span{display:flex;align-items:flex-start;gap:7px}
.vtw-buy-points-v17 i{color:var(--vtw-v17-green)!important;font-size:1rem}

/* Xem nhanh giỏ hàng khi rê chuột trên desktop. */
.public-cart-hover{position:relative;align-items:center;z-index:1080}
.public-cart-hover:after{content:"";position:absolute;top:100%;right:0;width:min(390px,calc(100vw - 28px));height:14px}
.public-cart-hover>.nav-cart-btn{margin:0!important}
.public-cart-preview{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:min(390px,calc(100vw - 28px));
  padding:0;
  color:var(--vtw-v17-text);
  background:#fff;
  border:1px solid var(--vtw-v17-border);
  border-radius:16px;
  box-shadow:0 22px 55px rgba(24,70,39,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
  overflow:hidden;
}
.public-cart-preview:before{content:"";position:absolute;left:0;right:0;top:-15px;height:15px}
.public-cart-hover:hover .public-cart-preview,
.public-cart-hover:focus-within .public-cart-preview{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.public-cart-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e9f0eb;background:#fbfdfb}
.public-cart-preview-head strong{font-size:1rem;color:var(--vtw-v17-text)}
.public-cart-preview-head span{font-size:.78rem;color:var(--vtw-v17-muted)}
.public-cart-preview-list{max-height:350px;overflow:auto;padding:3px 16px}
.public-cart-preview-item{display:grid;grid-template-columns:62px minmax(0,1fr) 30px;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #edf2ee}
.public-cart-preview-item:last-child{border-bottom:0}
.public-cart-preview-thumb{width:62px;height:62px;border:1px solid #e0ebe3;border-radius:10px;background:#f8fbf9;display:grid;place-items:center;overflow:hidden}
.public-cart-preview-thumb img{width:100%;height:100%;object-fit:contain}
.public-cart-preview-thumb span{color:var(--vtw-v17-green);font-size:1.35rem}
.public-cart-preview-copy{min-width:0;display:flex;flex-direction:column;gap:6px}
.public-cart-preview-copy>a{color:var(--vtw-v17-text)!important;font-size:.88rem;font-weight:700;line-height:1.3;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.public-cart-preview-copy>a:hover{color:var(--vtw-v17-green-dark)!important}
.public-cart-preview-copy small{color:var(--vtw-v17-muted)}
.public-cart-preview-copy small strong{color:var(--vtw-v17-green-dark);font-size:.9rem}
.public-cart-preview-remove{width:28px;height:28px;border:1px solid #dce8df;border-radius:50%;background:#fff;color:#87958c;display:grid;place-items:center;padding:0}
.public-cart-preview-remove:hover{border-color:#f1b5b5;background:#fff5f5;color:#dc2626}
.public-cart-preview-empty{min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#7a877f}
.public-cart-preview-empty i{font-size:2rem;color:#9db4a4}
.public-cart-preview-footer{padding:14px 16px 16px;border-top:1px solid #e9f0eb;background:#fbfdfb}
.public-cart-preview-total{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.public-cart-preview-total span{font-weight:700;color:#33463a}
.public-cart-preview-total strong{font-size:1.12rem;color:var(--vtw-v17-green-dark)}
.public-cart-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.public-cart-preview-actions a{min-height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.86rem;font-weight:800}
.public-cart-preview-view{color:var(--vtw-v17-green-dark)!important;background:#fff;border:1px solid #a8d4b4}
.public-cart-preview-view:hover{background:var(--vtw-v17-green-soft)}
.public-cart-preview-checkout{color:#fff!important;background:var(--vtw-v17-green)}
.public-cart-preview-checkout:hover{background:var(--vtw-v17-green-dark)}

@media(max-width:991.98px){
  .product-catalog-v6 .course-body-clean-v16{min-height:138px!important}
  .vtw-product-detail-v17 .vtw-detail-media-shell-v7{max-width:610px}
  .vtw-product-detail-v17 .vtw-detail-info-v17{padding:21px!important}
}
@media(max-width:575.98px){
  .product-catalog-v6 .course-body-clean-v16{min-height:132px!important;padding:12px!important}
  .vtw-action-grid-v17{grid-template-columns:1fr!important}
  .vtw-action-grid-v17>*{grid-column:auto!important}
  .vtw-buy-points-v17{grid-template-columns:1fr!important}
}

/* ===== Nguồn hợp nhất: theme-public-v18.css ===== */
/* Themes Văn Thế Web v18 — thanh công cụ danh mục gọn và icon điều hướng viền đen. */

/* Tool AI + tìm kiếm + sắp xếp nằm trên cùng một hàng. */
.catalog-toolbar-v18{
  display:grid;
  grid-template-columns:minmax(150px,220px) minmax(360px,1fr) auto;
  align-items:end;
  gap:20px;
}
.catalog-title-v18{min-width:0}
.catalog-title-v18 .catalog-kicker-v6{margin-bottom:3px;color:#168744!important}
.catalog-title-v18 h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1;font-weight:900;color:#111!important}
.catalog-search-v18{min-width:0;margin:0}
.catalog-search-v18 .product-catalog-search{width:100%;margin:0;max-width:none}
.catalog-search-v18 .product-catalog-search .form-control{min-width:0}
.catalog-sort-v18{align-self:end}
.catalog-sort-v18>button{height:48px;white-space:nowrap;border-color:#cfd8d2!important;background:#fff!important;color:#111!important}
.catalog-sort-v18>button .text-muted,.catalog-sort-v18>button strong{color:#111!important}

/* Icon tìm kiếm, giỏ hàng và thông báo: nền trắng, viền đen, biểu tượng đen. */
.main-navbar .nav-search .btn,
.main-navbar .nav-cart-btn,
.main-navbar .public-notification-btn,
.main-navbar .nav-mobile-search-btn,
.main-navbar .nav-mobile-menu-btn{
  color:#111!important;
  background:#fff!important;
  border:1.5px solid #111!important;
  box-shadow:0 6px 16px rgba(17,17,17,.08)!important;
}
.main-navbar .nav-search .btn:hover,
.main-navbar .nav-search .btn:focus,
.main-navbar .nav-cart-btn:hover,
.main-navbar .nav-cart-btn:focus,
.main-navbar .public-notification-btn:hover,
.main-navbar .public-notification-btn:focus,
.main-navbar .public-notification-btn[aria-expanded="true"],
.main-navbar .nav-mobile-search-btn:hover,
.main-navbar .nav-mobile-menu-btn:hover{
  color:#fff!important;
  background:#111!important;
  border-color:#111!important;
}
.main-navbar .nav-cart-count{background:#168744!important;color:#fff!important;border-color:#fff!important}

@media(max-width:1199.98px){
  .catalog-toolbar-v18{grid-template-columns:170px minmax(280px,1fr) auto;gap:14px}
  .catalog-search-v18 .product-catalog-search button{padding-left:18px;padding-right:18px}
}
@media(max-width:991.98px){
  .catalog-toolbar-v18{grid-template-columns:1fr auto;align-items:center}
  .catalog-title-v18{grid-column:1/2}
  .catalog-sort-v18{grid-column:2/3;grid-row:1}
  .catalog-search-v18{grid-column:1/3}
}
@media(max-width:575.98px){
  .catalog-toolbar-v18{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .catalog-title-v18{display:flex;align-items:end;justify-content:space-between}
  .catalog-title-v18 h1{font-size:2rem}
  .catalog-search-v18 .product-catalog-search{display:grid;grid-template-columns:auto minmax(0,1fr)}
  .catalog-search-v18 .product-catalog-search button{grid-column:1/3;width:100%}
  .catalog-sort-v18>button{width:100%;justify-content:space-between!important}
}

/* v38: Ẩn riêng tiêu đề Giao Diện Web ở trang danh mục, giữ bố cục còn lại cân đối. */
.catalog-toolbar-no-title-v38{grid-template-columns:minmax(360px,1fr) auto!important;align-items:end}
.catalog-toolbar-no-title-v38 .catalog-search-v18{grid-column:auto!important}
.catalog-toolbar-no-title-v38 .catalog-sort-v18{grid-column:auto!important;grid-row:auto!important}
@media(max-width:991.98px){
  .catalog-toolbar-no-title-v38{grid-template-columns:1fr auto!important;align-items:center!important}
  .catalog-toolbar-no-title-v38 .catalog-search-v18{grid-column:1/3!important}
  .catalog-toolbar-no-title-v38 .catalog-sort-v18{grid-column:2/3!important;grid-row:1!important}
}
@media(max-width:575.98px){
  .catalog-toolbar-no-title-v38{display:flex!important;flex-direction:column!important;align-items:stretch!important}
}


/* V39: bỏ tiêu đề lớn ở toàn bộ trang danh mục, giữ nguyên vị trí tìm kiếm và sắp xếp. */
.catalog-toolbar-title-hidden-v39 .catalog-title-hidden-v39{
  visibility:hidden!important;
  pointer-events:none!important;
}

/* ===== Nguồn hợp nhất: theme-public-v20.css ===== */
/* Văn Thế Web Tools v20 — tinh gọn trang chi tiết sản phẩm số */
.vtw-product-detail-v20{
  background:#f7faf8;
  padding:24px 0 44px;
}
.vtw-product-detail-v20 .vtw-breadcrumb{
  margin-bottom:18px;
}
.vtw-detail-layout-v20{
  --bs-gutter-x:2rem;
}
.vtw-product-detail-v20 .vtw-detail-media-shell-v7{
  max-width:510px;
}
.vtw-product-detail-v20 .vtw-detail-image{
  border-radius:20px!important;
  border:1px solid #d7e7dc!important;
  box-shadow:0 14px 36px rgba(21,73,39,.08);
}
.vtw-product-detail-v20 .vtw-detail-info-v20{
  padding:24px 26px!important;
  border-radius:20px!important;
  border:1px solid #d7e7dc!important;
  box-shadow:0 14px 36px rgba(21,73,39,.07)!important;
}
.vtw-product-detail-v20 .vtw-detail-info-v20 h1{
  margin:0 0 12px!important;
  font-size:clamp(1.75rem,2.5vw,2.45rem)!important;
  line-height:1.2!important;
  letter-spacing:-.025em;
  color:#16231b!important;
}
.vtw-detail-rating-v20{
  display:flex;
  align-items:center;
  gap:10px 14px!important;
  padding-bottom:14px;
  border-bottom:1px solid #e7eee9;
  color:#58665d!important;
}
.vtw-detail-rating-v20>span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.vtw-detail-rating-v20 .vtw-sold-count-v20{
  color:#146c35!important;
  font-weight:700;
}
.vtw-product-detail-v20 .vtw-detail-price{
  padding:17px 0!important;
  border-bottom:1px solid #e7eee9!important;
}
.vtw-product-detail-v20 .vtw-detail-price strong{
  font-size:clamp(1.9rem,3vw,2.65rem)!important;
  color:#078735!important;
}
.vtw-product-detail-v20 .vtw-detail-price del{
  font-size:1.05rem!important;
}
.vtw-product-detail-v20 .vtw-detail-price>span{
  color:#176b34!important;
  background:#e9f7ed!important;
  border-radius:999px!important;
  padding:6px 11px!important;
}
.vtw-summary-block-v20{
  padding:15px 0 7px;
}
.vtw-summary-list-v20{
  margin:0;
  padding-left:1.35rem;
  color:#26352c;
  font-size:1rem;
  line-height:1.62;
}
.vtw-summary-list-v20 li{
  margin:.42rem 0;
  padding-left:.15rem;
}
.vtw-summary-list-v20 li::marker{
  color:#109342;
  font-size:1.05em;
}
.vtw-source-meta-v20{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px 0 4px;
}
.vtw-source-meta-v20 a,
.vtw-source-meta-v20 span{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border:1px solid #d5e6da;
  border-radius:10px;
  color:#203028;
  background:#fbfdfb;
  text-decoration:none;
  font-size:.88rem;
  font-weight:600;
}
.vtw-source-meta-v20 i{
  color:#0b8b3b;
}
.vtw-action-area-v20{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #e7eee9;
}
.vtw-add-cart-form-v20{
  margin:0;
}
.vtw-action-compact-v20{
  width:auto!important;
  min-width:150px;
  min-height:43px!important;
  padding:9px 16px!important;
  border-radius:10px!important;
  font-size:.95rem!important;
  white-space:nowrap;
}
.vtw-action-area-v20 .vtw-primary-action{
  background:#12a746!important;
  border-color:#12a746!important;
  color:#fff!important;
}
.vtw-action-area-v20 .vtw-primary-action:hover{
  background:#087f32!important;
  border-color:#087f32!important;
}
.vtw-action-area-v20 .vtw-secondary-action{
  background:#fff!important;
  border-color:#99caaa!important;
  color:#126c31!important;
}
.vtw-action-area-v20 .vtw-secondary-action:hover{
  background:#eef9f1!important;
  border-color:#55ac71!important;
}
.vtw-product-tabs-section-v20{
  background:#fff;
  padding-bottom:58px!important;
}
.vtw-product-tabs-v20{
  border:1px solid #e0e8e3;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(27,59,39,.06);
}
.vtw-product-tabs-v20 .nav-tabs{
  gap:6px;
  padding:0 22px;
  border-bottom:1px solid #e5ebe7;
  background:#fff;
}
.vtw-product-tabs-v20 .nav-tabs .nav-link{
  position:relative;
  margin:0;
  padding:17px 2px 14px;
  border:0!important;
  background:transparent!important;
  color:#667169!important;
  font-weight:700;
  border-radius:0!important;
}
.vtw-product-tabs-v20 .nav-tabs .nav-item+.nav-item{
  margin-left:18px;
}
.vtw-product-tabs-v20 .nav-tabs .nav-link::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  border-radius:0 0 4px 4px;
  background:transparent;
}
.vtw-product-tabs-v20 .nav-tabs .nav-link.active{
  color:#18241c!important;
}
.vtw-product-tabs-v20 .nav-tabs .nav-link.active::before{
  background:#169b43;
}
.vtw-tab-content-v20{
  padding:30px 32px 34px;
  color:#1d2821;
}
.vtw-tab-content-v20>.vtw-rich-content>h1:first-child,
.vtw-tab-content-v20>.vtw-rich-content>h2:first-child,
.vtw-tab-content-v20>.vtw-rich-content>h3:first-child{
  margin-top:0!important;
}
.vtw-tab-content-v20 .vtw-rich-content{
  font-size:1.02rem;
  line-height:1.78;
  color:#27342c!important;
}
.vtw-tab-content-v20 .vtw-rich-content h1,
.vtw-tab-content-v20 .vtw-rich-content h2,
.vtw-tab-content-v20 .vtw-rich-content h3,
.vtw-tab-content-v20 .vtw-rich-content h4{
  color:#163e25!important;
}
.vtw-tab-subsection-v20{
  margin-top:30px;
  padding-top:26px;
  border-top:1px solid #e7ece8;
}
.vtw-tab-subsection-v20>h2{
  margin:0 0 16px;
  font-size:1.55rem;
  color:#163e25;
  font-weight:800;
}
.vtw-review-heading-v20{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-bottom:20px;
  margin-bottom:4px;
  border-bottom:1px solid #e6ece8;
}
.vtw-review-heading-v20 h2{
  margin:0 0 5px;
  font-size:1.35rem;
  color:#18241c;
  font-weight:800;
}
.vtw-review-heading-v20 p{
  margin:0;
  color:#6a756e;
}
.vtw-review-score-v20{
  min-width:98px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 14px;
  border:1px solid #dce8df;
  border-radius:12px;
  background:#f5fbf7;
}
.vtw-review-score-v20 strong{
  font-size:1.65rem;
  color:#10913e;
}
.vtw-review-score-v20 i{
  color:#f7a800;
}
.vtw-review-form-v20{
  margin-top:24px;
  max-width:760px;
}
.vtw-review-login-note-v20{
  margin-top:22px;
  padding:13px 15px;
  border-radius:10px;
  background:#f3f8f4;
  color:#566258;
}
.vtw-review-login-note-v20 a{
  color:#0c8537;
  font-weight:700;
}

@media (max-width:991.98px){
  .vtw-product-detail-v20 .vtw-detail-info-v20{padding:21px!important}
  .vtw-action-area-v20{align-items:stretch}
  .vtw-action-area-v20>*{flex:1 1 190px}
  .vtw-action-area-v20 .btn{width:100%!important}
}
@media (max-width:575.98px){
  .vtw-product-detail-v20{padding-top:16px}
  .vtw-product-detail-v20 .vtw-detail-info-v20 h1{font-size:1.65rem!important}
  .vtw-detail-rating-v20{gap:8px 12px!important}
  .vtw-source-meta-v20 a,.vtw-source-meta-v20 span{font-size:.82rem}
  .vtw-action-area-v20>*{flex-basis:100%}
  .vtw-product-tabs-v20 .nav-tabs{padding:0 16px}
  .vtw-tab-content-v20{padding:22px 18px 26px}
  .vtw-review-heading-v20{align-items:flex-start;flex-direction:column}
}

/* =====================================================
   V21 — Product detail sidebar + light blue refinements
   ===================================================== */
.vtw-product-detail-v20{background:#f4f8fc;}
.vtw-detail-info-v20 h1{font-size:clamp(2rem,3.2vw,3.25rem);} 
.vtw-detail-layout-v20,.vtw-detail-bottom-layout-v21{align-items:flex-start;}
.vtw-product-tabs-section-v20{background:#f4f8fc;}
.vtw-detail-sidebar-v21{display:flex;flex-direction:column;gap:18px;position:sticky;top:96px;}
.vtw-sidebar-card-v21{background:#fff;border:1px solid #dbe7f5;border-radius:22px;padding:22px;box-shadow:0 18px 45px rgba(30,79,136,.08);}
.vtw-sidebar-card-head-v21{margin-bottom:14px;}
.vtw-sidebar-card-head-v21 span{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#5c7ba3;margin-bottom:6px;}
.vtw-sidebar-card-head-v21 h3{margin:0;font-size:1.35rem;font-weight:800;color:#17345c;}
.vtw-sidebar-category-list-v21,.vtw-sidebar-related-list-v21{display:flex;flex-direction:column;gap:12px;}
.vtw-sidebar-category-list-v21 a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:16px;border:1px solid #e4edf8;background:#f8fbff;color:#244a78;text-decoration:none;transition:.18s ease;}
.vtw-sidebar-category-list-v21 a span{font-weight:700;}
.vtw-sidebar-category-list-v21 a small{font-size:11px;color:#6f86a7;white-space:nowrap;}
.vtw-sidebar-category-list-v21 a:hover,.vtw-sidebar-category-list-v21 a.is-active{background:#eaf3ff;border-color:#bfd6fb;color:#11427a;transform:translateY(-1px);}
.vtw-sidebar-related-list-v21 article{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:start;padding:12px;border:1px solid #e4edf8;border-radius:16px;background:#fbfdff;}
.vtw-sidebar-related-list-v21 .thumb{display:block;width:82px;height:82px;border-radius:14px;overflow:hidden;background:#eef5fd;}
.vtw-sidebar-related-list-v21 .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.vtw-sidebar-related-list-v21 .thumb span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#6d86ab;font-size:22px;}
.vtw-sidebar-related-list-v21 .copy{min-width:0;display:flex;flex-direction:column;gap:5px;}
.vtw-sidebar-related-list-v21 .copy small{font-size:11px;font-weight:700;color:#6480a7;text-transform:uppercase;letter-spacing:.08em;}
.vtw-sidebar-related-list-v21 .copy>a{color:#143660;text-decoration:none;font-size:15px;font-weight:800;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.vtw-sidebar-related-list-v21 .copy>a:hover{color:#0d6efd;}
.vtw-sidebar-related-list-v21 .copy strong{font-size:15px;color:#0d6a34;}
@media(max-width:991.98px){
  .vtw-detail-sidebar-v21{position:static;}
}

/* =====================================================
   V24 — Purchase policy + full-height product sidebar
   ===================================================== */
.vtw-product-detail-v24{padding-bottom:56px;}
.vtw-product-page-grid-v24{position:relative;}
.vtw-product-main-column-v24{display:flex;flex-direction:column;gap:28px;min-width:0;}
.vtw-product-main-column-v24 .vtw-detail-info-v20 h1{font-size:clamp(1.8rem,2.45vw,2.75rem);}
.vtw-product-tabs-v24{margin-top:0;}
.vtw-detail-sidebar-v24{
  position:sticky;
  top:92px;
  padding-right:0;
}
.vtw-detail-sidebar-v24 .vtw-sidebar-card-v21:last-child{margin-bottom:4px;}
.vtw-footer-copy{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.vt-footer-policy-link-v24{color:inherit;text-decoration:none;font-weight:700;}
.vt-footer-policy-link-v24:hover{text-decoration:underline;color:#fff;}
.purchase-policy-page-v24{background:#f4f8fc;min-height:70vh;}
.purchase-policy-breadcrumb-v24{margin-bottom:18px;}
.purchase-policy-card-v24{max-width:1040px;margin:0 auto;background:#fff;border:1px solid #dce8f6;border-radius:24px;padding:clamp(24px,4vw,54px);box-shadow:0 20px 55px rgba(28,69,119,.09);color:#151b22;line-height:1.72;}
.purchase-policy-head-v24{padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid #e3ebf4;}
.purchase-policy-head-v24>span{display:block;margin-bottom:8px;color:#157142;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.purchase-policy-head-v24 h1{margin:0;color:#1f6eb8;font-size:clamp(1.7rem,3.3vw,2.65rem);font-weight:900;line-height:1.25;}
.purchase-policy-card-v24 section{margin-top:30px;}
.purchase-policy-card-v24 section:first-of-type{margin-top:0;}
.purchase-policy-card-v24 h2{margin:0 0 12px;color:#1f6eb8;font-size:clamp(1.25rem,2.2vw,1.65rem);font-weight:900;line-height:1.35;}
.purchase-policy-card-v24 p{margin:0 0 12px;}
.purchase-policy-card-v24 ul{margin:8px 0 16px;padding-left:24px;}
.purchase-policy-card-v24 li{margin:8px 0;padding-left:4px;}
.purchase-policy-card-v24 li::marker{color:#111;}
.purchase-policy-cross-list-v24{list-style:none;padding-left:0!important;}
.purchase-policy-cross-list-v24 li{position:relative;padding-left:30px;}
.purchase-policy-cross-list-v24 li::before{content:'✖';position:absolute;left:0;top:0;color:#ff4d78;font-weight:900;}
.purchase-policy-callout-v24{margin:18px 0 0;padding:16px 18px;border-left:4px solid #3f8bd7;border-radius:0 14px 14px 0;background:#f4f9ff;}
.purchase-policy-callout-v24 strong{display:block;margin-bottom:6px;color:#1f6eb8;}
.purchase-policy-callout-v24 p:last-child,.purchase-policy-callout-v24 ul:last-child{margin-bottom:0;}
.purchase-policy-callout-v24.is-warning{border-left-color:#f4a000;background:#fff9eb;}
.purchase-policy-callout-v24.is-warning strong{color:#a66400;}
.purchase-policy-callout-v24.is-danger{border-left-color:#ff4d78;background:#fff5f7;}
.purchase-policy-callout-v24.is-danger strong{color:#d92f60;}
.purchase-policy-declaration-v24{margin-top:36px!important;padding:22px;border-radius:18px;background:linear-gradient(135deg,#eef7ff,#f7fbff);border:1px solid #cfe2f8;}
.purchase-policy-declaration-v24 h2{margin-bottom:10px;}
@media(max-width:991.98px){
  .vtw-product-detail-v24{padding-bottom:38px;}
  .vtw-detail-sidebar-v24{position:static;max-height:none;overflow:visible;padding-right:0;}
}
@media(max-width:575.98px){
  .purchase-policy-card-v24{padding:22px 18px;border-radius:18px;}
  .purchase-policy-card-v24 ul{padding-left:21px;}
}

/* =====================================================
   V25 — sidebar chủ đề cho Giao Diện Web / Plugin WordPress
   ===================================================== */
.vtw-sidebar-topics-v25 .vtw-sidebar-card-head-v21{margin-bottom:12px;padding-bottom:13px;border-bottom:3px solid #dfe4e8;}
.vtw-sidebar-topics-v25 .vtw-sidebar-card-head-v21 h3{text-transform:uppercase;color:#17202a;font-size:1.4rem;}
.vtw-sidebar-topics-v25 .vtw-sidebar-category-list-v21{gap:0;}
.vtw-sidebar-topic-node-v25{border-bottom:1px solid #e7edf4;}
.vtw-sidebar-topic-node-v25:last-child{border-bottom:0;}
.vtw-sidebar-topic-node-v25>a{display:block!important;padding:13px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#17375f!important;transform:none!important;}
.vtw-sidebar-topic-node-v25>a span{font-size:16px;font-weight:650;line-height:1.35;}
.vtw-sidebar-topic-node-v25>a:hover,.vtw-sidebar-topic-node-v25>a.is-active{color:#0d6a34!important;background:transparent!important;}
.vtw-sidebar-topic-node-v25>a.is-active span{font-weight:850;}
.vtw-sidebar-topic-children-v25{margin:0 0 7px 10px;padding-left:15px;border-left:1px solid #dbe5f0;}
.vtw-sidebar-topic-children-v25 .vtw-sidebar-topic-node-v25{border-bottom:0;}
.vtw-sidebar-topic-children-v25 .vtw-sidebar-topic-node-v25>a{padding:8px 0!important;}
.vtw-sidebar-topic-children-v25 .vtw-sidebar-topic-node-v25>a span{font-size:14px;font-weight:550;}
.vtw-sidebar-related-list-v21 .copy{justify-content:center;}
.vtw-sidebar-related-list-v21 .copy>small{display:none!important;}

/* =====================================================
   V26 — cân đều ảnh / nội dung, giảm chữ đậm sidebar
   ===================================================== */
@media (min-width:768px){
  .vtw-detail-layout-v20>.vtw-detail-media-column-v26,
  .vtw-detail-layout-v20>.vtw-detail-info-column-v26{
    display:flex;
  }
  .vtw-detail-media-column-v26 .vtw-detail-media-shell-v7,
  .vtw-detail-info-column-v26 .vtw-detail-info-v20{
    width:100%;
  }
  .vtw-detail-info-column-v26 .vtw-detail-info-v20{
    height:100%;
  }
}
.vtw-product-detail-v20 .vtw-detail-media-shell-v7{
  max-width:none;
}
.vtw-detail-media-column-v26 .vtw-detail-image{
  width:100%;
  aspect-ratio:1/1!important;
}
.vtw-detail-info-column-v26 .vtw-detail-info-v20{
  padding:22px 23px!important;
}
.vtw-product-main-column-v24 .vtw-detail-info-column-v26 .vtw-detail-info-v20 h1{
  font-size:clamp(1.7rem,2.15vw,2.4rem);
  line-height:1.18!important;
}

/* Sidebar chỉ nhấn vừa phải, ưu tiên dễ đọc. */
.vtw-detail-sidebar-v21 .vtw-sidebar-card-head-v21 span{
  font-weight:600;
}
.vtw-detail-sidebar-v21 .vtw-sidebar-card-head-v21 h3{
  font-weight:700;
}
.vtw-detail-sidebar-v21 .vtw-sidebar-category-list-v21 a span,
.vtw-detail-sidebar-v21 .vtw-sidebar-topic-node-v25>a span{
  font-weight:500;
}
.vtw-detail-sidebar-v21 .vtw-sidebar-related-list-v21 .copy>a{
  font-weight:600;
}
.vtw-detail-sidebar-v21 .vtw-sidebar-related-list-v21 .copy strong{
  font-weight:600;
}
.vtw-detail-sidebar-v21 .vtw-sidebar-topics-v25 .vtw-sidebar-card-head-v21 h3{
  font-weight:700;
}
@media (max-width:767.98px){
  .vtw-detail-info-column-v26 .vtw-detail-info-v20{
    height:auto;
  }
}


/* =====================================================
   V27 — cân bằng khung ảnh / thông tin và kéo dài sidebar
   ===================================================== */
@media (min-width:1200px){
  .vtw-product-page-grid-v24{
    align-items:stretch!important;
  }
  .vtw-product-page-grid-v24>.col-xl-4{
    display:flex;
    align-self:stretch;
  }
  .vtw-detail-sidebar-v24{
    position:static!important;
    top:auto!important;
    width:100%;
    height:100%;
    min-height:100%;
    align-self:stretch;
  }
  .vtw-detail-sidebar-v24>.vtw-sidebar-card-v21:last-child{
    flex:1 1 auto;
  }
  .vtw-detail-layout-v20{
    align-items:stretch!important;
  }
  .vtw-detail-media-column-v26,
  .vtw-detail-info-column-v26{
    align-self:stretch;
  }
  .vtw-detail-info-column-v26 .vtw-detail-info-v20{
    aspect-ratio:1 / 1;
    height:auto!important;
    min-height:0;
    overflow:auto;
    display:flex;
    flex-direction:column;
  }
  .vtw-detail-info-column-v26 .vtw-action-area-v20{
    margin-top:auto;
  }
}

.vtw-product-main-column-v24 .vtw-detail-info-column-v26 .vtw-detail-info-v20 h1{
  font-size:clamp(1.45rem,1.75vw,1.95rem)!important;
  line-height:1.16!important;
  margin-bottom:10px!important;
  letter-spacing:-.018em;
}
.vtw-detail-info-column-v26 .vtw-detail-info-v20{
  padding:20px 21px!important;
}
.vtw-detail-info-column-v26 .vtw-detail-rating-v20{
  gap:7px 10px!important;
  padding-bottom:11px;
  font-size:.88rem;
}
.vtw-detail-info-column-v26 .vtw-detail-price{
  padding:13px 0!important;
}
.vtw-detail-info-column-v26 .vtw-detail-price strong{
  font-size:clamp(1.85rem,2.55vw,2.35rem)!important;
}
.vtw-detail-info-column-v26 .vtw-detail-price del{
  font-size:.92rem!important;
}
.vtw-detail-info-column-v26 .vtw-detail-price>span{
  padding:5px 9px!important;
  font-size:.78rem;
}
.vtw-detail-info-column-v26 .vtw-source-meta-v20{
  gap:6px;
  padding:10px 0 2px;
}
.vtw-detail-info-column-v26 .vtw-source-meta-v20 a,
.vtw-detail-info-column-v26 .vtw-source-meta-v20 span{
  min-height:32px;
  padding:6px 9px;
  border-radius:9px;
  font-size:.78rem;
  font-weight:550;
}
.vtw-detail-info-column-v26 .vtw-action-area-v20{
  gap:8px;
  padding-top:12px;
  margin-top:12px;
}
.vtw-detail-info-column-v26 .vtw-action-compact-v20{
  min-width:120px;
  min-height:39px!important;
  padding:8px 13px!important;
  font-size:.86rem!important;
}

/* Sidebar chạy đủ chiều cao cột mô tả nhưng chữ vẫn nhẹ, dễ đọc. */
.vtw-detail-sidebar-v24 .vtw-sidebar-card-v21{
  width:100%;
}
.vtw-detail-sidebar-v24 .vtw-sidebar-card-head-v21 span{
  font-weight:500;
}
.vtw-detail-sidebar-v24 .vtw-sidebar-card-head-v21 h3{
  font-weight:650;
}
.vtw-detail-sidebar-v24 .vtw-sidebar-related-list-v21 .copy>a{
  font-weight:500;
}
.vtw-detail-sidebar-v24 .vtw-sidebar-related-list-v21 .copy strong{
  font-weight:550;
}
.vtw-detail-sidebar-v24 .vtw-sidebar-topic-node-v25>a span{
  font-weight:450;
}
.vtw-detail-sidebar-v24 .vtw-sidebar-topic-node-v25>a.is-active span{
  font-weight:650;
}

@media (max-width:1199.98px){
  .vtw-detail-info-column-v26 .vtw-detail-info-v20{
    aspect-ratio:auto;
    overflow:visible;
  }
}

/* =====================================================
   V28 — nội dung toàn chiều ngang, sản phẩm liên quan hàng dưới
   ===================================================== */
.vtw-product-page-grid-v28{
  display:flex;
  flex-direction:column;
  gap:28px;
  width:100%;
}
.vtw-product-main-column-v28{
  width:100%;
  min-width:0;
}
.vtw-product-main-column-v28 .vtw-product-tabs-v24{
  width:100%;
}

@media (min-width:768px){
  .vtw-product-main-column-v28 .vtw-detail-layout-v20{
    align-items:stretch!important;
  }
  .vtw-product-main-column-v28 .vtw-detail-media-column-v26,
  .vtw-product-main-column-v28 .vtw-detail-info-column-v26{
    flex:0 0 50%;
    max-width:50%;
    display:flex;
  }
  .vtw-product-main-column-v28 .vtw-detail-media-shell-v7,
  .vtw-product-main-column-v28 .vtw-detail-info-v20{
    width:100%;
    height:100%;
  }
  .vtw-product-main-column-v28 .vtw-detail-info-v20{
    aspect-ratio:auto!important;
    overflow:visible!important;
    min-height:100%;
  }
}

.vtw-related-section-v28{
  width:100%;
  background:#fff;
  border:1px solid #dbe7f5;
  border-radius:24px;
  padding:24px;
  box-shadow:0 18px 45px rgba(30,79,136,.08);
}
.vtw-related-section-head-v28{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.vtw-related-section-head-v28 span{
  display:block;
  margin-bottom:5px;
  color:#6783aa;
  font-size:12px;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.vtw-related-section-head-v28 h2{
  margin:0;
  color:#17283d;
  font-size:clamp(1.35rem,2vw,1.8rem);
  font-weight:650;
}
.vtw-related-grid-v28{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.vtw-related-card-v28{
  min-width:0;
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:13px;
  align-items:center;
  padding:13px;
  border:1px solid #dfe9f6;
  border-radius:18px;
  background:#f9fbfe;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.vtw-related-card-v28:hover{
  transform:translateY(-2px);
  border-color:#bfd5ef;
  box-shadow:0 10px 24px rgba(30,79,136,.08);
}
.vtw-related-card-v28 .thumb{
  display:block;
  width:92px;
  height:92px;
  border-radius:14px;
  overflow:hidden;
  background:#eef4fb;
}
.vtw-related-card-v28 .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.vtw-related-card-v28 .thumb>span{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6d86aa;
  font-size:23px;
}
.vtw-related-card-v28 .copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.vtw-related-card-v28 .copy>a{
  color:#17375f;
  text-decoration:none;
  font-size:.94rem;
  font-weight:550;
  line-height:1.42;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.vtw-related-card-v28 .copy>a:hover{color:#0d6a34;}
.vtw-related-card-v28 .copy strong{
  color:#0d713a;
  font-size:.94rem;
  font-weight:600;
}

.vtw-topic-section-v28{padding-bottom:20px;}
.vtw-topic-grid-v28{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px 14px;
}
.vtw-topic-item-v28{min-width:0;}
.vtw-topic-item-v28>a{
  display:flex;
  align-items:center;
  min-height:46px;
  padding:10px 13px;
  border:1px solid #dfe9f6;
  border-radius:14px;
  background:#f9fbfe;
  color:#284a72;
  text-decoration:none;
}
.vtw-topic-item-v28>a span{
  font-size:.92rem;
  font-weight:500;
  line-height:1.35;
}
.vtw-topic-item-v28>a:hover,
.vtw-topic-item-v28>a.is-active{
  color:#0d6a34;
  border-color:#bcdcc9;
  background:#f0faf4;
}
.vtw-topic-children-v28{
  margin:7px 0 0 12px;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.vtw-topic-children-v28 .vtw-topic-item-v28>a{
  min-height:38px;
  padding:8px 11px;
}
.vtw-topic-children-v28 .vtw-topic-item-v28>a span{font-size:.84rem;}

@media (max-width:1399.98px){
  .vtw-related-grid-v28{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:991.98px){
  .vtw-related-grid-v28,
  .vtw-topic-grid-v28{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767.98px){
  .vtw-product-main-column-v28 .vtw-detail-media-column-v26,
  .vtw-product-main-column-v28 .vtw-detail-info-column-v26{
    max-width:100%;
  }
  .vtw-related-section-v28{padding:18px;border-radius:20px;}
  .vtw-related-grid-v28,
  .vtw-topic-grid-v28{grid-template-columns:1fr;}
}
@media (max-width:479.98px){
  .vtw-related-card-v28{
    grid-template-columns:76px minmax(0,1fr);
    padding:10px;
  }
  .vtw-related-card-v28 .thumb{width:76px;height:76px;}
}

/* =====================================================
   V29 — sidebar phải cố định + khôi phục menu công khai
   ===================================================== */
.vtw-product-page-grid-v29{width:100%;}
.vtw-product-main-column-v29{min-width:0;}
.vtw-product-main-column-v29 .vtw-detail-layout-v20{align-items:stretch!important;}
.vtw-product-main-column-v29 .vtw-product-tabs-v24{width:100%;}
.vtw-product-sidebar-column-v29{align-self:stretch;min-width:0;}
.vtw-product-sidebar-sticky-v29{display:flex;flex-direction:column;gap:18px;}
.vtw-sidebar-panel-v29{background:#fff;border:1px solid #dbe7f5;border-radius:22px;padding:20px;box-shadow:0 16px 42px rgba(30,79,136,.08);}
.vtw-sidebar-panel-head-v29{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #e2ebf6;}
.vtw-sidebar-panel-head-v29>span{display:block;margin-bottom:5px;color:#6d85a7;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;}
.vtw-sidebar-panel-head-v29 .vtw-related-section-title-v262{margin:0;color:#182a40;font-size:1.25rem;font-weight:650;line-height:1.2;}
.vtw-sidebar-related-list-v29{display:flex;flex-direction:column;gap:11px;}
.vtw-sidebar-related-card-v29{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:center;padding:11px;border:1px solid #dfe9f6;border-radius:16px;background:#f9fbfe;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;}
.vtw-sidebar-related-card-v29:hover{transform:translateY(-1px);border-color:#bfd5ef;box-shadow:0 8px 20px rgba(30,79,136,.07);}
.vtw-sidebar-related-card-v29 .thumb{display:block;width:78px;height:78px;border-radius:13px;overflow:hidden;background:#eef4fb;}
.vtw-sidebar-related-card-v29 .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.vtw-sidebar-related-card-v29 .thumb>span{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#6d86aa;font-size:22px;}
.vtw-sidebar-related-card-v29 .copy{min-width:0;display:flex;flex-direction:column;gap:7px;}
.vtw-sidebar-related-card-v29 .copy>a{color:#17375f;text-decoration:none;font-size:.9rem;font-weight:500;line-height:1.42;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
.vtw-sidebar-related-card-v29 .copy>a:hover{color:#0d6a34;}
.vtw-sidebar-related-card-v29 .copy strong{color:#0d713a;font-size:.9rem;font-weight:550;}
.vtw-sidebar-topic-list-v29{display:flex;flex-direction:column;gap:2px;}
.vtw-sidebar-topic-node-v29>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 4px;border-bottom:1px solid #edf1f6;color:#244b78;text-decoration:none;font-size:.92rem;font-weight:450;line-height:1.35;}
.vtw-sidebar-topic-node-v29>a:hover,.vtw-sidebar-topic-node-v29>a.is-active{color:#0d6a34;}
.vtw-sidebar-topic-node-v29>a.is-active{font-weight:600;}
.vtw-sidebar-topic-node-v29>a i{font-size:.72rem;color:#7690ae;}
.vtw-sidebar-topic-children-v29{margin-left:12px;padding-left:12px;border-left:1px solid #dce6f2;}
.vtw-sidebar-topic-children-v29 .vtw-sidebar-topic-node-v29>a{padding:9px 2px;font-size:.84rem;}

@media (min-width:992px){
  .vtw-product-sidebar-sticky-v29{position:sticky;top:92px;max-height:none;overflow:visible;padding-right:0;}
  .vtw-product-main-column-v29 .vtw-detail-media-column-v26,
  .vtw-product-main-column-v29 .vtw-detail-info-column-v26{display:flex;}
  .vtw-product-main-column-v29 .vtw-detail-media-shell-v7,
  .vtw-product-main-column-v29 .vtw-detail-info-v20{width:100%;height:100%;}
  .vtw-product-main-column-v29 .vtw-detail-info-v20{aspect-ratio:auto!important;overflow:visible!important;}
}
@media (max-width:1199.98px){
  .vtw-sidebar-related-card-v29{grid-template-columns:68px minmax(0,1fr);}
  .vtw-sidebar-related-card-v29 .thumb{width:68px;height:68px;}
}
@media (max-width:991.98px){
  .vtw-product-sidebar-sticky-v29{position:static;max-height:none;overflow:visible;}
  .vtw-sidebar-related-list-v29{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:575.98px){
  .vtw-sidebar-panel-v29{padding:16px;border-radius:18px;}
  .vtw-sidebar-related-list-v29{grid-template-columns:1fr;}
}

/* Menu công khai: Tool AI, Giao Diện Web, Plugin WordPress, Liên hệ, Đơn hàng. */
.main-navbar .main-menu>.nav-item>.nav-link{font-weight:650;color:#111820;}
.main-navbar .main-menu>.nav-item>.nav-link:hover,
.main-navbar .main-menu>.nav-item>.nav-link:focus{color:#0d6a34;}
@media (min-width:992px){
  .public-category-hover-v29:hover>.dropdown-menu,
  .public-category-hover-v29:focus-within>.dropdown-menu{display:block;margin-top:0;}
  .public-category-hover-v29>.dropdown-menu{top:100%;}
}

/* V30 — sidebar không có thanh cuộn; số sản phẩm tự khớp chiều cao mô tả. */
.vtw-product-sidebar-sticky-v29{scrollbar-width:none;}
.vtw-product-sidebar-sticky-v29::-webkit-scrollbar{display:none;}
.vtw-sidebar-related-card-v29[hidden]{display:none!important;}

/* =====================================================
   V36 — chi tiết sản phẩm theo bố cục mẫu, nút demo/hướng dẫn theo dữ liệu
   ===================================================== */
@media (min-width:768px){
  .vtw-product-main-column-v29 .vtw-detail-layout-v20{align-items:stretch!important;}
  .vtw-product-main-column-v29 .vtw-detail-media-column-v26,
  .vtw-product-main-column-v29 .vtw-detail-info-column-v26{display:flex;}
  .vtw-product-main-column-v29 .vtw-detail-media-shell-v7,
  .vtw-product-main-column-v29 .vtw-detail-info-v20{width:100%;height:100%;}
}
.vtw-detail-media-shell-v7{display:flex;flex-direction:column;}
.vtw-media-actions-v36{display:grid;gap:12px;margin-top:14px;}
.vtw-media-actions-v36.has-two{grid-template-columns:repeat(2,minmax(0,1fr));}
.vtw-media-actions-v36.has-one{grid-template-columns:1fr;}
.vtw-media-actions-v36 a{min-height:46px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;text-decoration:none;color:#fff!important;font-size:.95rem;font-weight:700;box-shadow:0 8px 18px rgba(25,72,42,.12);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;}
.vtw-media-actions-v36 a:hover{transform:translateY(-1px);filter:brightness(.96);box-shadow:0 11px 23px rgba(25,72,42,.17);}
.vtw-media-guide-v36{background:#16a34a;border:1px solid #10923f;}
.vtw-media-demo-v36{background:#e41622;border:1px solid #c90f19;}

.vtw-product-detail-v20 .vtw-detail-info-v20{display:flex;flex-direction:column;padding:22px 24px!important;}
.vtw-product-main-column-v24 .vtw-detail-info-column-v26 .vtw-detail-info-v20 h1,
.vtw-product-main-column-v29 .vtw-detail-info-column-v26 .vtw-detail-info-v20 h1{
  color:#119342!important;
  font-size:clamp(1.35rem,1.65vw,1.72rem)!important;
  line-height:1.28!important;
  letter-spacing:-.015em!important;
  margin-bottom:10px!important;
}
.vtw-detail-info-column-v26 .vtw-detail-rating-v20{font-size:.83rem;gap:7px 9px!important;padding-bottom:12px;}
.vtw-detail-info-column-v26 .vtw-detail-price{padding:15px 0!important;display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.vtw-detail-info-column-v26 .vtw-detail-price strong{color:#d91f26!important;font-size:clamp(1.55rem,2.1vw,2rem)!important;}
.vtw-detail-info-column-v26 .vtw-detail-price del{font-size:.9rem!important;color:#8792a5!important;}
.vtw-detail-info-column-v26 .vtw-detail-price>span{font-size:.75rem!important;padding:5px 9px!important;}
.vtw-detail-info-column-v26 .vtw-summary-block-v20{padding:13px 0 5px;}
.vtw-detail-info-column-v26 .vtw-summary-list-v20{font-size:.88rem;line-height:1.52;padding-left:1.15rem;}
.vtw-detail-info-column-v26 .vtw-summary-list-v20 li{margin:.28rem 0;}
.vtw-detail-info-column-v26 .vtw-source-meta-v20{padding:10px 0 2px;}
.vtw-detail-info-column-v26 .vtw-source-meta-v20 a,
.vtw-detail-info-column-v26 .vtw-source-meta-v20 span{font-size:.76rem;min-height:32px;padding:6px 9px;font-weight:600;}

.vtw-purchase-actions-v36{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;margin-top:14px!important;padding-top:14px!important;}
.vtw-purchase-actions-v36>*{width:100%;margin:0!important;}
.vtw-purchase-actions-v36 .btn{width:100%!important;min-width:0!important;min-height:46px!important;border-radius:11px!important;font-weight:750!important;box-shadow:0 8px 18px rgba(25,72,42,.12);}
.vtw-purchase-actions-v36 .vtw-buy-now-v36,
.vtw-purchase-actions-v36 .vtw-open-product-v36{background:#16a34a!important;border-color:#10923f!important;color:#fff!important;}
.vtw-purchase-actions-v36 .vtw-buy-now-v36:hover,
.vtw-purchase-actions-v36 .vtw-open-product-v36:hover{background:#0f8e3e!important;border-color:#0c7f37!important;}
.vtw-purchase-actions-v36 .vtw-add-cart-v36{background:#e41622!important;border:1px solid #c90f19!important;color:#fff!important;}
.vtw-purchase-actions-v36 .vtw-add-cart-v36:hover{background:#c90f19!important;border-color:#ae0c15!important;color:#fff!important;}
.vtw-purchase-actions-v36:has(.vtw-open-product-v36){grid-template-columns:minmax(150px,220px);}

.vtw-purchase-benefits-v36{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 18px;margin-top:auto;padding-top:16px;border-top:1px solid #e4ebe7;color:#51645a;font-size:.79rem;line-height:1.4;}
.vtw-purchase-benefits-v36 span{display:flex;align-items:center;gap:8px;min-width:0;}
.vtw-purchase-benefits-v36 i{color:#12a44a;font-size:1rem;flex:0 0 auto;}

@media (max-width:767.98px){
  .vtw-media-actions-v36.has-two{grid-template-columns:1fr 1fr;}
  .vtw-purchase-actions-v36{grid-template-columns:1fr;}
  .vtw-purchase-actions-v36:has(.vtw-open-product-v36){grid-template-columns:1fr;}
  .vtw-purchase-benefits-v36{grid-template-columns:1fr;}
}
@media (max-width:420px){
  .vtw-media-actions-v36.has-two{grid-template-columns:1fr;}
}


/* =====================================================
   V37 — Menu danh mục chỉ mở khi rê chuột trên desktop
   ===================================================== */
@media (min-width: 992px){
  .public-category-hover-v29 > .public-category-dropdown-v11,
  .public-category-hover-v29 > .public-category-dropdown-v11.show{
    display:none!important;
    margin-top:0!important;
  }
  .public-category-hover-v29:hover > .public-category-dropdown-v11{
    display:block!important;
  }
  .public-category-hover-v29:not(:hover) > .public-category-dropdown-v11{
    display:none!important;
  }
  .public-category-trigger-v37:focus + .public-category-dropdown-v11,
  .public-category-hover-v29:focus-within:not(:hover) > .public-category-dropdown-v11{
    display:none!important;
  }
}
@media (max-width: 991.98px){
  .public-category-menu-v11 > .public-category-dropdown-v11{
    display:none!important;
  }
  .public-category-menu-v11.is-mobile-open-v37 > .public-category-dropdown-v11{
    display:block!important;
  }
}


/* =====================================================
   V39 — cân đều hai cột chi tiết, metadata một hàng
   ===================================================== */
@media (min-width:768px){
  .vtw-product-main-column-v29 .vtw-detail-layout-v20{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
  }
  .vtw-product-main-column-v29 .vtw-detail-media-column-v26,
  .vtw-product-main-column-v29 .vtw-detail-info-column-v26{
    flex:0 0 50%!important;
    width:50%!important;
    max-width:50%!important;
    display:flex!important;
  }
  .vtw-product-main-column-v29 .vtw-detail-media-shell-v7,
  .vtw-product-main-column-v29 .vtw-detail-info-v20{
    width:100%!important;
    height:100%!important;
  }
}

.vtw-detail-info-column-v26 .vtw-source-meta-v20{
  display:grid!important;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:7px!important;
  width:100%;
  padding:9px 0 3px!important;
}
.vtw-detail-info-column-v26 .vtw-source-meta-v20 a,
.vtw-detail-info-column-v26 .vtw-source-meta-v20 span{
  min-width:0!important;
  width:100%;
  min-height:31px!important;
  padding:5px 7px!important;
  gap:5px!important;
  justify-content:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:clamp(.62rem,.67vw,.72rem)!important;
  line-height:1.1;
  border-radius:9px!important;
}
.vtw-detail-info-column-v26 .vtw-source-meta-v20 i{
  flex:0 0 auto;
  font-size:.85rem;
}
@media (max-width:767.98px){
  .vtw-detail-info-column-v26 .vtw-source-meta-v20{
    grid-auto-flow:row;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:430px){
  .vtw-detail-info-column-v26 .vtw-source-meta-v20{
    grid-template-columns:1fr;
  }
}

/* =====================================================
   V40 — đầu trang chỉ còn 2 cột; Tool liên quan đặt cạnh Mô tả
   ===================================================== */
.vtw-product-top-v40{width:100%;min-width:0;}
.vtw-product-content-grid-v40{margin-top:24px;}
.vtw-product-description-column-v40{min-width:0;}
.vtw-product-description-column-v40 .vtw-product-tabs-v20{width:100%;margin-top:0!important;}
.vtw-product-sidebar-column-v40{align-self:flex-start;min-width:0;}
.vtw-product-sidebar-column-v40 .vtw-product-sidebar-sticky-v29{width:100%;}

@media (min-width:992px){
  .vtw-product-top-v40 .vtw-detail-layout-v20{align-items:stretch!important;}
  .vtw-product-sidebar-column-v40 .vtw-product-sidebar-sticky-v29{position:sticky;top:92px;}
}
@media (max-width:991.98px){
  .vtw-product-content-grid-v40{margin-top:18px;}
  .vtw-product-sidebar-column-v40{margin-top:0;}
}


/* =====================================================
   V41 — nền xanh dương nhạt đồng bộ admin + breadcrumb đầy đủ
   ===================================================== */
.vtw-product-detail-v20,
.product-catalog-v6{
  background:#eef5ff!important;
}
.vtw-product-detail-v20 .vtw-breadcrumb,
.product-catalog-v6 .mb-3.small.text-muted{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:#52657a!important;
}
.vtw-product-detail-v20 .vtw-breadcrumb a,
.product-catalog-v6 .mb-3.small.text-muted a,
.product-catalog-v6 .mb-3.small.text-muted span{
  color:#52657a!important;
  text-decoration:none!important;
  font-weight:500!important;
}
.vtw-product-detail-v20 .vtw-breadcrumb a:hover,
.product-catalog-v6 .mb-3.small.text-muted a:hover{
  color:#168744!important;
}
.vtw-product-detail-v20 .vtw-breadcrumb i.bi-house-door,
.product-catalog-v6 .mb-3.small.text-muted i.bi-house{
  color:#52657a!important;
}
.vtw-media-actions-v36 a i{
  font-size:1.05rem;
  line-height:1;
}


/* =====================================================
   V42 — đồng bộ và thu gọn cụm breadcrumb / tìm kiếm / sắp xếp
   ===================================================== */
.product-catalog-v6{
  padding-top:24px!important;
}
.product-catalog-v6 .mb-3.small.text-muted{
  margin-bottom:14px!important;
}
.catalog-toolbar-compact-v42{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  margin-top:0!important;
  margin-bottom:22px!important;
}
.catalog-toolbar-compact-v42 .catalog-title-hidden-v39{
  display:none!important;
}
.catalog-toolbar-compact-v42 .catalog-search-v18,
.catalog-toolbar-compact-v42 .catalog-sort-v18{
  grid-column:auto!important;
  grid-row:auto!important;
  align-self:center!important;
}
.catalog-toolbar-compact-v42 .product-catalog-search,
.catalog-toolbar-compact-v42 .catalog-sort-v18>button{
  min-height:56px;
}
.catalog-toolbar-compact-v42 .catalog-sort-v18>button{
  height:56px;
}
@media(max-width:991.98px){
  .product-catalog-v6{padding-top:20px!important;}
  .product-catalog-v6 .mb-3.small.text-muted{margin-bottom:12px!important;}
  .catalog-toolbar-compact-v42{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;
    margin-bottom:18px!important;
  }
}
@media(max-width:767.98px){
  .catalog-toolbar-compact-v42{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  .catalog-toolbar-compact-v42 .catalog-sort-v18>button{
    width:100%;
    justify-content:space-between!important;
  }
}
@media(max-width:575.98px){
  .product-catalog-v6{padding-top:16px!important;}
  .catalog-toolbar-compact-v42 .product-catalog-search{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
  }
  .catalog-toolbar-compact-v42 .product-catalog-search button{
    grid-column:1/3;
    width:100%;
    margin-top:8px;
  }
}

/* ===== Nguồn hợp nhất: profile.css ===== */
/* =====================================================
   PROFILE PAGE - Sidebar trai + goal circle
   ===================================================== */

.profile-sidebar {
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 2px 12px rgba(15,23,42,.06);
  position: sticky;
  top: 80px;
}

.profile-menu-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  color: var(--text-dark);
  font-size: .92rem;
  text-decoration: none;
  margin-bottom: 2px;
  transition: all .15s;
}

.profile-menu-item:hover {
  background: #f3f5f8;
  color: var(--brand-blue);
}

.profile-menu-item.active {
  background: rgba(31, 111, 235, .1);
  color: var(--brand-blue);
  font-weight: 600;
}

.profile-menu-item i {
  font-size: 1.1rem;
  width: 22px;
  text-align: center;
}

.profile-menu-item.text-danger:hover {
  background: rgba(220, 53, 69, .08);
  color: #dc3545 !important;
}

.text-orange { color: var(--brand-orange) !important; }

/* Goal circle */
.goal-circle {
  display: inline-block;
  position: relative;
}

/* Stat icon - dat lai cho dep hon trong profile */
.profile-sidebar + .col-lg-9 .stat-card { padding: 16px; }
.profile-sidebar + .col-lg-9 .stat-card .stat-value { font-size: 1.5rem; }
.profile-sidebar + .col-lg-9 .stat-card .stat-icon { font-size: 2rem; }

@media (max-width: 991px) {
  .profile-sidebar {
    position: static;
    margin-bottom: 16px;
  }
}


/* v46: avatar upload bằng file máy tính, không dán link */
.profile-avatar-upload-v46 .profile-avatar-preview-v46{width:72px;height:72px;border-radius:50%;background:#eaf2ff;color:#0f3767;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:28px;overflow:hidden;flex:0 0 72px}
.profile-avatar-upload-v46 .profile-avatar-preview-v46 img{width:100%;height:100%;object-fit:cover;display:block}
.profile-avatar-label-v46{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.profile-avatar-label-v46:hover{text-decoration:underline}
.mfa-email-only-v46{max-width:560px}

/* v48: khóa kích thước avatar hồ sơ, không cho ảnh lớn bung layout */
.profile-avatar-upload-v46{align-items:center!important;overflow:hidden!important;}
.profile-avatar-upload-v46 .profile-avatar-preview-v46{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important;min-width:64px!important;min-height:64px!important;flex:0 0 64px!important;border-radius:50%!important;overflow:hidden!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.profile-avatar-upload-v46 .profile-avatar-preview-v46 img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;border-radius:50%!important;display:block!important;}
@media(max-width:575.98px){.profile-avatar-upload-v46 .profile-avatar-preview-v46{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;flex-basis:56px!important;}}

/* v263: lịch sử đơn hàng + thông báo sản phẩm được admin cấp */
.profile-history-page-v263 .profile-history-card-v263{border-radius:12px;overflow:hidden}
.profile-history-page-v263 .profile-course-notifications-v263{margin-top:22px}
.profile-history-head-v263{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.profile-history-head-v263 h5{color:#172033}
.profile-history-search-v263{height:42px;min-width:330px;display:flex;align-items:center;border:1px solid #cbd9ea;border-radius:9px;background:#fff;overflow:hidden}
.profile-history-search-v263>i{margin-left:13px;color:#7890ad}
.profile-history-search-v263 input{height:100%;flex:1;min-width:0;border:0;outline:0;padding:0 10px;color:#24364e;background:transparent}
.profile-history-search-v263 a{width:34px;height:100%;display:flex;align-items:center;justify-content:center;color:#7c8da5}
.profile-history-search-v263 button{height:100%;border:0;background:#2476f2;color:#fff;font-weight:800;padding:0 16px}
.profile-orders-table-v263{border:1px solid #e5edf7;border-radius:10px;overflow-x:hidden}
.profile-orders-table-v263 table{min-width:760px}
.profile-orders-table-v263 thead th{color:#111827;font-weight:900;white-space:nowrap}
.profile-orders-table-v263 tbody td{vertical-align:middle}
.profile-orders-table-v263 code{color:#ec4899;font-family:inherit;font-weight:700}
.profile-history-empty-v263{min-height:180px;border:1px dashed #cfdae8;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8797ac;text-align:center}
.profile-history-empty-v263.compact{min-height:130px}
.profile-history-empty-v263 i{font-size:36px;opacity:.45}
.profile-history-empty-v263 p{margin:10px 0 0}
.profile-history-pager-v263{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px}
.profile-history-pager-v263 a{min-width:34px;height:34px;padding:0 9px;border:1px solid #cbd9ea;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#315173;background:#fff;font-weight:800;text-decoration:none}
.profile-history-pager-v263 a:hover,.profile-history-pager-v263 a.active{background:#2476f2;border-color:#2476f2;color:#fff}
.profile-history-pager-v263 a.disabled{pointer-events:none;opacity:.4}
.profile-notification-list-v263{display:flex;flex-direction:column;border:1px solid #e5edf7;border-radius:10px;overflow:hidden}
.profile-notification-item-v263{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 18px;background:#fff;border-bottom:1px solid #e8eef6}
.profile-notification-item-v263:last-child{border-bottom:0}
.profile-notification-item-v263:hover{background:#f8fbff}
.profile-notification-icon-v263{width:46px;height:46px;border-radius:12px;background:#e8f2ff;color:#1668dc;display:flex;align-items:center;justify-content:center;font-size:22px}
.profile-notification-body-v263{min-width:0}
.profile-notification-body-v263 strong{display:block;color:#123761;font-size:16px;margin-bottom:5px}
.profile-notification-body-v263 p{margin:0;color:#41536e;line-height:1.45}
.profile-notification-body-v263 time{display:inline-flex;align-items:center;gap:6px;margin-top:7px;color:#8290a5;font-size:12px}
.profile-notification-action-v263{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #b9d5ff;border-radius:8px;padding:8px 12px;color:#1769df;font-weight:800;text-decoration:none;background:#f4f8ff}
.profile-notification-action-v263:hover{background:#1769df;color:#fff}
@media(max-width:991.98px){
  .profile-history-head-v263{align-items:stretch;flex-direction:column}
  .profile-history-search-v263{width:100%;min-width:0}
}
@media(max-width:575.98px){
  .profile-history-page-v263 .card-body{padding:18px!important}
  .profile-notification-item-v263{grid-template-columns:42px minmax(0,1fr);padding:14px}
  .profile-notification-icon-v263{width:40px;height:40px;font-size:19px}
  .profile-notification-action-v263{grid-column:2;width:max-content;margin-top:2px}
  .profile-history-search-v263 button{padding:0 12px}
}

/* v299: thông tin tài khoản đồng bộ giao diện hồ sơ khách hàng */
.profile-account-page-v299{background:#eef4f8;min-height:calc(100vh - 72px)}
.profile-account-heading-v299{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.profile-account-heading-v299 h1{margin:0;color:#123761;font-size:26px;font-weight:900}
.profile-account-heading-v299 p{margin:6px 0 0;color:#70839b;font-size:14px}
.profile-account-card-v299{background:#fff;border:1px solid #e1eaf4;border-radius:14px;box-shadow:0 8px 24px rgba(15,55,103,.06);padding:26px;min-width:0}
.profile-account-card-head-v299{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.profile-account-card-head-v299 h2{margin:0;color:#123761;font-size:22px;font-weight:900}
.profile-account-avatar-v299{display:flex;align-items:center;gap:16px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #e6edf5}
.profile-account-avatar-v299 .profile-avatar-preview-v46{width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;max-width:68px!important;max-height:68px!important;flex:0 0 68px!important;border:1px solid #d6e4f3;background:#eaf3ff}
.profile-account-avatar-v299 .profile-avatar-label-v46{font-weight:900;color:#1769d2;text-decoration:none}
.profile-account-avatar-v299 .profile-avatar-label-v46:hover{text-decoration:underline}
.profile-account-help-v299{margin-top:4px;color:#8090a5;font-size:12px}
.profile-account-grid-v299{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.profile-account-field-v299{min-width:0;display:flex;flex-direction:column;gap:7px}
.profile-account-field-v299 label{color:#243852;font-size:14px;font-weight:800}
.profile-account-field-v299 label span{color:#ef4444}
.profile-account-field-v299 input,.profile-account-field-v299 select,.profile-account-field-v299 textarea{width:100%;min-height:44px;border:1px solid #cbd9ea;border-radius:8px;background:#fff;color:#24364e;padding:10px 13px;outline:0;transition:border-color .16s ease,box-shadow .16s ease}
.profile-account-field-v299 textarea{min-height:96px;resize:vertical}
.profile-account-field-v299 input:focus,.profile-account-field-v299 select:focus,.profile-account-field-v299 textarea:focus{border-color:#2f7cf6;box-shadow:0 0 0 3px rgba(47,124,246,.12)}
.profile-account-field-v299 input.is-locked,.profile-account-field-v299 input[readonly],.profile-phone-combo-v299.is-locked{background:#f1f5f9;color:#607087}
.profile-account-field-v299 small{display:flex;align-items:center;gap:6px;color:#8a99ad;font-size:11px;line-height:1.35}
.profile-account-field-full-v299{grid-column:1/-1}
.profile-phone-combo-v299{display:grid;grid-template-columns:145px minmax(0,1fr);border:1px solid #cbd9ea;border-radius:8px;background:#fff;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.profile-phone-combo-v299:focus-within{border-color:#2f7cf6;box-shadow:0 0 0 3px rgba(47,124,246,.12)}
.profile-phone-combo-v299 select,.profile-phone-combo-v299 input{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;min-height:44px}
.profile-phone-combo-v299 select{border-right:1px solid #e2eaf3!important;font-weight:700}
.profile-phone-combo-v299 select:disabled,.profile-phone-combo-v299 input[readonly]{cursor:not-allowed}
.profile-account-actions-v299{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #e6edf5}
.profile-account-actions-v299 .btn{min-height:42px;padding:9px 18px;font-weight:800;border-radius:8px}
@media(max-width:991.98px){
  .profile-account-heading-v299{margin-bottom:14px}
  .profile-account-heading-v299 h1{font-size:22px}
  .profile-account-card-v299{padding:20px}
}
@media(max-width:767.98px){
  .profile-account-page-v299{padding-top:14px!important}
  .profile-account-heading-v299 h1{font-size:20px}
  .profile-account-heading-v299 p{font-size:12px}
  .profile-account-card-v299{padding:16px;border-radius:12px}
  .profile-account-card-head-v299 h2{font-size:18px}
  .profile-account-avatar-v299{align-items:flex-start}
  .profile-account-grid-v299{grid-template-columns:1fr;gap:14px}
  .profile-account-field-full-v299{grid-column:auto}
  .profile-phone-combo-v299{grid-template-columns:118px minmax(0,1fr)}
  .profile-account-actions-v299 .btn{width:100%}
}

/* v301: avatar tròn nhỏ, xóa avatar và bộ chọn mã vùng có cờ đồng bộ */
.profile-account-avatar-v299.profile-avatar-upload-v46{display:flex!important;align-items:center!important;gap:16px!important;overflow:visible!important}
.profile-account-avatar-v299 .profile-avatar-preview-v46{
  width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;
  max-width:68px!important;max-height:68px!important;flex:0 0 68px!important;
  border-radius:50%!important;overflow:hidden!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;position:relative!important;
  background:#eaf3ff!important;color:#315d91!important;font-size:24px!important;font-weight:900!important;
  border:1px solid #d6e4f3!important;box-shadow:0 5px 14px rgba(15,55,103,.08)!important;
}
.profile-account-avatar-v299 .profile-avatar-preview-v46 img{
  width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;
  max-width:100%!important;max-height:100%!important;display:block!important;object-fit:cover!important;
  object-position:center!important;border-radius:50%!important;
}
.profile-avatar-controls-v301{min-width:0;display:flex;flex-direction:column;gap:5px}
.profile-avatar-actions-v301{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.profile-avatar-remove-v301{
  border:0;background:transparent;color:#dc3545;padding:0;font-weight:800;font-size:13px;
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
}
.profile-avatar-remove-v301:hover{text-decoration:underline;color:#b91c1c}
.profile-avatar-remove-v301[hidden]{display:none!important}

.profile-phone-combo-v299.profile-phone-combo-v301{grid-template-columns:64px minmax(0,1fr);overflow:visible}
.profile-phone-country-picker-v301{position:relative;min-width:0}
.profile-phone-country-trigger-v301{
  width:64px;height:44px;border:0;border-right:1px solid #e2eaf3;border-radius:0;background:#fff;
  display:flex;align-items:center;justify-content:center;gap:7px;color:#46617f;cursor:pointer;padding:0;
}
.profile-phone-country-trigger-v301:hover{background:#f5f9ff}
.profile-phone-country-trigger-v301:disabled{cursor:not-allowed;background:#f1f5f9;opacity:.75}
.profile-phone-country-trigger-v301 img,
.profile-phone-country-option-v301 img{
  width:24px;height:18px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(15,23,42,.12);flex:0 0 auto;
}
.profile-phone-country-trigger-v301 i{font-size:10px}
.profile-phone-country-menu-v301{
  position:absolute;z-index:1250;top:calc(100% + 8px);left:0;width:min(390px,calc(100vw - 48px));
  max-height:390px;overflow:hidden;border:1px solid #cbd9ea;border-radius:14px;background:#fff;
  box-shadow:0 18px 50px rgba(15,55,103,.22);
}
.profile-phone-country-menu-v301[hidden]{display:none!important}
.profile-phone-country-search-v301{
  position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;padding:10px;
  border-bottom:1px solid #e5edf6;background:#fff;
}
.profile-phone-country-search-v301 i{color:#7890aa}
.profile-phone-country-search-v301 input{
  width:100%;height:38px;min-height:38px!important;border:1px solid #d4dfec!important;
  border-radius:9px!important;padding:0 11px!important;box-shadow:none!important;background:#fff!important;
}
.profile-phone-country-options-v301{max-height:330px;overflow:auto;padding:6px}
.profile-phone-country-option-v301{
  width:100%;min-height:43px;border:0;border-radius:9px;background:#fff;padding:7px 9px;
  display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;
  text-align:left;color:#263b56;cursor:pointer;
}
.profile-phone-country-option-v301:hover,
.profile-phone-country-option-v301.active{background:#eaf3ff;color:#0f5ed7}
.profile-phone-country-option-v301 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-phone-country-option-v301 strong{font-size:12px;color:#64748b}
.profile-phone-combo-v301 #profilePhoneLocal{padding-left:13px!important}

@media(max-width:767.98px){
  .profile-account-avatar-v299.profile-avatar-upload-v46{align-items:center!important}
  .profile-account-avatar-v299 .profile-avatar-preview-v46{
    width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;
    max-width:58px!important;max-height:58px!important;flex-basis:58px!important;
  }
  .profile-avatar-actions-v301{gap:9px}
  .profile-phone-combo-v299.profile-phone-combo-v301{grid-template-columns:58px minmax(0,1fr)}
  .profile-phone-country-trigger-v301{width:58px}
  .profile-phone-country-menu-v301{
    position:fixed;left:16px;right:16px;top:50%;width:auto;max-height:min(70vh,520px);transform:translateY(-50%);
  }
  .profile-phone-country-options-v301{max-height:calc(min(70vh,520px) - 60px)}
}

/* v348: tách trang thông báo khách hàng và giữ nội dung thanh toán đúng hai dòng */
.profile-notifications-page-v348 .profile-course-notifications-v263{margin-top:0}
.profile-notification-message-v348{white-space:normal}
.profile-notification-message-v348 br{display:block;content:"";margin-top:2px}


/* V458: Email OTP cùng một hàng, cảnh báo luôn nằm ngay bên dưới */
.mfa-email-card-v458{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mfa-email-title-v458{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:10px;
  min-width:0;
}
.mfa-email-title-v458 .mfa-method-icon{
  flex:0 0 auto;
}
.mfa-email-title-v458 h6{
  margin:0!important;
  white-space:nowrap;
  line-height:1.2;
  text-transform:uppercase;
}
.mfa-email-card-v458 > p{
  margin:0;
}
@media(max-width:575.98px){
  .mfa-email-card-v458{gap:10px;}
  .mfa-email-title-v458{gap:8px;}
  .mfa-email-title-v458 h6{font-size:16px;}
}


/* V459: thay cảnh báo vàng bằng dòng trạng thái mới luôn hiển thị */
.mfa-email-status-v459{
  display:flex;
  align-items:flex-start;
  gap:8px;
  width:100%;
  margin:0;
  color:#5f728b;
  font-family:Roboto,sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1.45;
}
.mfa-email-status-v459 i{
  flex:0 0 auto;
  margin-top:2px;
  color:#2563eb;
  font-size:15px;
  line-height:1;
}
.mfa-email-status-v459 span{min-width:0;}
@media(max-width:575.98px){
  .mfa-email-status-v459{font-size:13px;gap:7px;}
  .mfa-email-status-v459 i{font-size:14px;}
}

/* V596: trang thông báo user 10 mục/trang, xem chi tiết nội dung dài */
.profile-notification-item-v263.is-unread{background:#f3f8ff}
.profile-notification-item-v263.is-unread:hover{background:#edf5ff}
.profile-notification-title-row-v596{display:flex;align-items:center;gap:8px;min-width:0}
.profile-notification-title-row-v596 strong{min-width:0;margin-bottom:5px}
.profile-notification-unread-dot-v596{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#2374ec;box-shadow:0 0 0 3px rgba(35,116,236,.12)}
.profile-notification-preview-v596{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.profile-notification-full-v596{color:#41536e;line-height:1.55;overflow-wrap:anywhere}
.profile-notification-full-v596[hidden],.profile-notification-preview-v596[hidden]{display:none!important}
.profile-notification-full-v596 p{margin:0 0 7px}
.profile-notification-full-v596 p:last-child{margin-bottom:0}
.profile-notification-detail-btn-v596{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:0;border:0;background:transparent;color:#1769d2;font:600 13px Roboto,sans-serif;cursor:pointer}
.profile-notification-detail-btn-v596:hover{text-decoration:underline}
.profile-notification-detail-btn-v596 i{font-size:12px}
.profile-notification-html-v593{margin-top:5px;color:#52657a;line-height:1.55}
.profile-notification-html-v593 p{margin:0 0 7px}
.profile-notification-html-v593 p:last-child{margin-bottom:0}
.profile-notification-html-v593 ul,.profile-notification-html-v593 ol{margin:5px 0 7px;padding-left:21px}
.profile-notification-html-v593 a{color:#1769d2;text-decoration:underline}
.profile-notification-html-v593 h3,.profile-notification-html-v593 h4{margin:5px 0 7px;color:#173b64;font-size:15px;font-weight:600}
@media(max-width:575.98px){
  .profile-notification-title-row-v596{align-items:flex-start}
  .profile-notification-detail-btn-v596{min-height:32px}
}

/* V597: liên kết hành động an toàn cho thông báo user. */
.profile-notification-action-link-v597{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:7px;margin-top:7px;padding:7px 11px;border:1px solid #b9d5f7;border-radius:9px;background:#f3f8ff;color:#1769d2;text-decoration:none;font-size:13px;font-weight:600;line-height:1.2}.profile-notification-action-link-v597:hover{border-color:#6eabf5;background:#eaf3ff;color:#0f5fc1}.profile-notification-action-link-v597 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* V598: thu gọn danh sách thông báo user, chữ nhẹ và đồng bộ. */
.profile-notifications-page-v348 .profile-notification-list-v263{border-radius:9px}
.profile-notifications-page-v348 .profile-notification-item-v263{
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px 12px;
}
.profile-notifications-page-v348 .profile-notification-icon-v263{
  width:34px;
  height:34px;
  border-radius:9px;
  font-size:16px;
}
.profile-notifications-page-v348 .profile-notification-body-v263,
.profile-notifications-page-v348 .profile-notification-body-v263 p,
.profile-notifications-page-v348 .profile-notification-body-v263 strong,
.profile-notifications-page-v348 .profile-notification-body-v263 b{
  font-weight:400;
}
.profile-notifications-page-v348 .profile-notification-title-row-v596{
  gap:6px;
  align-items:center;
}
.profile-notifications-page-v348 .profile-notification-title-v598{
  display:block;
  min-width:0;
  margin:0 0 3px;
  color:#17385f;
  font-size:14px;
  font-weight:400;
  line-height:1.35;
}
.profile-notifications-page-v348 .profile-notification-preview-v596,
.profile-notifications-page-v348 .profile-notification-full-v596,
.profile-notifications-page-v348 .profile-notification-html-v593{
  margin-top:0;
  color:#52657a;
  font-size:13px;
  font-weight:400;
  line-height:1.4;
}
.profile-notifications-page-v348 .profile-notification-full-v596 p,
.profile-notifications-page-v348 .profile-notification-html-v593 p{
  margin:0 0 5px;
}
.profile-notifications-page-v348 .profile-notification-html-v593 h3,
.profile-notifications-page-v348 .profile-notification-html-v593 h4{
  margin:4px 0 5px;
  color:#17385f;
  font-size:13px;
  font-weight:400;
}
.profile-notifications-page-v348 .profile-notification-html-v593 ul,
.profile-notifications-page-v348 .profile-notification-html-v593 ol{
  margin:4px 0 5px;
  padding-left:18px;
}
.profile-notifications-page-v348 .profile-notification-body-v263 time{
  gap:5px;
  margin-top:4px;
  font-size:11px;
  font-weight:400;
}
.profile-notifications-page-v348 .profile-notification-detail-btn-v596{
  gap:5px;
  margin-top:5px;
  font:400 12px Roboto,sans-serif;
}
.profile-notifications-page-v348 .profile-notification-detail-btn-v596 i{font-size:11px}
.profile-notifications-page-v348 .profile-notification-action-link-v597{
  gap:6px;
  margin-top:5px;
  padding:6px 9px;
  border-radius:8px;
  font-size:12px;
  font-weight:400;
}
.profile-notifications-page-v348 .profile-notification-unread-dot-v596{
  width:6px;
  height:6px;
  flex-basis:6px;
  box-shadow:0 0 0 2px rgba(35,116,236,.12);
}
@media(max-width:575.98px){
  .profile-notifications-page-v348 .profile-notification-item-v263{
    grid-template-columns:32px minmax(0,1fr);
    gap:8px;
    padding:9px 10px;
  }
  .profile-notifications-page-v348 .profile-notification-icon-v263{
    width:30px;
    height:30px;
    border-radius:8px;
    font-size:14px;
  }
  .profile-notifications-page-v348 .profile-notification-title-v598{font-size:13px}
  .profile-notifications-page-v348 .profile-notification-preview-v596,
  .profile-notifications-page-v348 .profile-notification-full-v596,
  .profile-notifications-page-v348 .profile-notification-html-v593{font-size:12.5px}
}

/* V601: làm nổi bật đúng thông báo được mở từ popup chuông. */
.profile-notifications-page-v348 .profile-notification-item-v263.is-focused-v601{
  position:relative;
  background:#f3f8ff;
  box-shadow:inset 3px 0 0 #2f7df4,0 0 0 1px rgba(47,125,244,.14);
}
.profile-notifications-page-v348 .profile-notification-item-v263.is-focused-v601::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  animation:profileNotificationFocusV601 1.15s ease-out 1;
}
@keyframes profileNotificationFocusV601{
  0%{box-shadow:0 0 0 0 rgba(47,125,244,.28)}
  100%{box-shadow:0 0 0 10px rgba(47,125,244,0)}
}
@media(prefers-reduced-motion:reduce){
  .profile-notifications-page-v348 .profile-notification-item-v263.is-focused-v601::after{animation:none}
}


/* V602: trang thông báo user dùng chữ đen và giảm in đậm. */
.profile-notifications-page-v348,
.profile-notifications-page-v348 .card,
.profile-notifications-page-v348 input,
.profile-notifications-page-v348 button,
.profile-notifications-page-v348 a{color:#111}
.profile-notifications-page-v348 .profile-history-head-v263 h5{color:#111!important;font-weight:600!important}
.profile-notifications-page-v348 .profile-history-head-v263 small{color:#555!important;font-weight:400}
.profile-notifications-page-v348 .profile-notification-title-v598{color:#111;font-weight:400}
.profile-notifications-page-v348 .profile-notification-preview-v596,
.profile-notifications-page-v348 .profile-notification-full-v596,
.profile-notifications-page-v348 .profile-notification-html-v593,
.profile-notifications-page-v348 .profile-notification-html-v593 h3,
.profile-notifications-page-v348 .profile-notification-html-v593 h4,
.profile-notifications-page-v348 .profile-notification-html-v593 strong,
.profile-notifications-page-v348 .profile-notification-html-v593 b{color:#222;font-weight:400}
.profile-notifications-page-v348 .profile-notification-body-v263 time{color:#666;font-weight:400}
.profile-notifications-page-v348 .profile-notification-detail-btn-v596{color:#111;font-weight:400}
.profile-notifications-page-v348 .profile-notification-action-link-v597{color:#111;font-weight:400}
.profile-notifications-page-v348 .profile-history-search-v263 input{color:#111;font-weight:400}

/* V603: phân biệt rõ thao tác xem chi tiết và mở liên kết, không dùng khung. */
.profile-notifications-page-v348 .profile-notification-detail-btn-v596{
  color:#1769d2!important;
  font-weight:400!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none;
}
.profile-notifications-page-v348 .profile-notification-detail-btn-v596:hover{
  color:#0f56ad!important;
  text-decoration:underline;
}
.profile-notifications-page-v348 .profile-notification-action-link-v597{
  color:#e45f0a!important;
  font-weight:400!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none;
}
.profile-notifications-page-v348 .profile-notification-action-link-v597:hover{
  color:#b84600!important;
  background:transparent!important;
  text-decoration:underline;
}

/* V609: giãn cách thao tác và thời gian của thông báo trên desktop. */
@media (min-width:768px){
  .profile-notifications-page-v348 .profile-notification-detail-btn-v596{
    margin-right:18px!important;
  }
  .profile-notifications-page-v348 .profile-notification-action-link-v597{
    margin-right:18px!important;
  }
  .profile-notifications-page-v348 .profile-notification-body-v263 time{
    margin-left:2px;
  }
}

/* V679: hiển thị cờ quốc gia bằng emoji để không bị mất ảnh và làm nút xem chi tiết nổi bật */
.profile-phone-country-trigger-v301 .profile-phone-flag-emoji-v679,
.profile-phone-country-option-v301 .profile-phone-flag-emoji-v679{
  width:28px;
  min-width:28px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  line-height:1;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(15,23,42,.10);
  background:#fff;
  overflow:hidden;
}
.profile-phone-country-trigger-v301 .profile-phone-flag-emoji-v679{
  width:30px;
  min-width:30px;
  height:24px;
  font-size:25px;
}
.profile-phone-country-option-v301{
  grid-template-columns:32px minmax(0,1fr) auto!important;
}
.profile-notifications-page-v348 .profile-notification-detail-btn-v596,
.profile-notifications-page-v348 .profile-notification-action-link-v597,
.profile-notifications-page-v348 .profile-notification-full-v596 a,
.profile-notifications-page-v348 .profile-notification-html-v593 a{
  color:#1769df!important;
  font-weight:500!important;
  text-decoration:none!important;
}
.profile-notifications-page-v348 .profile-notification-detail-btn-v596:hover,
.profile-notifications-page-v348 .profile-notification-action-link-v597:hover,
.profile-notifications-page-v348 .profile-notification-full-v596 a:hover,
.profile-notifications-page-v348 .profile-notification-html-v593 a:hover{
  color:#0f55b8!important;
  text-decoration:underline!important;
}

/* V682 - dùng ảnh cờ màu thay cho chữ mã quốc gia trong ô SĐT */
.profile-phone-country-trigger-v301 .profile-phone-flag-img-v682,
.profile-phone-country-option-v301 .profile-phone-flag-img-v682{
  width:28px!important;
  min-width:28px!important;
  height:20px!important;
  object-fit:cover!important;
  border-radius:3px!important;
  box-shadow:0 0 0 1px rgba(15,23,42,.16),0 2px 5px rgba(15,23,42,.08)!important;
  background:#fff!important;
  display:block!important;
}
.profile-phone-country-trigger-v301 .profile-phone-flag-img-v682{
  width:30px!important;
  min-width:30px!important;
  height:22px!important;
}
.profile-phone-country-option-v301{grid-template-columns:34px minmax(0,1fr) auto!important;}
/* V799: mở lại đúng đơn chờ thanh toán, không tạo đơn mới */
.profile-orders-table-v263 .profile-order-code-link-v799{
  display:inline-flex;align-items:center;color:#ec4899;text-decoration:none;
}
.profile-orders-table-v263 .profile-order-code-link-v799:hover code{
  color:#d92d7a;text-decoration:underline;text-underline-offset:3px;
}
.profile-orders-table-v263 .profile-order-resume-v799{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  margin-top:7px;padding:6px 10px;border:1px solid #bfd7fb;border-radius:8px;
  background:#eef6ff;color:#1264cc;font-size:12px;font-weight:700;
  text-decoration:none;white-space:nowrap;
}
.profile-orders-table-v263 .profile-order-resume-v799:hover{
  background:#2476f2;border-color:#2476f2;color:#fff;
}
.profile-orders-table-v263 .profile-order-pending-v799 td{
  background:#fffdf7;
}
@media (max-width: 767.98px){
  .profile-orders-table-v263 .profile-order-resume-v799{
    min-height:34px;padding:6px 9px;font-size:11.5px;
  }
}

/* V818: mở rộng khung đơn hàng và loại bỏ hoàn toàn thanh cuộn ngang. */
.profile-history-page-v263>.container{
  width:100%;
  max-width:1460px;
}
.profile-orders-table-v263{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}
.profile-orders-table-v263 table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed;
}
.profile-orders-table-v263 col.profile-order-col-code-v817{width:18%}
.profile-orders-table-v263 col.profile-order-col-paid-v817{width:15%}
.profile-orders-table-v263 col.profile-order-col-courses-v817{width:37%}
.profile-orders-table-v263 col.profile-order-col-total-v817{width:12%}
.profile-orders-table-v263 col.profile-order-col-status-v817{width:18%}
.profile-orders-table-v263 thead th{
  padding:11px 9px!important;
  font-size:13px!important;
  line-height:1.25;
}
.profile-orders-table-v263 tbody td{
  min-width:0;
  padding:11px 9px!important;
  font-size:13px!important;
  line-height:1.4;
  overflow-wrap:anywhere;
  word-break:normal;
}
.profile-orders-table-v263 tbody td small,
.profile-orders-table-v263 tbody td code,
.profile-orders-table-v263 .badge{
  max-width:100%;
  font-size:12px!important;
}
.profile-orders-table-v263 tbody td code{
  display:block;
  white-space:normal;
  overflow-wrap:anywhere;
}
.profile-orders-table-v263 .profile-order-course-list-v817{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.profile-orders-table-v263 .profile-order-course-list-v817>span{
  display:block;
  min-width:0;
  color:#111827;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.profile-orders-table-v263 .profile-order-courses-cell-v817{
  vertical-align:top;
}
.profile-orders-table-v263 td:last-child .badge,
.profile-orders-table-v263 .profile-order-resume-v799{
  box-sizing:border-box;
  max-width:100%;
  white-space:normal;
  text-align:center;
}
@media(min-width:992px){
  .profile-history-page-v263>.container{max-width:min(1460px,calc(100% - 20px))}
  .profile-history-page-v263>.container>.row{--bs-gutter-x:20px}
  .profile-history-page-v263>.container>.row>.col-lg-3{flex:0 0 22%;max-width:22%}
  .profile-history-page-v263>.container>.row>.col-lg-9{flex:0 0 78%;max-width:78%}
}
@media(max-width:991.98px){
  .profile-orders-table-v263{
    border:0;
    border-radius:0;
    overflow:visible!important;
  }
  .profile-orders-table-v263 table,
  .profile-orders-table-v263 tbody{
    display:block;
    width:100%!important;
    min-width:0!important;
  }
  .profile-orders-table-v263 colgroup,
  .profile-orders-table-v263 thead{display:none}
  .profile-orders-table-v263 tbody tr{
    display:block;
    width:100%;
    margin:0 0 12px;
    border:1px solid #e1e9f3;
    border-radius:10px;
    background:#fff;
    overflow:hidden;
  }
  .profile-orders-table-v263 tbody tr:last-child{margin-bottom:0}
  .profile-orders-table-v263 tbody td{
    display:grid!important;
    grid-template-columns:138px minmax(0,1fr);
    align-items:start;
    gap:10px;
    width:100%!important;
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid #edf1f6!important;
    background:#fff!important;
    font-size:12.5px!important;
    text-align:left!important;
  }
  .profile-orders-table-v263 tbody td:last-child{border-bottom:0!important}
  .profile-orders-table-v263 tbody td::before{
    content:attr(data-label);
    color:#172033;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
  }
  .profile-orders-table-v263 tbody td small,
  .profile-orders-table-v263 tbody td code,
  .profile-orders-table-v263 .badge{font-size:11.5px!important}
  .profile-orders-table-v263 .profile-order-course-list-v817{gap:5px}
  .profile-orders-table-v263 .profile-order-resume-v799{
    width:max-content;
    max-width:100%;
    margin-top:7px;
  }
}
@media(max-width:575.98px){
  .profile-history-page-v263>.container{padding-left:10px;padding-right:10px}
  .profile-orders-table-v263 tbody td{
    grid-template-columns:108px minmax(0,1fr);
    gap:8px;
    padding:9px 10px!important;
  }
}


/* V820: đồng bộ cố định khung menu trái và nội dung trên toàn bộ trang hồ sơ desktop. */
.profile-layout-fixed-v820>.container{
  width:100%;
  max-width:1460px;
}
.profile-layout-fixed-v820 .profile-sidebar{
  width:100%;
  min-width:0;
}
.profile-layout-fixed-v820 .profile-menu-item{
  min-height:46px;
  width:100%;
  box-sizing:border-box;
}
.profile-layout-fixed-v820 .profile-menu-item>span{
  min-width:0;
}
@media(min-width:992px){
  .profile-layout-fixed-v820>.container{max-width:min(1460px,calc(100% - 20px))}
  .profile-layout-fixed-v820>.container>.row{--bs-gutter-x:20px;flex-wrap:nowrap}
  .profile-layout-fixed-v820>.container>.row>.col-lg-3{
    flex:0 0 320px;
    width:320px;
    max-width:320px;
  }
  .profile-layout-fixed-v820>.container>.row>.col-lg-9{
    flex:1 1 auto;
    width:auto;
    max-width:none;
    min-width:0;
  }
  .profile-layout-fixed-v820 .profile-menu-item>span{
    white-space:nowrap;
  }
}
@media(max-width:991.98px){
  .profile-layout-fixed-v820>.container>.row{
    flex-wrap:wrap;
  }
}


/* V828: thêm thời gian đặt hàng, thu gọn chữ trong bảng nhưng giữ nguyên khung và menu trái. */
.profile-orders-table-v263 col.profile-order-col-code-v828{width:17%}
.profile-orders-table-v263 col.profile-order-col-created-v828{width:12%}
.profile-orders-table-v263 col.profile-order-col-paid-v828{width:12%}
.profile-orders-table-v263 col.profile-order-col-courses-v828{width:31%}
.profile-orders-table-v263 col.profile-order-col-total-v828{width:11%}
.profile-orders-table-v263 col.profile-order-col-status-v828{width:17%}
.profile-orders-table-v263 thead th{
  padding:9px 7px!important;
  font-size:11.5px!important;
  line-height:1.25;
}
.profile-orders-table-v263 tbody td{
  padding:9px 7px!important;
  font-size:11.5px!important;
  line-height:1.34;
}
.profile-orders-table-v263 tbody td small,
.profile-orders-table-v263 tbody td code{
  font-size:10.75px!important;
  line-height:1.32;
}
.profile-orders-table-v263 .profile-order-time-cell-v828,
.profile-orders-table-v263 .profile-order-time-cell-v828 small{
  font-size:10.25px!important;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}
.profile-orders-table-v263 .profile-order-courses-cell-v828,
.profile-orders-table-v263 .profile-order-courses-cell-v828 .profile-order-course-list-v817>span{
  font-size:10.75px!important;
  line-height:1.34;
}
.profile-orders-table-v263 .badge{
  font-size:10px!important;
  line-height:1.15;
  padding:5px 7px;
}
.profile-orders-table-v263 .profile-order-resume-v799{
  gap:4px;
  padding:5px 7px;
  font-size:10.5px;
  line-height:1.2;
}
@media(max-width:991.98px){
  .profile-orders-table-v263 tbody td,
  .profile-orders-table-v263 .profile-order-time-cell-v828,
  .profile-orders-table-v263 .profile-order-time-cell-v828 small,
  .profile-orders-table-v263 .profile-order-courses-cell-v828,
  .profile-orders-table-v263 .profile-order-courses-cell-v828 .profile-order-course-list-v817>span{
    font-size:11.5px!important;
  }
}

/* =====================================================
   V19 — Trung tâm tài khoản dành cho website bán sản phẩm số
   ===================================================== */
.account-portal-page-v19,
.profile-layout-fixed-v820{
  --account-green:#159447;
  --account-green-dark:#0f7137;
  --account-green-soft:#eaf7ef;
  --account-page:#f5f8f6;
  --account-card:#fff;
  --account-text:#17211b;
  --account-muted:#66756c;
  --account-border:#dce8e0;
  background:var(--account-page)!important;
  min-height:calc(100vh - 76px);
  padding:34px 0 58px!important;
  color:var(--account-text);
}
.account-portal-container-v19,
.profile-layout-fixed-v820>.container{max-width:1380px!important;}
.account-portal-layout-v19,
.profile-layout-fixed-v820>.container>.row{
  display:grid!important;
  grid-template-columns:270px minmax(0,1fr)!important;
  gap:26px!important;
  align-items:start!important;
  margin:0!important;
}
.profile-layout-fixed-v820>.container>.row>[class*="col-lg-"]{width:auto!important;max-width:none!important;padding:0!important;}
.account-portal-main-v19,
.profile-layout-fixed-v820>.container>.row>.col-lg-9{min-width:0!important;}

.account-portal-side-v19{
  position:sticky;
  top:92px;
  border:1px solid var(--account-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 34px rgba(18,61,35,.07);
  overflow:hidden;
}
.account-portal-identity-v19{position:relative;padding:22px 18px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e8f0eb;background:linear-gradient(145deg,#f9fcfa,#eef8f1);}
.account-portal-avatar-v19{width:54px;height:54px;flex:0 0 54px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #b9ddc5;color:var(--account-green-dark);font-size:20px;font-weight:900;}
.account-portal-avatar-v19 img{width:100%;height:100%;object-fit:cover;display:block;}
.account-portal-identity-copy-v19{min-width:0;display:flex;flex-direction:column;gap:3px;}
.account-portal-identity-copy-v19 strong{color:var(--account-text);font-size:15px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.account-portal-identity-copy-v19 span{color:var(--account-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.account-portal-edit-v19{position:absolute;right:12px;top:12px;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#27342c;background:#fff;border:1px solid var(--account-border);text-decoration:none;}
.account-portal-edit-v19:hover{background:var(--account-green-soft);color:var(--account-green-dark);}
.account-portal-nav-v19{padding:12px;display:flex;flex-direction:column;gap:3px;}
.account-portal-nav-label-v19{padding:12px 12px 5px;color:#849188;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;}
.account-portal-nav-item-v19{min-height:44px;padding:10px 12px;border-radius:11px;display:flex;align-items:center;gap:11px;color:#29362e;text-decoration:none;font-weight:600;font-size:14px;transition:.16s ease;}
.account-portal-nav-item-v19 i{width:22px;text-align:center;font-size:17px;color:#39483e;}
.account-portal-nav-item-v19:hover{background:#f2f7f4;color:#111;}
.account-portal-nav-item-v19.active{background:var(--account-green-soft);color:var(--account-green-dark);font-weight:800;box-shadow:inset 3px 0 0 var(--account-green);}
.account-portal-nav-item-v19.active i{color:var(--account-green-dark);}
.account-portal-security-links-v19{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px 8px 10px;}
.account-portal-security-links-v19 a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px;border:1px solid var(--account-border);border-radius:9px;background:#fff;color:#526158;text-decoration:none;font-size:11px;font-weight:600;}
.account-portal-security-links-v19 a:hover,.account-portal-security-links-v19 a.active{background:#f0f7f3;color:var(--account-green-dark);border-color:#afd6bc;}
.account-portal-logout-v19{margin-top:8px;border-top:1px solid #edf2ef;border-radius:0;padding-top:14px;color:#c53030!important;}
.account-portal-logout-v19 i{color:#c53030!important;}

.account-portal-heading-v19{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;}
.account-portal-heading-v19>div>span{display:block;color:var(--account-green-dark);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;}
.account-portal-heading-v19 h1{margin:0;color:#121b15;font-size:30px;font-weight:900;letter-spacing:-.02em;}
.account-portal-heading-v19 p{margin:7px 0 0;color:var(--account-muted);font-size:14px;}
.account-portal-shop-btn-v19{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:0 17px;border-radius:11px;background:var(--account-green);color:#fff;text-decoration:none;font-weight:800;white-space:nowrap;box-shadow:0 9px 20px rgba(21,148,71,.16);}
.account-portal-shop-btn-v19:hover{background:var(--account-green-dark);color:#fff;}

.account-welcome-card-v19{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid var(--account-border);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(18,61,35,.06);margin-bottom:18px;}
.account-welcome-user-v19{display:flex;align-items:center;gap:15px;min-width:0;}
.account-welcome-avatar-v19{width:64px;height:64px;flex:0 0 64px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--account-green-soft);border:2px solid #bfe0ca;color:var(--account-green-dark);font-size:24px;font-weight:900;}
.account-welcome-avatar-v19 img{width:100%;height:100%;object-fit:cover;}
.account-welcome-user-v19 small{color:#7a897f;}
.account-welcome-user-v19 h2{margin:2px 0;color:#142019;font-size:22px;font-weight:900;}
.account-welcome-user-v19 p{margin:0;color:var(--account-muted);font-size:13px;}
.account-welcome-actions-v19{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;}
.account-welcome-actions-v19 a{display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid var(--account-border);border-radius:10px;background:#fff;color:#26342b;text-decoration:none;font-size:13px;font-weight:700;}
.account-welcome-actions-v19 a:hover{background:var(--account-green-soft);border-color:#b8dcc4;color:var(--account-green-dark);}

.account-stat-grid-v19{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.account-stat-grid-v19 article{min-height:92px;padding:17px;border:1px solid var(--account-border);border-radius:15px;background:#fff;display:flex;align-items:center;gap:13px;box-shadow:0 7px 20px rgba(18,61,35,.04);}
.account-stat-grid-v19 article>i{width:43px;height:43px;flex:0 0 43px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--account-green-soft);color:var(--account-green-dark);font-size:20px;}
.account-stat-grid-v19 article>div{min-width:0;display:flex;flex-direction:column;gap:3px;}
.account-stat-grid-v19 span{color:var(--account-muted);font-size:12px;}
.account-stat-grid-v19 strong{color:#142019;font-size:23px;font-weight:900;line-height:1.1;}
.account-stat-grid-v19 strong.money{font-size:18px;white-space:nowrap;}

.account-overview-grid-v19{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:18px;align-items:start;}
.account-portal-card-v19{min-width:0;padding:22px;border:1px solid var(--account-border);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(18,61,35,.055);}
.account-portal-card-head-v19{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid #e9f0eb;}
.account-portal-card-head-v19 h2,.account-orders-toolbar-v19 h2,.account-profile-section-head-v19 h2{margin:0;color:#152019;font-size:18px;font-weight:900;}
.account-portal-card-head-v19 p,.account-orders-toolbar-v19 p,.account-profile-section-head-v19 p{margin:4px 0 0;color:var(--account-muted);font-size:12px;}
.account-portal-card-head-v19>a{color:var(--account-green-dark);text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap;}

.account-recent-products-v19,.account-recent-orders-v19{display:flex;flex-direction:column;}
.account-recent-products-v19 article{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf2ef;}
.account-recent-products-v19 article:last-child,.account-recent-orders-v19 article:last-child{border-bottom:0;}
.account-recent-product-thumb-v19{width:56px;height:56px;border:1px solid var(--account-border);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f7faf8;color:var(--account-green-dark);}
.account-recent-product-thumb-v19 img{width:100%;height:100%;object-fit:contain;}
.account-recent-product-copy-v19{min-width:0;display:flex;flex-direction:column;gap:3px;}
.account-recent-product-copy-v19 small{color:#7a897f;font-size:10px;}
.account-recent-product-copy-v19 strong{color:#1d2921;font-size:13px;line-height:1.35;}
.account-recent-product-copy-v19 span{color:#5f7065;font-size:10px;}
.account-recent-product-copy-v19 span i{color:var(--account-green);}
.account-recent-product-actions-v19{display:flex;gap:5px;}
.account-recent-product-actions-v19 a{width:32px;height:32px;border:1px solid var(--account-border);border-radius:9px;display:flex;align-items:center;justify-content:center;color:#26352c;text-decoration:none;}
.account-recent-product-actions-v19 a:hover{background:var(--account-green-soft);color:var(--account-green-dark);}

.account-recent-orders-v19 article{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-bottom:1px solid #edf2ef;position:relative;}
.account-order-row-v19{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.account-order-code-v19,.account-order-product-v19,.account-order-meta-v19{display:flex;flex-direction:column;min-width:0;gap:2px;}
.account-order-code-v19 span,.account-order-product-v19 span,.account-order-meta-v19 span{font-size:10px;color:#78877e;}
.account-order-code-v19 strong{font-size:12px;color:#1c2a20;word-break:break-word;}
.account-order-product-v19 strong{font-size:13px;line-height:1.45;color:#1c2a20;white-space:normal;word-break:break-word;}
.account-order-meta-v19{text-align:right;flex:0 0 auto;align-items:flex-end;}
.account-order-meta-v19 strong{font-size:13px;color:#17211b;white-space:nowrap;}
.account-order-status-v19{justify-self:start;display:inline-flex;align-items:center;align-self:flex-start;min-height:23px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800;}
.account-order-status-v19.tone-success,.account-product-status-v19.tone-success{background:#e2f5e8;color:#14763b;}
.account-order-status-v19.tone-warning,.account-product-status-v19.tone-warning{background:#fff2cf;color:#875e00;}
.account-order-status-v19.tone-danger,.account-product-status-v19.tone-danger{background:#ffe4e4;color:#b42323;}
.account-order-status-v19.tone-info,.account-product-status-v19.tone-info{background:#e4f1fb;color:#1c6295;}
.account-order-status-v19.tone-secondary,.account-product-status-v19.tone-secondary{background:#edf0ee;color:#5f6b63;}

.account-empty-v19{min-height:220px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--account-muted);}
.account-empty-v19>i{font-size:42px;color:#9bbda6;margin-bottom:10px;}
.account-empty-v19 strong{color:#253329;font-size:16px;}
.account-empty-v19 span{font-size:13px;margin-top:4px;}
.account-empty-v19 a{margin-top:14px;display:inline-flex;padding:9px 14px;border-radius:9px;background:var(--account-green);color:#fff;text-decoration:none;font-weight:700;font-size:12px;}
.account-empty-large-v19{min-height:330px;}

.account-products-card-v19,.account-orders-card-v19,.account-profile-card-v19{padding:24px;}
.account-products-list-v19{margin-top:5px;}
.account-products-head-v19{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(160px,.55fr) minmax(260px,.8fr);gap:18px;padding:12px 14px;background:#f0f6f2;border-radius:10px;color:#526159;font-size:11px;font-weight:800;text-transform:uppercase;}
.account-product-row-v19{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(160px,.55fr) minmax(260px,.8fr);gap:18px;align-items:center;padding:16px 14px;border-bottom:1px solid #e8efea;}
.account-product-main-v19{display:grid;grid-template-columns:68px minmax(0,1fr);gap:13px;align-items:center;min-width:0;}
.account-product-thumb-v19{width:68px;height:68px;border:1px solid var(--account-border);border-radius:11px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f8fbf9;color:var(--account-green-dark);}
.account-product-thumb-v19 img{width:100%;height:100%;object-fit:contain;}
.account-product-main-v19>div{min-width:0;}
.account-product-main-v19 small{display:block;color:#7b8980;font-size:10px;}
.account-product-main-v19 h3{margin:4px 0;font-size:14px;line-height:1.35;font-weight:800;}
.account-product-main-v19 h3 a{color:#18241c;text-decoration:none;}
.account-product-main-v19 span{font-size:10px;color:#7b8980;}
.account-product-access-v19{display:flex;flex-direction:column;align-items:flex-start;gap:7px;}
.account-product-status-v19{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;}
.account-product-access-v19 small{color:#6e7d73;font-size:11px;}
.account-product-actions-v19{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.account-product-actions-v19 a{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:7px 9px;border:1px solid var(--account-border);border-radius:9px;background:#fff;color:#27352c;text-decoration:none;font-size:11px;font-weight:700;}
.account-product-actions-v19 a:hover{background:#f1f7f3;color:var(--account-green-dark);}
.account-product-actions-v19 a.primary{background:var(--account-green);border-color:var(--account-green);color:#fff;}
.account-product-actions-v19 a.primary:hover{background:var(--account-green-dark);}

.account-orders-toolbar-v19{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #e8efea;}
.account-order-search-v19{height:42px;min-width:360px;display:flex;align-items:center;border:1px solid var(--account-border);border-radius:10px;background:#fff;overflow:hidden;}
.account-order-search-v19>i{margin-left:12px;color:#69786f;}
.account-order-search-v19 input{height:100%;flex:1;min-width:0;border:0;outline:0;padding:0 9px;background:#fff;color:#27352c;}
.account-order-search-v19>a{width:32px;height:100%;display:flex;align-items:center;justify-content:center;color:#6f7d73;}
.account-order-search-v19 button{height:100%;border:0;background:var(--account-green);color:#fff;font-weight:800;padding:0 16px;}
.account-orders-list-v19{margin-top:16px;}
.account-orders-head-v19,.account-order-row-v19{display:grid;grid-template-columns:150px minmax(0,1fr) 190px 120px 145px;gap:14px;align-items:center;}
.account-orders-head-v19{padding:11px 13px;border-radius:9px;background:#f0f6f2;color:#58675e;font-size:10px;font-weight:800;text-transform:uppercase;}
.account-order-row-v19{padding:15px 13px;border-bottom:1px solid #e9efeb;}
.account-order-code-cell-v19,.account-order-products-cell-v19,.account-order-time-cell-v19,.account-order-status-cell-v19{display:flex;flex-direction:column;gap:4px;min-width:0;}
.account-order-code-cell-v19 strong,.account-order-code-cell-v19 a{color:#17251c;font-size:12px;font-weight:800;text-decoration:none;}
.account-order-code-cell-v19 a{color:var(--account-green-dark);}
.account-order-code-cell-v19 small,.account-order-products-cell-v19 small,.account-order-time-cell-v19 span{font-size:10px;color:#718077;}
.account-order-products-cell-v19 strong{font-size:12px;color:#1d2921;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.account-order-total-cell-v19 strong{font-size:13px;color:#17211b;}
.account-order-status-cell-v19{align-items:flex-start;}
.account-order-status-cell-v19 .account-order-status-v19{grid-column:auto;}
.account-order-resume-v19{display:inline-flex;align-items:center;gap:5px;color:var(--account-green-dark);font-size:10px;font-weight:800;text-decoration:none;}
.account-pager-v19{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px;}
.account-pager-v19 a{min-width:34px;height:34px;padding:0 8px;border:1px solid var(--account-border);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#304037;text-decoration:none;font-weight:700;font-size:12px;}
.account-pager-v19 a:hover,.account-pager-v19 a.active{background:var(--account-green);border-color:var(--account-green);color:#fff;}
.account-pager-v19 a.disabled{pointer-events:none;opacity:.4;}

.account-profile-section-head-v19{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:17px;border-bottom:1px solid #e8efea;}
.account-profile-section-head-v19>a{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid var(--account-border);border-radius:9px;color:#2b3a30;text-decoration:none;font-size:11px;font-weight:700;}
.account-profile-avatar-v19{padding:19px 0;margin-bottom:20px;}
.account-profile-grid-v19{gap:18px 20px;}
.account-profile-actions-v19{padding-top:20px;margin-top:20px;border-top:1px solid #e8efea;}
.account-profile-actions-v19 .btn-primary{background:var(--account-green)!important;border-color:var(--account-green)!important;}

/* Các trang bảo mật/thông báo cũ vẫn dùng chức năng hiện có nhưng cùng bố cục portal mới. */
.profile-layout-fixed-v820 .profile-sidebar{display:none!important;}
.profile-layout-fixed-v820 .account-portal-side-v19{display:block!important;}
.profile-layout-fixed-v820 .card{border:1px solid var(--account-border)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 30px rgba(18,61,35,.055)!important;}
.profile-layout-fixed-v820 .card-body{padding:24px!important;}
.profile-layout-fixed-v820 h5{text-transform:none!important;color:#17211b!important;font-size:20px!important;}
.profile-layout-fixed-v820 .btn-primary{background:var(--account-green)!important;border-color:var(--account-green)!important;}
.profile-layout-fixed-v820 .form-control:focus,.profile-layout-fixed-v820 .form-select:focus{border-color:var(--account-green)!important;box-shadow:0 0 0 3px rgba(21,148,71,.12)!important;}

@media(max-width:1199.98px){
  .account-stat-grid-v19{grid-template-columns:repeat(2,minmax(0,1fr));}
  .account-overview-grid-v19{grid-template-columns:1fr;}
  .account-products-head-v19,.account-product-row-v19{grid-template-columns:minmax(0,1fr) 165px;}
  .account-products-head-v19 span:last-child{display:none;}
  .account-product-actions-v19{grid-column:1/-1;justify-content:flex-start;padding-left:81px;}
  .account-orders-head-v19,.account-order-row-v19{grid-template-columns:130px minmax(0,1fr) 160px 115px 130px;}
}
@media(max-width:991.98px){
  .account-portal-page-v19,.profile-layout-fixed-v820{padding:24px 0 42px!important;}
  .account-portal-layout-v19,.profile-layout-fixed-v820>.container>.row{grid-template-columns:1fr!important;}
  .account-portal-side-v19{position:static;}
  .account-portal-identity-v19{padding:16px;}
  .account-portal-nav-v19{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
  .account-portal-nav-label-v19,.account-portal-security-links-v19{display:none;}
  .account-portal-nav-item-v19{justify-content:center;text-align:center;box-shadow:none!important;}
  .account-portal-logout-v19{margin:0;border:0;border-radius:11px;padding-top:10px;}
  .account-orders-head-v19{display:none;}
  .account-order-row-v19{grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--account-border);border-radius:13px;margin-bottom:10px;padding:14px;}
  .account-order-products-cell-v19{grid-column:1/-1;}
  .account-order-status-cell-v19{align-items:flex-end;}
  .account-order-time-cell-v19{display:none;}
}
@media(max-width:767.98px){
  .account-portal-heading-v19,.account-welcome-card-v19,.account-orders-toolbar-v19,.account-profile-section-head-v19{align-items:stretch;flex-direction:column;}
  .account-portal-shop-btn-v19{width:100%;}
  .account-welcome-actions-v19{justify-content:flex-start;}
  .account-welcome-actions-v19 a{flex:1;justify-content:center;}
  .account-products-head-v19{display:none;}
  .account-product-row-v19{grid-template-columns:1fr;border:1px solid var(--account-border);border-radius:14px;margin-bottom:12px;padding:14px;}
  .account-product-access-v19{padding-left:81px;}
  .account-product-actions-v19{grid-column:auto;padding-left:81px;justify-content:flex-start;}
  .account-order-search-v19{min-width:0;width:100%;}
  .profile-account-grid-v299{grid-template-columns:1fr!important;}
  .profile-account-field-full-v299{grid-column:auto!important;}
}
@media(max-width:575.98px){
  .account-portal-container-v19{padding-left:12px!important;padding-right:12px!important;}
  .account-portal-nav-v19{grid-template-columns:1fr 1fr;}
  .account-portal-heading-v19 h1{font-size:25px;}
  .account-welcome-card-v19,.account-portal-card-v19{padding:17px;}
  .account-welcome-user-v19{align-items:flex-start;}
  .account-welcome-actions-v19{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .account-stat-grid-v19{grid-template-columns:1fr 1fr;gap:10px;}
  .account-stat-grid-v19 article{padding:13px;min-height:82px;}
  .account-stat-grid-v19 article>i{width:37px;height:37px;flex-basis:37px;font-size:17px;}
  .account-stat-grid-v19 strong{font-size:19px;}
  .account-stat-grid-v19 strong.money{font-size:13px;}
  .account-recent-products-v19 article{grid-template-columns:52px minmax(0,1fr);}
  .account-recent-product-actions-v19{grid-column:2;}
  .account-recent-orders-v19 article{gap:10px;}
  .account-order-meta-v19{grid-column:2;text-align:left;}
  .account-order-status-v19{grid-column:2;}
  .account-product-main-v19{grid-template-columns:62px minmax(0,1fr);}
  .account-product-thumb-v19{width:62px;height:62px;}
  .account-product-access-v19,.account-product-actions-v19{padding-left:75px;}
  .account-order-row-v19{grid-template-columns:1fr;}
  .account-order-products-cell-v19{grid-column:auto;}
  .account-order-status-cell-v19{align-items:flex-start;}
}

/* =====================================================
   V21 — customer area light blue background
   ===================================================== */
.account-portal-page-v19,
.profile-layout-fixed-v820{
  --account-green-soft:#edf4ff;
  --account-page:#eef5ff;
  --account-border:#d7e6f8;
  --account-muted:#6a7f97;
}
.account-portal-side-v19{box-shadow:0 14px 34px rgba(13,52,97,.08);}
.account-portal-identity-v19{background:linear-gradient(145deg,#f7fbff,#eaf3ff);border-bottom:1px solid #e0ebf7;}
.account-portal-avatar-v19,.account-welcome-avatar-v19{border-color:#c6d9f5;color:#103f72;}
.account-portal-nav-item-v19:hover{background:#f5f9ff;}
.account-portal-security-links-v19 a:hover,.account-portal-security-links-v19 a.active{background:#f1f7ff;border-color:#c3d9fa;color:#103f72;}
.account-portal-card-v19,.account-welcome-card-v19{box-shadow:0 14px 32px rgba(13,52,97,.07);border-color:#dbe7f5;}

/* ===== Nguồn hợp nhất: product-detail-v44.css ===== */
/* APP_URL v44 — media slider, reviews and consistent breadcrumbs */

/* Breadcrumb luôn ở cùng vị trí, một dòng gọn và cùng cỡ chữ. */
.vtw-breadcrumb-v44{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  min-height:24px;
  margin:0 0 16px!important;
  color:#52657a!important;
  font-size:13px!important;
  line-height:1.35!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.vtw-breadcrumb-v44>a,
.vtw-breadcrumb-v44>i{
  flex:0 0 auto;
}
.vtw-breadcrumb-v44>a{
  color:#52657a!important;
  font-weight:500!important;
  text-decoration:none!important;
}
.vtw-breadcrumb-v44>a:hover{color:#168744!important;}
.vtw-breadcrumb-v44>i{font-size:.68rem!important;color:#6b7f95!important;}
.vtw-breadcrumb-v44>span:last-child{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#52657a!important;
  font-weight:500!important;
}
.product-catalog-v6 .vtw-catalog-breadcrumb-v44{margin-bottom:14px!important;}

/* Trình xem ảnh/video có nút trái-phải và chạy vòng lặp. */
.vtw-product-detail-v20 .vtw-media-viewer-v44{
  position:relative;
  width:100%;
  aspect-ratio:1/1!important;
  min-height:0;
  isolation:isolate;
  background:#fff!important;
  outline:none;
}
.vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible{
  box-shadow:0 0 0 3px rgba(22,135,68,.2),0 14px 36px rgba(21,73,39,.08)!important;
}
.vtw-media-stage-v44,
.vtw-media-slide-v44{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.vtw-media-slide-v44{
  display:grid;
  place-items:center;
  background:#fff;
}
.vtw-media-slide-v44[hidden]{display:none!important;}
.vtw-product-detail-v20 .vtw-media-slide-v44>img,
.vtw-product-detail-v20 .vtw-media-slide-v44>video,
.vtw-product-detail-v20 .vtw-media-slide-v44>iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  border:0!important;
}
.vtw-product-detail-v20 .vtw-media-slide-v44>img{object-fit:contain!important;}
.vtw-product-detail-v20 .vtw-media-slide-v44>video{object-fit:contain;background:#101820;}
.vtw-product-detail-v20 .vtw-media-slide-v44>iframe{background:#101820;}
.vtw-media-viewer-v44 .vtw-sale{z-index:5;}
.vtw-media-arrow-v44{
  position:absolute;
  z-index:6;
  top:50%;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0;
  transform:translateY(-50%);
  border:1px solid rgba(20,40,30,.12);
  border-radius:10px;
  background:rgba(255,255,255,.94);
  color:#16231b;
  box-shadow:0 8px 24px rgba(15,23,42,.18);
  font-size:1.25rem;
  transition:transform .16s ease,background .16s ease,color .16s ease;
}
.vtw-media-arrow-v44:hover{
  color:#fff;
  background:#168744;
  transform:translateY(-50%) scale(1.04);
}
.vtw-media-arrow-v44.is-prev{left:16px;}
.vtw-media-arrow-v44.is-next{right:16px;}
.vtw-media-counter-v44{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:6;
  min-width:58px;
  padding:6px 10px;
  border-radius:8px;
  background:rgba(15,23,42,.76);
  color:#fff;
  text-align:center;
  font-size:.84rem;
  line-height:1;
  backdrop-filter:blur(6px);
}
.vtw-gallery-v44{
  display:flex!important;
  gap:10px!important;
  margin-top:12px!important;
  padding:1px 1px 4px!important;
  overflow-x:auto!important;
  scrollbar-width:thin;
}
.vtw-gallery-v44>button{
  position:relative;
  width:82px!important;
  height:66px!important;
  flex:0 0 82px!important;
  display:grid!important;
  place-items:center!important;
  padding:3px!important;
  overflow:hidden;
  border:2px solid transparent!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 4px 13px rgba(15,23,42,.08);
}
.vtw-gallery-v44>button.is-active{
  border-color:#168744!important;
  box-shadow:0 0 0 2px rgba(22,135,68,.12);
}
.vtw-gallery-v44>button>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:7px;
}
.vtw-gallery-video-thumb-v44{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:linear-gradient(135deg,#e6f4ff,#eef9f1);
  color:#168744;
  font-size:1.55rem;
}
.vtw-gallery-play-v44{
  position:absolute;
  inset:50% auto auto 50%;
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(15,23,42,.76);
  color:#fff;
  font-size:1rem;
  pointer-events:none;
}

/* Khối đánh giá theo bố cục tổng quan / phân bố / nút hành động. */
.vtw-review-tab-v44{padding:26px!important;}
.vtw-review-dashboard-v44>h2{
  margin:0 0 18px;
  color:#16231b;
  font-size:1.38rem;
  line-height:1.35;
  font-weight:700;
}
.vtw-review-summary-v44{
  display:grid;
  grid-template-columns:220px minmax(0,1fr) 230px;
  align-items:stretch;
  overflow:hidden;
  border:1px solid #dce4df;
  border-radius:12px;
  background:#fff;
}
.vtw-review-average-v44,
.vtw-review-breakdown-v44,
.vtw-review-action-v44{padding:22px 24px;}
.vtw-review-average-v44{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-right:1px solid #dce4df;
  text-align:center;
}
.vtw-review-average-v44>div{
  display:flex;
  align-items:center;
  gap:8px;
  color:#ff8a1f;
}
.vtw-review-average-v44 strong{
  font-size:3.4rem;
  line-height:1;
  font-weight:700;
}
.vtw-review-average-v44 i{font-size:2.4rem;}
.vtw-review-average-v44 span{
  margin-top:10px;
  color:#1e2722;
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
}
.vtw-review-breakdown-v44{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:9px;
}
.vtw-review-breakdown-row-v44{
  display:grid;
  grid-template-columns:50px minmax(100px,1fr) 150px;
  align-items:center;
  gap:12px;
  min-width:0;
}
.vtw-review-star-label-v44{
  color:#1c2520;
  font-size:.92rem;
  white-space:nowrap;
}
.vtw-review-star-label-v44 i{font-size:.82rem;color:#ff8a1f;}
.vtw-review-progress-v44{
  height:13px;
  overflow:hidden;
  border-radius:4px;
  background:#edf0ee;
}
.vtw-review-progress-v44>i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#ff8a1f;
}
.vtw-review-percent-v44{
  color:#1985c5;
  font-size:.86rem;
  white-space:nowrap;
}
.vtw-review-percent-v44 b{font-weight:700;}
.vtw-review-action-v44{
  display:grid;
  place-items:center;
  border-left:1px solid #dce4df;
}
.vtw-review-action-v44 a,
.vtw-review-action-v44 button{
  min-width:178px;
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border:0;
  border-radius:5px;
  background:#168744;
  color:#fff;
  text-decoration:none;
  font-size:.98rem;
  font-weight:700;
  text-transform:uppercase;
}
.vtw-review-action-v44 a:hover,
.vtw-review-action-v44 button:hover:not(:disabled){background:#0f6f36;color:#fff;}
.vtw-review-action-v44 button:disabled{cursor:not-allowed;opacity:.55;}
.vtw-review-filters-v44{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
  padding:16px;
  border-radius:8px;
  background:#f4f5f4;
}
.vtw-review-filters-v44 button{
  min-height:42px;
  padding:8px 16px;
  border:1px solid #d7ddda;
  border-radius:6px;
  background:#fff;
  color:#303a34;
  font-size:.9rem;
}
.vtw-review-filters-v44 button i{color:#ff8a1f;font-size:.78rem;}
.vtw-review-filters-v44 button.is-active{
  border-color:#168744;
  background:#168744;
  color:#fff;
}
.vtw-review-filters-v44 button.is-active i{color:#fff;}
.vtw-review-list-v44{min-height:72px;}
.vtw-review-item-v44[hidden]{display:none!important;}
.vtw-review-item-v44{align-items:flex-start;}
.vtw-review-copy-v44{flex:1;min-width:0;}
.vtw-review-user-v44{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.vtw-review-user-v44 b{font-weight:700;}
.vtw-review-user-v44 time{color:#7a8780;font-size:.78rem;white-space:nowrap;}
.vtw-review-empty-v44{
  margin:0;
  padding:30px 0 18px;
  color:#3f4b44;
  font-size:1rem;
}
.vtw-review-empty-v44[hidden]{display:none!important;}
.vtw-review-compose-v44{
  margin-top:26px;
  padding-top:26px;
  border-top:1px solid #dfe6e2;
}
.vtw-review-compose-v44>h3{
  margin:0 0 14px;
  font-size:1.24rem;
  font-weight:700;
}
.vtw-review-form-v44{
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid #cfd8d3!important;
  border-radius:4px;
  background:#fff;
}
.vtw-review-rating-field-v44{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border-bottom:1px solid #dce3df;
}
.vtw-review-rating-field-v44>span{font-size:.9rem;font-weight:600;}
.vtw-review-stars-input-v44{
  display:flex;
  flex-direction:row-reverse;
  justify-content:flex-end;
  gap:4px;
}
.vtw-review-stars-input-v44 input{position:absolute;opacity:0;pointer-events:none;}
.vtw-review-stars-input-v44 label{cursor:pointer;color:#d7ddda;font-size:1.15rem;line-height:1;}
.vtw-review-stars-input-v44 label:hover,
.vtw-review-stars-input-v44 label:hover~label,
.vtw-review-stars-input-v44 input:checked~label{color:#ff8a1f;}
.vtw-review-form-v44 textarea{
  display:block;
  width:100%;
  min-height:155px;
  margin:0!important;
  padding:14px!important;
  resize:vertical;
  border:0!important;
  border-radius:0!important;
  outline:none;
  color:#1f2b24;
  font-size:.95rem;
}
.vtw-review-submit-row-v44{
  display:flex;
  justify-content:flex-end;
  padding:10px 12px;
  border-top:1px solid #dce3df;
}
.vtw-review-submit-row-v44 button{
  min-width:68px;
  min-height:42px;
  padding:8px 14px;
  border:0;
  border-radius:5px;
  background:#168744;
  color:#fff;
  font-weight:700;
  text-transform:uppercase;
}
.vtw-review-submit-row-v44 button:hover{background:#0f6f36;}

@media (max-width:1199.98px){
  .vtw-review-summary-v44{grid-template-columns:190px minmax(0,1fr) 190px;}
  .vtw-review-average-v44,
  .vtw-review-breakdown-v44,
  .vtw-review-action-v44{padding:18px;}
  .vtw-review-breakdown-row-v44{grid-template-columns:45px minmax(80px,1fr) 128px;gap:8px;}
  .vtw-review-percent-v44{font-size:.78rem;}
  .vtw-review-action-v44 a,
  .vtw-review-action-v44 button{min-width:150px;}
}

@media (max-width:991.98px){
  .vtw-breadcrumb-v44{font-size:12.5px!important;margin-bottom:12px!important;}
  .vtw-product-detail-v20 .vtw-media-viewer-v44{aspect-ratio:1/1!important;}
  .vtw-product-detail-v20 .vtw-media-slide-v44>img,
  .vtw-product-detail-v20 .vtw-media-slide-v44>video,
  .vtw-product-detail-v20 .vtw-media-slide-v44>iframe{height:100%!important;object-fit:contain!important;}
  .vtw-review-summary-v44{grid-template-columns:180px minmax(0,1fr);}
  .vtw-review-action-v44{grid-column:1/-1;border-top:1px solid #dce4df;border-left:0;}
}

@media (max-width:767.98px){
  .vtw-review-tab-v44{padding:18px 14px!important;}
  .vtw-review-dashboard-v44>h2{font-size:1.12rem;margin-bottom:14px;}
  .vtw-review-summary-v44{grid-template-columns:1fr;}
  .vtw-review-average-v44{border-right:0;border-bottom:1px solid #dce4df;padding:18px;}
  .vtw-review-average-v44 strong{font-size:2.8rem;}
  .vtw-review-average-v44 i{font-size:2rem;}
  .vtw-review-breakdown-v44{padding:18px 14px;}
  .vtw-review-action-v44{grid-column:auto;padding:16px;border-top:1px solid #dce4df;}
  .vtw-review-breakdown-row-v44{grid-template-columns:42px minmax(70px,1fr) 112px;gap:7px;}
  .vtw-review-percent-v44{font-size:.72rem;}
  .vtw-review-filters-v44{gap:8px;padding:12px;}
  .vtw-review-filters-v44 button{min-height:38px;padding:7px 12px;font-size:.82rem;}
}

@media (max-width:575.98px){
  .vtw-breadcrumb-v44{gap:5px!important;font-size:12px!important;}
  .vtw-breadcrumb-v44>a:first-child{max-width:92px;overflow:hidden;text-overflow:ellipsis;}
  .vtw-product-detail-v20 .vtw-media-viewer-v44{border-radius:16px!important;}
  .vtw-media-arrow-v44{width:38px;height:38px;border-radius:9px;font-size:1rem;}
  .vtw-media-arrow-v44.is-prev{left:9px;}
  .vtw-media-arrow-v44.is-next{right:9px;}
  .vtw-media-counter-v44{right:9px;bottom:9px;padding:5px 8px;font-size:.76rem;}
  .vtw-gallery-v44>button{width:70px!important;height:56px!important;flex-basis:70px!important;}
  .vtw-review-breakdown-row-v44{grid-template-columns:38px minmax(48px,1fr) 97px;gap:6px;}
  .vtw-review-star-label-v44{font-size:.8rem;}
  .vtw-review-percent-v44{font-size:.66rem;}
  .vtw-review-progress-v44{height:10px;}
  .vtw-review-action-v44 a,
  .vtw-review-action-v44 button{width:100%;min-width:0;min-height:48px;}
  .vtw-review-filters-v44{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
  .vtw-review-filters-v44 button{min-width:0;padding:7px 5px;white-space:nowrap;}
  .vtw-review-filters-v44 button:nth-last-child(-n+2){grid-column:span 2;}
  .vtw-review-user-v44{align-items:flex-start;flex-direction:column;gap:2px;}
  .vtw-review-rating-field-v44{align-items:flex-start;flex-direction:column;gap:8px;}
}

/* ===== Nguồn hợp nhất: theme-public-v45.css ===== */
/* Themes Văn Thế Web v45 — nền công khai trắng, thẻ gọn, giá đỏ, hỗ trợ trái trên mobile. */
:root{--vtw-product-name-v45:#418f09;--vtw-price-red-v45:#d92d3f}

/* Toàn bộ khu vực công khai dùng nền trắng rõ ràng; không ảnh hưởng trang admin. */
body:not(.admin-body),
body:not(.admin-body) .main-content,
body:not(.admin-body) .product-catalog-v6,
body:not(.admin-body) .product-catalog-v6.is-home-catalog,
body:not(.admin-body) .vtw-product-detail,
body:not(.admin-body) .vtw-product-detail-v20,
body:not(.admin-body) .vtw-product-tabs-section-v20,
body:not(.admin-body) .vtw-home-intro,
body:not(.admin-body) .vtw-home-categories,
body:not(.admin-body) .vtw-purchase-flow,
body:not(.admin-body) .vt-courses-section,
body:not(.admin-body) .vt-share-section,
body:not(.admin-body) .contact-page-v6,
body:not(.admin-body) .purchase-policy-page-v24,
body:not(.admin-body) .cart-page,
body:not(.admin-body) .account-portal-page-v19,
body:not(.admin-body) .profile-layout-fixed-v820{background:#fff!important}

/* Tên sản phẩm đúng màu nhận diện mới. */
.product-catalog-v6 .course-title-v2,
.product-catalog-v6 .course-title-v2 a,
.vt-course-title,
.vt-course-title a,
.vtw-product-card h3,
.vtw-product-card h3 a{color:var(--vtw-product-name-v45)!important}

/* Giá sản phẩm màu đỏ, giá cũ vẫn xám. */
.product-catalog-v6 .course-price-row>strong:not(.text-success),
.product-catalog-v6 .brand-orange:not(.text-success),
.vt-course-price .vt-price-main,
.vtw-price-row strong{color:var(--vtw-price-red-v45)!important}
.product-catalog-v6 .price-strike,.vt-course-price .vt-price-old{color:#8b9490!important}

/* Thẻ sản phẩm danh sách gọn theo nội dung, bỏ vùng trắng thừa giữa tên và giá. */
.product-grid-v7>[class*="col-"]{align-items:flex-start}
.product-grid-v7 .course-card-v2{height:auto!important;min-height:0!important}
.product-catalog-v6 .course-body-clean-v16{
  min-height:0!important;
  padding:10px 12px 12px!important;
  flex:0 0 auto!important;
}
.product-catalog-v6 .course-body-clean-v16 .course-title-v2{
  min-height:0!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  margin:0 0 7px!important;
  line-height:1.22!important;
}
.product-catalog-v6 .course-body-clean-v16 .course-price-actions-v9{
  margin-top:2px!important;
  padding-top:0!important;
}
.product-catalog-v6 .course-card-cart-yellow{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:12px!important}

/* Thẻ trang chủ cũ (nếu bật lại) cũng không để khoảng trống dọc. */
.vt-course-card{height:auto!important}
.vt-course-body{padding:11px 13px 13px!important;min-height:0!important}
.vt-course-title{min-height:0!important;margin:0 0 8px!important;line-height:1.25!important}
.vt-course-price{margin-top:0!important}

/* Icon Zalo/Messenger WebP hiển thị đúng hình tròn. */
.vt-contact-item-icon.vt-contact-zalo-mark,
.vt-contact-item-icon.vt-contact-messenger-mark{padding:0!important;overflow:hidden;background:#fff!important}
.vt-contact-item-icon.vt-contact-zalo-mark img,
.vt-contact-item-icon.vt-contact-messenger-mark img,
.vt-contact-cycle[data-contact-cycle="zalo"] img,
.vt-contact-cycle[data-contact-cycle="messenger"] img{display:block;width:100%;height:100%;object-fit:contain}
.vt-contact-cycle[data-contact-cycle="messenger"]{padding:0!important}

/* Menu thêm Themes vẫn gọn khi có nhiều mục. */
@media(min-width:992px){
  .main-navbar .main-menu{column-gap:2px}
  .main-navbar .main-menu>.nav-item>.nav-link{padding-left:10px!important;padding-right:10px!important}
}

/* Mobile: nút hỗ trợ nằm bên trái, bảng liên hệ mở từ trái. */
@media(max-width:991.98px){
  .vt-contact-widget{left:14px!important;right:auto!important;bottom:70px!important;align-items:flex-start!important}
  .vt-contact-panel{transform-origin:left bottom!important}
  .vt-contact-panel::after{left:12px!important;right:auto!important}
  .product-catalog-v6 .course-body-clean-v16{min-height:0!important;padding:9px 11px 10px!important}
  .product-catalog-v6 .course-body-clean-v16 .course-title-v2{margin-bottom:6px!important}
}


/* Mô tả đồng bộ: không ép chữ hoa/thường; style nội tuyến từ WordPress được ưu tiên. */
.vtw-rich-content-exact-v45,
.vtw-rich-content-exact-v45 *{text-transform:none}
.vtw-rich-content-exact-v45 [style]{max-width:100%}

/* Các lớp nền trang công khai còn sót từ giao diện cũ được đưa về trắng. */
body:not(.admin-body) .product-catalog-v6::before,
body:not(.admin-body) .vtw-product-detail-v20::before{background:#fff!important}

/* ===== Nguồn hợp nhất: theme-public-v46.css ===== */
/* Themes Văn Thế Web v46 — tài khoản gọn, bảo mật hợp nhất, Themes riêng và chi tiết sản phẩm sạch. */

/* Desktop: rê chuột vào khu vực tài khoản là mở bảng lựa chọn; mobile vẫn dùng thao tác chạm. */
@media (min-width:992px){
  .main-navbar .public-user-dropdown:hover>.dropdown-menu{
    display:block;
    margin-top:0;
  }
  .main-navbar .public-user-dropdown>.dropdown-menu{top:100%;}
}

/* Tổng quan tài khoản: mỗi khối nằm trọn một hàng, không ép Đơn hàng gần đây sang cột hẹp. */
.account-overview-grid-v19{
  grid-template-columns:minmax(0,1fr)!important;
}
.account-overview-grid-v19>.account-portal-card-v19{
  width:100%;
}
@media (min-width:768px){
  .account-overview-grid-v19 .account-recent-orders-v19 article{
    display:grid;
    grid-template-columns:minmax(180px,.72fr) minmax(0,1.65fr) minmax(120px,.45fr) minmax(105px,.4fr);
    gap:18px;
    align-items:center;
    padding:15px 0;
  }
  .account-overview-grid-v19 .account-recent-orders-v19 .account-order-row-v19{
    display:contents;
  }
  .account-overview-grid-v19 .account-order-code-v19{grid-column:1;}
  .account-overview-grid-v19 .account-order-product-v19{grid-column:2;}
  .account-overview-grid-v19 .account-order-meta-v19{
    grid-column:3;
    text-align:left;
    align-items:flex-start;
  }
  .account-overview-grid-v19 .account-order-status-v19{
    grid-column:4;
    justify-self:start;
    margin:0;
  }
}

/* Bảo mật tài khoản hợp nhất trong một trang. */
.account-security-page-v46 .col-lg-9{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.account-security-heading-v46{
  margin-bottom:2px;
}
.account-security-heading-v46>span{
  display:block;
  margin-bottom:6px;
  color:#0f7137;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.account-security-heading-v46 h1{
  margin:0;
  color:#121b15;
  font-size:30px;
  font-weight:900;
  letter-spacing:-.02em;
}
.account-security-heading-v46 p{
  margin:7px 0 0;
  color:#6a7f97;
  font-size:14px;
}
.account-security-card-v46{
  scroll-margin-top:96px;
}
.account-security-section-head-v46{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:17px;
  margin-bottom:18px;
  border-bottom:1px solid #e4edf7;
}
.account-security-section-head-v46 h2{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  color:#17211b;
  font-size:20px;
  font-weight:800;
}
.account-security-section-head-v46 h2>i{
  color:#159447;
}
.account-security-section-head-v46 h2>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:27px;
  height:27px;
  padding:0 8px;
  border-radius:999px;
  background:#edf4ff;
  color:#1769d2;
  font-size:12px;
}
.account-security-section-head-v46 p{
  margin:5px 0 0;
  color:#6a7f97;
  font-size:12px;
}
.account-security-section-head-v46 form{
  flex:0 0 auto;
  margin:0;
}
.account-security-device-list-v46{
  display:flex;
  flex-direction:column;
}
.account-security-device-v46{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid #e9eff6;
}
.account-security-device-v46:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.account-security-device-v46:first-child{
  padding-top:0;
}
.account-security-device-icon-v46{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid #d7e6f8;
  border-radius:13px;
  background:#f3f8ff;
  color:#1769d2;
  font-size:21px;
}
.account-security-device-copy-v46{
  min-width:0;
}
.account-security-device-title-v46{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.account-security-device-title-v46 strong{
  color:#17211b;
  font-size:14px;
}
.account-security-device-title-v46 span{
  display:inline-flex;
  padding:3px 7px;
  border-radius:999px;
  background:#e9f7ef;
  color:#0f7137;
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}
.account-security-device-copy-v46>p{
  margin:3px 0 8px;
  color:#61758b;
  font-size:12px;
}
.account-security-device-meta-v46{
  display:flex;
  align-items:center;
  gap:7px 16px;
  flex-wrap:wrap;
}
.account-security-device-meta-v46 span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#687b91;
  font-size:11px;
}
.account-security-device-meta-v46 .is-active{
  color:#13813e;
}
.account-security-device-meta-v46 .is-active i,
.account-security-device-meta-v46 .is-revoked i{
  font-size:6px;
}
.account-security-device-meta-v46 .is-revoked{
  color:#8995a2;
}
.account-security-device-action-v46{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-width:104px;
}
.account-security-device-action-v46>span{
  color:#718196;
  font-size:11px;
}
.account-security-empty-v46{
  padding:26px;
  border:1px dashed #cddaea;
  border-radius:12px;
  color:#718196;
  text-align:center;
}
.account-mfa-state-v46{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.account-mfa-state-v46.is-on{
  background:#e6f6ec;
  color:#0f7137;
}
.account-mfa-state-v46.is-off{
  background:#f0f3f6;
  color:#6b7785;
}
.account-mfa-row-v46{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px;
  border:1px solid #dce7f3;
  border-radius:14px;
  background:#f9fbfe;
}
.account-mfa-copy-v46{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}
.account-mfa-icon-v46{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#eaf7ef;
  color:#159447;
  font-size:21px;
}
.account-mfa-copy-v46 strong{
  color:#17211b;
  font-size:14px;
}
.account-mfa-copy-v46 p{
  margin:3px 0 0;
  color:#61758b;
  font-size:12px;
}
.account-mfa-copy-v46 p b{
  color:#2e3e4f;
  font-weight:600;
  overflow-wrap:anywhere;
}
.account-password-form-v46{
  max-width:620px;
}
.account-password-form-v46 .input-group>.btn{
  min-width:46px;
}

/* Chi tiết sản phẩm: bỏ dải ảnh nhỏ; nút điều hướng trong ảnh vẫn giữ nguyên. */
.vtw-detail-media-shell-v7>.vtw-media-actions-v36{
  margin-top:14px!important;
}
.vtw-sidebar-panel-head-v29 .vtw-related-section-title-v262{
  margin-top:0!important;
}

@media (max-width:767.98px){
  .account-security-heading-v46 h1{font-size:25px;}
  .account-security-section-head-v46,
  .account-mfa-row-v46{
    align-items:stretch;
    flex-direction:column;
  }
  .account-security-section-head-v46 form,
  .account-security-section-head-v46 form .btn,
  .account-mfa-row-v46 form,
  .account-mfa-row-v46 form .btn{
    width:100%;
  }
  .account-security-device-v46{
    grid-template-columns:44px minmax(0,1fr);
    gap:11px;
  }
  .account-security-device-icon-v46{
    width:44px;
    height:44px;
  }
  .account-security-device-action-v46{
    grid-column:2;
    justify-content:flex-start;
    min-width:0;
  }
  .account-security-device-action-v46 form,
  .account-security-device-action-v46 .btn{
    width:100%;
  }
}

@media (max-width:575.98px){
  .account-security-page-v46 .card-body{
    padding:17px!important;
  }
  .account-security-section-head-v46 h2{
    font-size:17px;
  }
  .account-security-device-meta-v46{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .account-mfa-copy-v46{
    align-items:flex-start;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v48.css ===== */
/* Themes Văn Thế Web v48 — gallery chỉ dùng ảnh, tên sản phẩm gọn và loại bỏ dấu vết nội dung dạy học. */

/* Tên sản phẩm trang chi tiết: nhỏ gọn, tối đa hai hàng và cân dòng tự nhiên. */
.vtw-product-main-column-v24 .vtw-detail-info-column-v26 .vtw-detail-info-v20 .vtw-product-title-v48,
.vtw-product-main-column-v29 .vtw-detail-info-column-v26 .vtw-detail-info-v20 .vtw-product-title-v48{
  display:-webkit-box!important;
  width:100%;
  max-width:100%;
  margin:0 0 10px!important;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  text-wrap:balance;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none;
  color:#119342!important;
  font-size:clamp(1.08rem,1.28vw,1.34rem)!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
}

/* Khung ảnh không còn iframe/video; ảnh luôn nằm gọn và không méo. */
.vtw-media-viewer-v44 .vtw-media-slide-v44>img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Sau khi bỏ dòng giáo viên, tên và giá trong giỏ hàng vẫn cân đối. */
.cart-course-info{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
}
.cart-course-title{margin-bottom:9px!important;}

@media (max-width:991.98px){
  .vtw-product-main-column-v24 .vtw-detail-info-column-v26 .vtw-detail-info-v20 .vtw-product-title-v48,
  .vtw-product-main-column-v29 .vtw-detail-info-column-v26 .vtw-detail-info-v20 .vtw-product-title-v48{
    font-size:1.12rem!important;
    line-height:1.32!important;
    -webkit-line-clamp:2;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v51.css ===== */
/* V51 — đánh giá chỉ dành cho đơn đã thanh toán và chân trang trắng 4 cột. */

/* Sau khi bỏ bộ lọc Có video/Có ảnh, các nút sao giữ bố cục cân đối trên mobile. */
@media (max-width:575.98px){
  .vtw-review-filters-v44{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .vtw-review-filters-v44 button:nth-last-child(-n+2){
    grid-column:auto!important;
  }
}

body:not(.admin-body) > .vt-footer.vt-footer-v51,
body.checkout-order-page-body .vt-footer.vt-footer-v51{
  margin-top:56px!important;
  padding:42px 0 18px!important;
  border-top:1px solid #e6e6e6!important;
  background:#fff!important;
  color:#171717!important;
  box-shadow:none!important;
}
.vt-footer-v51 .vt-footer-v51-container{
  max-width:1320px;
}
.vt-footer-v51 .vt-footer-v51-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:38px;
  align-items:start;
}
.vt-footer-v51 .vt-footer-v51-column{
  min-width:0;
}
.vt-footer-v51 .vt-footer-v51-column .vt-footer-v51-heading{
  margin:0!important;
  color:#b61116!important;
  font-size:clamp(1.03rem,1.35vw,1.35rem)!important;
  font-weight:900!important;
  line-height:1.28!important;
  text-transform:uppercase;
}
.vt-footer-v51 .vt-footer-v51-title-line{
  width:100%;
  height:2px;
  margin:13px 0 24px;
  background:linear-gradient(90deg,#efa80d 0 72%,#ececec 72% 100%);
}
.vt-footer-v51 .vt-footer-v51-brand-row{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:17px;
}
.vt-footer-v51 .vt-footer-v51-brand-row>img{
  width:70px!important;
  height:70px!important;
  flex:0 0 70px;
  border-radius:8px;
  object-fit:contain;
  background:#fff;
  border:1px solid #e5e7eb;
}
.vt-footer-v51 .vt-footer-v51-brand-row strong{
  display:block;
  color:#191919;
  font-size:1rem;
  line-height:1.35;
}
.vt-footer-v51 .vt-footer-v51-youtube{
  width:max-content;
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  margin:7px 0 0!important;
  padding:5px 9px;
  border-radius:4px;
  background:#e62117;
  color:#fff!important;
  font-size:.75rem;
  font-weight:800;
}
.vt-footer-v51 .vt-footer-v51-contact-list{
  display:grid;
  gap:0;
}
.vt-footer-v51 .vt-footer-v51-contact-list>a,
.vt-footer-v51 .vt-footer-v51-contact-list>div{
  min-height:43px;
  display:flex!important;
  align-items:center;
  gap:8px;
  margin:0!important;
  padding:9px 0;
  border-bottom:1px solid #ededed;
  color:#1d1d1d!important;
  text-decoration:none;
  font-size:.93rem;
  line-height:1.45;
}
.vt-footer-v51 .vt-footer-v51-contact-list i{
  flex:0 0 auto;
  color:#7aae26;
  font-size:.8rem;
}
.vt-footer-v51 .vt-footer-v51-contact-list b{
  color:#111;
}
.vt-footer-v51 .vt-footer-v51-social{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.vt-footer-v51 .vt-footer-v51-social a{
  width:38px;
  height:38px;
  display:grid!important;
  place-items:center;
  margin:0!important;
  border-radius:50%;
  color:#fff!important;
  text-decoration:none;
  font-size:1rem;
  transition:transform .18s ease,box-shadow .18s ease;
}
.vt-footer-v51 .vt-footer-v51-social a:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(15,23,42,.16);
}
.vt-footer-v51 .vt-footer-v51-social img{
  width:22px;
  height:22px;
  object-fit:contain;
}
.vt-footer-v51 .vt-footer-v51-social .is-facebook{background:#315da8;}
.vt-footer-v51 .vt-footer-v51-social .is-instagram{background:#3b6da7;}
.vt-footer-v51 .vt-footer-v51-social .is-tiktok{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-email{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-phone{background:#36c55f;}
.vt-footer-v51 .vt-footer-v51-social .is-youtube{background:#e62117;}
.vt-footer-v51 .vt-footer-v51-links{
  margin:0;
  padding-left:22px;
  color:#111;
}
 .vt-footer-v51 .vt-footer-v51-links li{
  margin:0 0 14px;
  padding-left:1px;
  line-height:1.5;
}
.vt-footer-v51 .vt-footer-v51-links li::marker{
  color:#111;
}
.vt-footer-v51 .vt-footer-v51-links a{
  display:inline!important;
  margin:0!important;
  color:#287db0!important;
  text-decoration:none;
  font-size:.96rem;
  overflow-wrap:anywhere;
}
.vt-footer-v51 .vt-footer-v51-links a:hover{
  color:#b61116!important;
  text-decoration:underline;
}
.vt-footer-v51 .vt-footer-v51-description{
  margin:0 0 22px;
  color:#171717;
  font-size:.96rem;
  line-height:1.65;
}
.vt-footer-v51 .vt-footer-v51-products{
  margin-top:0;
}
.vt-footer-v51 .vt-footer-v51-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-top:28px;
  padding-top:17px;
  border-top:1px solid #e7e7e7;
  color:#606060;
  font-size:.84rem;
}
.vt-footer-v51 .vt-footer-v51-bottom a{
  display:inline!important;
  margin:0!important;
  color:#222!important;
  font-weight:700;
  text-decoration:none;
}
.vt-footer-v51 .vt-footer-v51-bottom a:hover{
  color:#b61116!important;
  text-decoration:underline;
}

@media (max-width:1199.98px){
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px 42px;
  }
}
@media (max-width:767.98px){
  body:not(.admin-body) > .vt-footer.vt-footer-v51,
  body.checkout-order-page-body .vt-footer.vt-footer-v51{
    margin-top:36px!important;
    padding:32px 0 16px!important;
  }
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:1fr;
    gap:31px;
  }
  .vt-footer-v51 .vt-footer-v51-title-line{
    margin:10px 0 18px;
  }
  .vt-footer-v51 .vt-footer-v51-brand-row>img{
    width:58px!important;
    height:58px!important;
    flex-basis:58px;
  }
  .vt-footer-v51 .vt-footer-v51-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}

.vt-footer-v51 .vt-footer-v51-brand-copy{min-width:0;}
.vt-footer-v51 .vt-footer-v51-youtube span{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:3px;background:#f2f2f2;color:#6b7280;font-weight:700;}
.vt-footer-v51 .vt-footer-v51-social .is-email{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-phone{background:#36c55f;}
.vt-footer-v51 .vt-footer-v51-social .is-youtube{background:#e62117;}
@media (max-width:1199.98px){
  .vt-footer-v51 .vt-footer-v51-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:1 / -1;}
}
@media (max-width:767.98px){
  .vt-footer-v51 .vt-footer-v51-grid{grid-template-columns:1fr;}
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:auto;}
}

/* ===== Nguồn hợp nhất: theme-public-v52.css ===== */
/* V51 — đánh giá chỉ dành cho đơn đã thanh toán và chân trang trắng 4 cột. */

/* Sau khi bỏ bộ lọc Có video/Có ảnh, các nút sao giữ bố cục cân đối trên mobile. */
@media (max-width:575.98px){
  .vtw-review-filters-v44{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .vtw-review-filters-v44 button:nth-last-child(-n+2){
    grid-column:auto!important;
  }
}

body:not(.admin-body) > .vt-footer.vt-footer-v51,
body.checkout-order-page-body .vt-footer.vt-footer-v51{
  margin-top:56px!important;
  padding:42px 0 18px!important;
  border-top:1px solid #e6e6e6!important;
  background:#fff!important;
  color:#171717!important;
  box-shadow:none!important;
}
.vt-footer-v51 .vt-footer-v51-container{
  max-width:1320px;
}
.vt-footer-v51 .vt-footer-v51-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:38px;
  align-items:start;
}
.vt-footer-v51 .vt-footer-v51-column{
  min-width:0;
}
.vt-footer-v51 .vt-footer-v51-column .vt-footer-v51-heading{
  margin:0!important;
  color:#b61116!important;
  font-size:clamp(1.03rem,1.35vw,1.35rem)!important;
  font-weight:900!important;
  line-height:1.28!important;
  text-transform:uppercase;
}
.vt-footer-v51 .vt-footer-v51-title-line{
  width:100%;
  height:2px;
  margin:13px 0 24px;
  background:linear-gradient(90deg,#efa80d 0 72%,#ececec 72% 100%);
}
.vt-footer-v51 .vt-footer-v51-brand-row{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:17px;
}
.vt-footer-v51 .vt-footer-v51-brand-row>img{
  width:70px!important;
  height:70px!important;
  flex:0 0 70px;
  border-radius:8px;
  object-fit:contain;
  background:#fff;
  border:1px solid #e5e7eb;
}
.vt-footer-v51 .vt-footer-v51-brand-row strong{
  display:block;
  color:#191919;
  font-size:1rem;
  line-height:1.35;
}
.vt-footer-v51 .vt-footer-v51-youtube{
  width:max-content;
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  margin:7px 0 0!important;
  padding:5px 9px;
  border-radius:4px;
  background:#e62117;
  color:#fff!important;
  font-size:.75rem;
  font-weight:800;
}
.vt-footer-v51 .vt-footer-v51-contact-list{
  display:grid;
  gap:0;
}
.vt-footer-v51 .vt-footer-v51-contact-list>a,
.vt-footer-v51 .vt-footer-v51-contact-list>div{
  min-height:43px;
  display:flex!important;
  align-items:center;
  gap:8px;
  margin:0!important;
  padding:9px 0;
  border-bottom:1px solid #ededed;
  color:#1d1d1d!important;
  text-decoration:none;
  font-size:.93rem;
  line-height:1.45;
}
.vt-footer-v51 .vt-footer-v51-contact-list i{
  flex:0 0 auto;
  color:#7aae26;
  font-size:.8rem;
}
.vt-footer-v51 .vt-footer-v51-contact-list b{
  color:#111;
}
.vt-footer-v51 .vt-footer-v51-social{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.vt-footer-v51 .vt-footer-v51-social a{
  width:38px;
  height:38px;
  display:grid!important;
  place-items:center;
  margin:0!important;
  border-radius:50%;
  color:#fff!important;
  text-decoration:none;
  font-size:1rem;
  transition:transform .18s ease,box-shadow .18s ease;
}
.vt-footer-v51 .vt-footer-v51-social a:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(15,23,42,.16);
}
.vt-footer-v51 .vt-footer-v51-social img{
  width:22px;
  height:22px;
  object-fit:contain;
}
.vt-footer-v51 .vt-footer-v51-social .is-facebook{background:#315da8;}
.vt-footer-v51 .vt-footer-v51-social .is-instagram{background:#3b6da7;}
.vt-footer-v51 .vt-footer-v51-social .is-tiktok{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-email{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-phone{background:#36c55f;}
.vt-footer-v51 .vt-footer-v51-social .is-youtube{background:#e62117;}
.vt-footer-v51 .vt-footer-v51-links{
  margin:0;
  padding-left:22px;
  color:#111;
}
 .vt-footer-v51 .vt-footer-v51-links li{
  margin:0 0 14px;
  padding-left:1px;
  line-height:1.5;
}
.vt-footer-v51 .vt-footer-v51-links li::marker{
  color:#111;
}
.vt-footer-v51 .vt-footer-v51-links a{
  display:inline!important;
  margin:0!important;
  color:#287db0!important;
  text-decoration:none;
  font-size:.96rem;
  overflow-wrap:anywhere;
}
.vt-footer-v51 .vt-footer-v51-links a:hover{
  color:#b61116!important;
  text-decoration:underline;
}
.vt-footer-v51 .vt-footer-v51-description{
  margin:0 0 22px;
  color:#171717;
  font-size:.96rem;
  line-height:1.65;
}
.vt-footer-v51 .vt-footer-v51-products{
  margin-top:0;
}
.vt-footer-v51 .vt-footer-v51-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-top:28px;
  padding-top:17px;
  border-top:1px solid #e7e7e7;
  color:#606060;
  font-size:.84rem;
}
.vt-footer-v51 .vt-footer-v51-bottom a{
  display:inline!important;
  margin:0!important;
  color:#222!important;
  font-weight:700;
  text-decoration:none;
}
.vt-footer-v51 .vt-footer-v51-bottom a:hover{
  color:#b61116!important;
  text-decoration:underline;
}

@media (max-width:1199.98px){
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px 42px;
  }
}
@media (max-width:767.98px){
  body:not(.admin-body) > .vt-footer.vt-footer-v51,
  body.checkout-order-page-body .vt-footer.vt-footer-v51{
    margin-top:36px!important;
    padding:32px 0 16px!important;
  }
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:1fr;
    gap:31px;
  }
  .vt-footer-v51 .vt-footer-v51-title-line{
    margin:10px 0 18px;
  }
  .vt-footer-v51 .vt-footer-v51-brand-row>img{
    width:58px!important;
    height:58px!important;
    flex-basis:58px;
  }
  .vt-footer-v51 .vt-footer-v51-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}

.vt-footer-v51 .vt-footer-v51-brand-copy{min-width:0;}
.vt-footer-v51 .vt-footer-v51-youtube span{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:3px;background:#f2f2f2;color:#6b7280;font-weight:700;}
.vt-footer-v51 .vt-footer-v51-social .is-email{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-phone{background:#36c55f;}
.vt-footer-v51 .vt-footer-v51-social .is-youtube{background:#e62117;}
@media (max-width:1199.98px){
  .vt-footer-v51 .vt-footer-v51-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:1 / -1;}
}
@media (max-width:767.98px){
  .vt-footer-v51 .vt-footer-v51-grid{grid-template-columns:1fr;}
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:auto;}
}

/* ===== Nguồn hợp nhất: theme-public-v53.css ===== */
/* V53 — khôi phục cột Theo dõi chúng tôi và cân đều 4 cột chân trang. */

/* Sau khi bỏ bộ lọc Có video/Có ảnh, các nút sao giữ bố cục cân đối trên mobile. */
@media (max-width:575.98px){
  .vtw-review-filters-v44{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .vtw-review-filters-v44 button:nth-last-child(-n+2){
    grid-column:auto!important;
  }
}

body:not(.admin-body) > .vt-footer.vt-footer-v51,
body.checkout-order-page-body .vt-footer.vt-footer-v51{
  margin-top:56px!important;
  padding:42px 0 18px!important;
  border-top:1px solid #e6e6e6!important;
  background:#fff!important;
  color:#171717!important;
  box-shadow:none!important;
}
.vt-footer-v51 .vt-footer-v51-container{
  max-width:1320px;
}
.vt-footer-v51 .vt-footer-v51-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:38px;
  align-items:start;
}
.vt-footer-v51 .vt-footer-v51-column{
  min-width:0;
}
.vt-footer-v51 .vt-footer-v51-column .vt-footer-v51-heading{
  margin:0!important;
  color:#b61116!important;
  font-size:clamp(1.03rem,1.35vw,1.35rem)!important;
  font-weight:900!important;
  line-height:1.28!important;
  text-transform:uppercase;
}
.vt-footer-v51 .vt-footer-v51-title-line{
  width:100%;
  height:2px;
  margin:13px 0 24px;
  background:linear-gradient(90deg,#efa80d 0 72%,#ececec 72% 100%);
}
.vt-footer-v51 .vt-footer-v51-brand-row{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:17px;
}
.vt-footer-v51 .vt-footer-v51-brand-row>img{
  width:70px!important;
  height:70px!important;
  flex:0 0 70px;
  border-radius:8px;
  object-fit:contain;
  background:#fff;
  border:1px solid #e5e7eb;
}
.vt-footer-v51 .vt-footer-v51-brand-row strong{
  display:block;
  color:#191919;
  font-size:1rem;
  line-height:1.35;
}
.vt-footer-v51 .vt-footer-v51-youtube{
  width:max-content;
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  margin:7px 0 0!important;
  padding:5px 9px;
  border-radius:4px;
  background:#e62117;
  color:#fff!important;
  font-size:.75rem;
  font-weight:800;
}
.vt-footer-v51 .vt-footer-v51-contact-list{
  display:grid;
  gap:0;
}
.vt-footer-v51 .vt-footer-v51-contact-list>a,
.vt-footer-v51 .vt-footer-v51-contact-list>div{
  min-height:43px;
  display:flex!important;
  align-items:center;
  gap:8px;
  margin:0!important;
  padding:9px 0;
  border-bottom:1px solid #ededed;
  color:#1d1d1d!important;
  text-decoration:none;
  font-size:.93rem;
  line-height:1.45;
}
.vt-footer-v51 .vt-footer-v51-contact-list i{
  flex:0 0 auto;
  color:#7aae26;
  font-size:.8rem;
}
.vt-footer-v51 .vt-footer-v51-contact-list b{
  color:#111;
}
.vt-footer-v51 .vt-footer-v51-social{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.vt-footer-v51 .vt-footer-v51-social a{
  width:38px;
  height:38px;
  display:grid!important;
  place-items:center;
  margin:0!important;
  border-radius:50%;
  color:#fff!important;
  text-decoration:none;
  font-size:1rem;
  transition:transform .18s ease,box-shadow .18s ease;
}
.vt-footer-v51 .vt-footer-v51-social a:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(15,23,42,.16);
}
.vt-footer-v51 .vt-footer-v51-social img{
  width:22px;
  height:22px;
  object-fit:contain;
}
.vt-footer-v51 .vt-footer-v51-social .is-facebook{background:#315da8;}
.vt-footer-v51 .vt-footer-v51-social .is-instagram{background:#3b6da7;}
.vt-footer-v51 .vt-footer-v51-social .is-tiktok{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-email{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-phone{background:#36c55f;}
.vt-footer-v51 .vt-footer-v51-social .is-youtube{background:#e62117;}
.vt-footer-v51 .vt-footer-v51-links{
  margin:0;
  padding-left:22px;
  color:#111;
}
 .vt-footer-v51 .vt-footer-v51-links li{
  margin:0 0 14px;
  padding-left:1px;
  line-height:1.5;
}
.vt-footer-v51 .vt-footer-v51-links li::marker{
  color:#111;
}
.vt-footer-v51 .vt-footer-v51-links a{
  display:inline!important;
  margin:0!important;
  color:#287db0!important;
  text-decoration:none;
  font-size:.96rem;
  overflow-wrap:anywhere;
}
.vt-footer-v51 .vt-footer-v51-links a:hover{
  color:#b61116!important;
  text-decoration:underline;
}
.vt-footer-v51 .vt-footer-v51-description{
  margin:0 0 22px;
  color:#171717;
  font-size:.96rem;
  line-height:1.65;
}
.vt-footer-v51 .vt-footer-v51-products{
  margin-top:0;
}
.vt-footer-v51 .vt-footer-v51-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-top:28px;
  padding-top:17px;
  border-top:1px solid #e7e7e7;
  color:#606060;
  font-size:.84rem;
}
.vt-footer-v51 .vt-footer-v51-bottom a{
  display:inline!important;
  margin:0!important;
  color:#222!important;
  font-weight:700;
  text-decoration:none;
}
.vt-footer-v51 .vt-footer-v51-bottom a:hover{
  color:#b61116!important;
  text-decoration:underline;
}

@media (max-width:1199.98px){
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px 42px;
  }
}
@media (max-width:767.98px){
  body:not(.admin-body) > .vt-footer.vt-footer-v51,
  body.checkout-order-page-body .vt-footer.vt-footer-v51{
    margin-top:36px!important;
    padding:32px 0 16px!important;
  }
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:1fr;
    gap:31px;
  }
  .vt-footer-v51 .vt-footer-v51-title-line{
    margin:10px 0 18px;
  }
  .vt-footer-v51 .vt-footer-v51-brand-row>img{
    width:58px!important;
    height:58px!important;
    flex-basis:58px;
  }
  .vt-footer-v51 .vt-footer-v51-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}

.vt-footer-v51 .vt-footer-v51-brand-copy{min-width:0;}
.vt-footer-v51 .vt-footer-v51-youtube span{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:3px;background:#f2f2f2;color:#6b7280;font-weight:700;}
.vt-footer-v51 .vt-footer-v51-social .is-email{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-phone{background:#36c55f;}
.vt-footer-v51 .vt-footer-v51-social .is-youtube{background:#e62117;}
@media (max-width:1199.98px){
  .vt-footer-v51 .vt-footer-v51-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:1 / -1;}
}
@media (max-width:767.98px){
  .vt-footer-v51 .vt-footer-v51-grid{grid-template-columns:1fr;}
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:auto;}
}

/* V53: bốn cột chân trang cân đều như mẫu tham chiếu. */
@media (min-width:1200px){
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:34px!important;
  }
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:auto!important;}
  .vt-footer-v51 .vt-footer-v51-column .vt-footer-v51-heading{white-space:nowrap;}
}
.vt-footer-v51 .vt-footer-v51-follow .vt-footer-v51-description{
  margin-bottom:20px;
  color:#171717;
  line-height:1.7;
}
.vt-footer-v51 .vt-footer-v51-follow .vt-footer-v51-products{
  padding-left:22px;
}

/* ===== Nguồn hợp nhất: theme-public-v54.css ===== */
/* V53 — khôi phục cột Theo dõi chúng tôi và cân đều 4 cột chân trang. */

/* Sau khi bỏ bộ lọc Có video/Có ảnh, các nút sao giữ bố cục cân đối trên mobile. */
@media (max-width:575.98px){
  .vtw-review-filters-v44{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .vtw-review-filters-v44 button:nth-last-child(-n+2){
    grid-column:auto!important;
  }
}

body:not(.admin-body) > .vt-footer.vt-footer-v51,
body.checkout-order-page-body .vt-footer.vt-footer-v51{
  margin-top:56px!important;
  padding:42px 0 18px!important;
  border-top:1px solid #e6e6e6!important;
  background:#fff!important;
  color:#171717!important;
  box-shadow:none!important;
}
.vt-footer-v51 .vt-footer-v51-container{
  max-width:1320px;
}
.vt-footer-v51 .vt-footer-v51-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:38px;
  align-items:start;
}
.vt-footer-v51 .vt-footer-v51-column{
  min-width:0;
}
.vt-footer-v51 .vt-footer-v51-column .vt-footer-v51-heading{
  margin:0!important;
  color:#b61116!important;
  font-size:clamp(1.03rem,1.35vw,1.35rem)!important;
  font-weight:900!important;
  line-height:1.28!important;
  text-transform:uppercase;
}
.vt-footer-v51 .vt-footer-v51-title-line{
  width:100%;
  height:2px;
  margin:13px 0 24px;
  background:linear-gradient(90deg,#efa80d 0 72%,#ececec 72% 100%);
}
.vt-footer-v51 .vt-footer-v51-brand-row{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:17px;
}
.vt-footer-v51 .vt-footer-v51-brand-row>img{
  width:70px!important;
  height:70px!important;
  flex:0 0 70px;
  border-radius:8px;
  object-fit:contain;
  background:#fff;
  border:1px solid #e5e7eb;
}
.vt-footer-v51 .vt-footer-v51-brand-row strong{
  display:block;
  color:#191919;
  font-size:1rem;
  line-height:1.35;
}
.vt-footer-v51 .vt-footer-v51-youtube{
  width:max-content;
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  margin:7px 0 0!important;
  padding:5px 9px;
  border-radius:4px;
  background:#e62117;
  color:#fff!important;
  font-size:.75rem;
  font-weight:800;
}
.vt-footer-v51 .vt-footer-v51-contact-list{
  display:grid;
  gap:0;
}
.vt-footer-v51 .vt-footer-v51-contact-list>a,
.vt-footer-v51 .vt-footer-v51-contact-list>div{
  min-height:43px;
  display:flex!important;
  align-items:center;
  gap:8px;
  margin:0!important;
  padding:9px 0;
  border-bottom:1px solid #ededed;
  color:#1d1d1d!important;
  text-decoration:none;
  font-size:.93rem;
  line-height:1.45;
}
.vt-footer-v51 .vt-footer-v51-contact-list i{
  flex:0 0 auto;
  color:#7aae26;
  font-size:.8rem;
}
.vt-footer-v51 .vt-footer-v51-contact-list b{
  color:#111;
}
.vt-footer-v51 .vt-footer-v51-social{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.vt-footer-v51 .vt-footer-v51-social a{
  width:38px;
  height:38px;
  display:grid!important;
  place-items:center;
  margin:0!important;
  border-radius:50%;
  color:#fff!important;
  text-decoration:none;
  font-size:1rem;
  transition:transform .18s ease,box-shadow .18s ease;
}
.vt-footer-v51 .vt-footer-v51-social a:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(15,23,42,.16);
}
.vt-footer-v51 .vt-footer-v51-social img{
  width:22px;
  height:22px;
  object-fit:contain;
}
.vt-footer-v51 .vt-footer-v51-social .is-facebook{background:#315da8;}
.vt-footer-v51 .vt-footer-v51-social .is-instagram{background:#3b6da7;}
.vt-footer-v51 .vt-footer-v51-social .is-tiktok{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-email{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-phone{background:#36c55f;}
.vt-footer-v51 .vt-footer-v51-social .is-youtube{background:#e62117;}
.vt-footer-v51 .vt-footer-v51-links{
  margin:0;
  padding-left:22px;
  color:#111;
}
 .vt-footer-v51 .vt-footer-v51-links li{
  margin:0 0 14px;
  padding-left:1px;
  line-height:1.5;
}
.vt-footer-v51 .vt-footer-v51-links li::marker{
  color:#111;
}
.vt-footer-v51 .vt-footer-v51-links a{
  display:inline!important;
  margin:0!important;
  color:#287db0!important;
  text-decoration:none;
  font-size:.96rem;
  overflow-wrap:anywhere;
}
.vt-footer-v51 .vt-footer-v51-links a:hover{
  color:#b61116!important;
  text-decoration:underline;
}
.vt-footer-v51 .vt-footer-v51-description{
  margin:0 0 22px;
  color:#171717;
  font-size:.96rem;
  line-height:1.65;
}
.vt-footer-v51 .vt-footer-v51-products{
  margin-top:0;
}
.vt-footer-v51 .vt-footer-v51-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-top:28px;
  padding-top:17px;
  border-top:1px solid #e7e7e7;
  color:#606060;
  font-size:.84rem;
}
.vt-footer-v51 .vt-footer-v51-bottom a{
  display:inline!important;
  margin:0!important;
  color:#222!important;
  font-weight:700;
  text-decoration:none;
}
.vt-footer-v51 .vt-footer-v51-bottom a:hover{
  color:#b61116!important;
  text-decoration:underline;
}

@media (max-width:1199.98px){
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px 42px;
  }
}
@media (max-width:767.98px){
  body:not(.admin-body) > .vt-footer.vt-footer-v51,
  body.checkout-order-page-body .vt-footer.vt-footer-v51{
    margin-top:36px!important;
    padding:32px 0 16px!important;
  }
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:1fr;
    gap:31px;
  }
  .vt-footer-v51 .vt-footer-v51-title-line{
    margin:10px 0 18px;
  }
  .vt-footer-v51 .vt-footer-v51-brand-row>img{
    width:58px!important;
    height:58px!important;
    flex-basis:58px;
  }
  .vt-footer-v51 .vt-footer-v51-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}

.vt-footer-v51 .vt-footer-v51-brand-copy{min-width:0;}
.vt-footer-v51 .vt-footer-v51-youtube span{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:3px;background:#f2f2f2;color:#6b7280;font-weight:700;}
.vt-footer-v51 .vt-footer-v51-social .is-email{background:#111;}
.vt-footer-v51 .vt-footer-v51-social .is-phone{background:#36c55f;}
.vt-footer-v51 .vt-footer-v51-social .is-youtube{background:#e62117;}
@media (max-width:1199.98px){
  .vt-footer-v51 .vt-footer-v51-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:1 / -1;}
}
@media (max-width:767.98px){
  .vt-footer-v51 .vt-footer-v51-grid{grid-template-columns:1fr;}
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:auto;}
}

/* V53: bốn cột chân trang cân đều như mẫu tham chiếu. */
@media (min-width:1200px){
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:34px!important;
  }
  .vt-footer-v51 .vt-footer-v51-contact{grid-column:auto!important;}
  .vt-footer-v51 .vt-footer-v51-column .vt-footer-v51-heading{white-space:nowrap;}
}
.vt-footer-v51 .vt-footer-v51-follow .vt-footer-v51-description{
  margin-bottom:20px;
  color:#171717;
  line-height:1.7;
}
.vt-footer-v51 .vt-footer-v51-follow .vt-footer-v51-products{
  padding-left:22px;
}


/* V54: thu gọn chiều cao chân trang desktop theo mẫu tham chiếu. */
@media (min-width:1200px){
  body:not(.admin-body) > .vt-footer.vt-footer-v51,
  body.checkout-order-page-body .vt-footer.vt-footer-v51{
    margin-top:34px!important;
    padding:24px 0 10px!important;
  }
  .vt-footer-v51 .vt-footer-v51-container{
    max-width:1280px!important;
  }
  .vt-footer-v51 .vt-footer-v51-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:28px!important;
  }
  .vt-footer-v51 .vt-footer-v51-column .vt-footer-v51-heading{
    font-size:1.03rem!important;
    line-height:1.18!important;
  }
  .vt-footer-v51 .vt-footer-v51-title-line{
    height:1px!important;
    margin:8px 0 14px!important;
  }
  .vt-footer-v51 .vt-footer-v51-brand-row{
    gap:10px!important;
    margin-bottom:10px!important;
  }
  .vt-footer-v51 .vt-footer-v51-brand-row>img{
    width:54px!important;
    height:54px!important;
    flex-basis:54px!important;
  }
  .vt-footer-v51 .vt-footer-v51-brand-row strong{
    font-size:.86rem!important;
    line-height:1.25!important;
  }
  .vt-footer-v51 .vt-footer-v51-youtube{
    gap:4px!important;
    margin-top:4px!important;
    padding:3px 6px!important;
    font-size:.67rem!important;
  }
  .vt-footer-v51 .vt-footer-v51-youtube span{
    margin-left:3px!important;
    padding:1px 5px!important;
  }
  .vt-footer-v51 .vt-footer-v51-contact-list>a,
  .vt-footer-v51 .vt-footer-v51-contact-list>div{
    min-height:31px!important;
    gap:6px!important;
    padding:5px 0!important;
    font-size:.79rem!important;
    line-height:1.28!important;
  }
  .vt-footer-v51 .vt-footer-v51-contact-list i{
    font-size:.68rem!important;
  }
  .vt-footer-v51 .vt-footer-v51-social{
    gap:7px!important;
    margin-top:12px!important;
  }
  .vt-footer-v51 .vt-footer-v51-social a{
    width:32px!important;
    height:32px!important;
    font-size:.88rem!important;
  }
  .vt-footer-v51 .vt-footer-v51-links{
    padding-left:19px!important;
  }
  .vt-footer-v51 .vt-footer-v51-links li{
    margin-bottom:8px!important;
    line-height:1.35!important;
  }
  .vt-footer-v51 .vt-footer-v51-links a{
    font-size:.82rem!important;
    line-height:1.35!important;
  }
  .vt-footer-v51 .vt-footer-v51-description,
  .vt-footer-v51 .vt-footer-v51-follow .vt-footer-v51-description{
    margin-bottom:11px!important;
    font-size:.82rem!important;
    line-height:1.45!important;
  }
  .vt-footer-v51 .vt-footer-v51-bottom{
    margin-top:14px!important;
    padding-top:9px!important;
    font-size:.76rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v55.css ===== */
/* V55 — mô tả chi tiết hiển thị đúng định dạng đang thấy trong trình soạn thảo admin. */

/* Phạm vi chỉ áp dụng cho mô tả chính của sản phẩm, không ảnh hưởng giao diện khác. */
.vtw-tab-content-v20 .vtw-rich-content-exact-v45{
  color:#111827!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.72!important;
  overflow-wrap:anywhere;
}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45>h1:first-child,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45>h2:first-child,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45>h3:first-child{
  margin-top:0!important;
}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h1,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h2,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h3,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h4,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h5,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h6{
  color:#1675bd!important;
  font-family:inherit!important;
  font-weight:700!important;
  line-height:1.28!important;
  letter-spacing:0!important;
  text-transform:none!important;
  margin:1.3em 0 .62em!important;
}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h1{font-size:34px!important}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h2{font-size:30px!important}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h3{font-size:23px!important}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 h4{font-size:19px!important}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 p,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 li,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 blockquote,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 td,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 th{
  color:#111827!important;
  font-family:inherit;
  font-size:16px!important;
  font-weight:400!important;
  text-transform:none!important;
}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 p{margin:0 0 1.1em!important}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 ul,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 ol{
  margin:0 0 1.15em!important;
  padding-left:1.55em!important;
}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 li+li{margin-top:.55em}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 a{
  color:#1675bd!important;
  text-decoration:underline;
}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 img,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 iframe,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 video{
  max-width:100%!important;
  height:auto;
}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 table{
  width:100%;
  max-width:100%;
  border-collapse:collapse;
  margin:1rem 0;
}
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 th,
.vtw-tab-content-v20 .vtw-rich-content-exact-v45 td{
  border:1px solid #dbe4ee;
  padding:9px 11px;
}

/* Giá trị style đã nạp/lưu trong nội dung luôn được ưu tiên hơn màu giao diện website. */
.vtw-rich-content-exact-v45 [style*="--vtw-source-color"]{color:var(--vtw-source-color)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-background-color"]{background-color:var(--vtw-source-background-color)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-font-family"]{font-family:var(--vtw-source-font-family)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-font-size"]{font-size:var(--vtw-source-font-size)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-font-weight"]{font-weight:var(--vtw-source-font-weight)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-font-style"]{font-style:var(--vtw-source-font-style)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-font-variant"]{font-variant:var(--vtw-source-font-variant)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-text-align"]{text-align:var(--vtw-source-text-align)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-line-height"]{line-height:var(--vtw-source-line-height)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-letter-spacing"]{letter-spacing:var(--vtw-source-letter-spacing)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-text-transform"]{text-transform:var(--vtw-source-text-transform)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-text-decoration"]{text-decoration:var(--vtw-source-text-decoration)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-text-decoration-line"]{text-decoration-line:var(--vtw-source-text-decoration-line)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-text-decoration-style"]{text-decoration-style:var(--vtw-source-text-decoration-style)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-text-decoration-color"]{text-decoration-color:var(--vtw-source-text-decoration-color)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-white-space"]{white-space:var(--vtw-source-white-space)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-vertical-align"]{vertical-align:var(--vtw-source-vertical-align)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-text-indent"]{text-indent:var(--vtw-source-text-indent)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-margin"]{margin:var(--vtw-source-margin)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-margin-top"]{margin-top:var(--vtw-source-margin-top)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-margin-right"]{margin-right:var(--vtw-source-margin-right)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-margin-bottom"]{margin-bottom:var(--vtw-source-margin-bottom)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-margin-left"]{margin-left:var(--vtw-source-margin-left)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-padding"]{padding:var(--vtw-source-padding)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-padding-top"]{padding-top:var(--vtw-source-padding-top)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-padding-right"]{padding-right:var(--vtw-source-padding-right)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-padding-bottom"]{padding-bottom:var(--vtw-source-padding-bottom)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-padding-left"]{padding-left:var(--vtw-source-padding-left)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-list-style-type"]{list-style-type:var(--vtw-source-list-style-type)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-border"]{border:var(--vtw-source-border)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-border-top"]{border-top:var(--vtw-source-border-top)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-border-right"]{border-right:var(--vtw-source-border-right)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-border-bottom"]{border-bottom:var(--vtw-source-border-bottom)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-border-left"]{border-left:var(--vtw-source-border-left)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-border-color"]{border-color:var(--vtw-source-border-color)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-border-style"]{border-style:var(--vtw-source-border-style)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-border-width"]{border-width:var(--vtw-source-border-width)!important}
.vtw-rich-content-exact-v45 [style*="--vtw-source-border-collapse"]{border-collapse:var(--vtw-source-border-collapse)!important}

@media(max-width:767.98px){
  .vtw-tab-content-v20 .vtw-rich-content-exact-v45{
    font-size:15px!important;
  }
  .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h1{font-size:28px!important}
  .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h2{font-size:25px!important}
  .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h3{font-size:20px!important}
  .vtw-tab-content-v20 .vtw-rich-content-exact-v45 p,
  .vtw-tab-content-v20 .vtw-rich-content-exact-v45 li,
  .vtw-tab-content-v20 .vtw-rich-content-exact-v45 td,
  .vtw-tab-content-v20 .vtw-rich-content-exact-v45 th{font-size:15px!important}
}

/* ===== Nguồn hợp nhất: theme-public-v56.css ===== */
/* V56 — bỏ liên kết Chính sách mua hàng cuối footer và đồng bộ nút lên đầu trang. */
.vt-footer-v51 .vt-footer-v51-bottom{
  justify-content:flex-start!important;
}

.vt-scroll-top-btn{
  right:20px!important;
  bottom:20px!important;
  width:42px!important;
  height:42px!important;
  border:1px solid #168a3b!important;
  border-radius:50%!important;
  background:#20a84a!important;
  color:#fff!important;
  font-size:18px!important;
  box-shadow:0 6px 16px rgba(21,128,61,.20)!important;
  filter:none!important;
}
.vt-scroll-top-btn i{
  display:block;
  line-height:1;
}
.vt-scroll-top-btn:hover,
.vt-scroll-top-btn:focus-visible{
  background:#178d3d!important;
  border-color:#147a35!important;
  color:#fff!important;
  filter:none!important;
  transform:translateY(-2px) scale(1)!important;
}
.vt-scroll-top-btn:focus-visible{
  outline:3px solid rgba(32,168,74,.22)!important;
  outline-offset:3px;
}
@media (max-width:575.98px){
  .vt-scroll-top-btn{
    right:12px!important;
    bottom:14px!important;
    width:40px!important;
    height:40px!important;
    font-size:17px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v57.css ===== */
/* V57 — tăng nhẹ cỡ chữ riêng hai cột danh mục ở chân trang desktop. */
@media (min-width: 992px){
  .vt-footer-v51 .vt-footer-v51-grid > .vt-footer-v51-column:nth-child(2) .vt-footer-v51-links a,
  .vt-footer-v51 .vt-footer-v51-grid > .vt-footer-v51-column:nth-child(3) .vt-footer-v51-links a{
    font-size:15.5px!important;
    line-height:1.4!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v58.css ===== */
/* V58 — đồng bộ breadcrumb và kiểu chữ các cột liên kết ở chân trang. */

/* Breadcrumb của Tool AI, Giao Diện Web, Plugin WordPress, Themes và chi tiết dùng cùng vị trí. */
body:not(.admin-body) .product-catalog-v6,
body:not(.admin-body) .vtw-product-detail-v20{
  padding-top:22px!important;
}
body:not(.admin-body) .product-catalog-v6 .vtw-catalog-breadcrumb-v44,
body:not(.admin-body) .vtw-product-detail-v20 .vtw-breadcrumb-v44{
  width:100%!important;
  min-height:24px!important;
  margin:0 0 14px!important;
  padding:0!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  font-size:13px!important;
  line-height:1.35!important;
}

/* Chỉ phần “Mẫu / Mẫu giao diện / Plugin...” dùng màu đen; tên danh mục giữ màu xanh. */
.vt-footer-v51 .vt-footer-category-link-v58{
  color:#111!important;
  text-decoration:none!important;
}
.vt-footer-v51 .vt-footer-link-prefix-v58{
  color:#111!important;
}
.vt-footer-v51 .vt-footer-link-accent-v58{
  color:#1676b8!important;
}
.vt-footer-v51 .vt-footer-category-link-v58:hover .vt-footer-link-prefix-v58,
.vt-footer-v51 .vt-footer-category-link-v58:focus-visible .vt-footer-link-prefix-v58{
  color:#111!important;
}
.vt-footer-v51 .vt-footer-category-link-v58:hover .vt-footer-link-accent-v58,
.vt-footer-v51 .vt-footer-category-link-v58:focus-visible .vt-footer-link-accent-v58{
  color:#b61116!important;
  text-decoration:underline;
}

/* Cột Theo dõi chúng tôi dùng cùng cỡ chữ với hai cột danh mục. */
@media (min-width:992px){
  .vt-footer-v51 .vt-footer-v51-grid > .vt-footer-v51-column:nth-child(2) .vt-footer-v51-links a,
  .vt-footer-v51 .vt-footer-v51-grid > .vt-footer-v51-column:nth-child(3) .vt-footer-v51-links a,
  .vt-footer-v51 .vt-footer-v51-follow .vt-footer-v51-links a,
  .vt-footer-v51 .vt-footer-v51-follow .vt-footer-v51-description{
    font-size:15.5px!important;
    line-height:1.4!important;
  }
}

@media (max-width:991.98px){
  body:not(.admin-body) .product-catalog-v6,
  body:not(.admin-body) .vtw-product-detail-v20{
    padding-top:14px!important;
  }
  body:not(.admin-body) .product-catalog-v6 .vtw-catalog-breadcrumb-v44,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-breadcrumb-v44{
    margin-bottom:12px!important;
    font-size:12.5px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v59.css ===== */
/* V59 — đồng bộ chiều cao thẻ sản phẩm và cân tên tối đa hai dòng. */

body:not(.admin-body) .product-grid-v7{
  align-items:stretch!important;
}
body:not(.admin-body) .product-grid-v7>[class*="col-"]{
  display:flex!important;
  align-items:stretch!important;
}
body:not(.admin-body) .product-grid-v7 .course-card-v2{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
}
body:not(.admin-body) .product-grid-v7 .course-thumb-v2{
  flex:0 0 auto!important;
}
body:not(.admin-body) .product-catalog-v6 .course-body-clean-v16{
  flex:1 1 auto!important;
  min-height:126px!important;
  display:flex!important;
  flex-direction:column!important;
}
body:not(.admin-body) .product-catalog-v6 .course-body-clean-v16 .course-title-v2{
  min-height:2.44em!important;
  max-height:2.44em!important;
  margin:0 0 8px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  line-height:1.22!important;
  text-wrap:balance!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
body:not(.admin-body) .product-catalog-v6 .course-body-clean-v16 .course-price-actions-v9{
  margin-top:auto!important;
  padding-top:4px!important;
}

@media(max-width:767.98px){
  body:not(.admin-body) .product-catalog-v6 .course-body-clean-v16{
    min-height:118px!important;
  }
  body:not(.admin-body) .product-catalog-v6 .course-body-clean-v16 .course-title-v2{
    min-height:2.7em!important;
    max-height:2.7em!important;
    line-height:1.35!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v60.css ===== */
/* V60 — bỏ toàn bộ nhãn/icon Premium; tài khoản đã mua hàng dùng viền avatar nhiều màu. */

.public-avatar-tier-icon,
.pu-mini-tier-icon,
.public-membership-status,
.pu-membership-line{
  display:none!important;
}

.public-avatar-ring.is-standard::before,
.pu-mini-avatar-ring.is-standard::before{
  background:linear-gradient(135deg,#d8ebe0 0%,#f4faf6 52%,#b9dec7 100%)!important;
  box-shadow:0 0 0 1px rgba(22,163,74,.16),0 5px 14px rgba(22,163,74,.10)!important;
  animation:none!important;
}

.public-avatar-ring.has-purchase::before,
.pu-mini-avatar-ring.has-purchase::before{
  background:conic-gradient(from 0deg,#ef4444,#f59e0b,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444)!important;
  box-shadow:0 0 15px rgba(59,130,246,.24),0 0 22px rgba(34,197,94,.18),0 0 25px rgba(236,72,153,.15)!important;
  animation:vtPurchasedRingSpin 5s linear infinite!important;
}

.public-avatar-ring.has-purchase::after,
.pu-mini-avatar-ring.has-purchase::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  background:conic-gradient(from 180deg,rgba(239,68,68,.15),rgba(245,158,11,.15),rgba(34,197,94,.15),rgba(59,130,246,.15),rgba(139,92,246,.15),rgba(236,72,153,.15),rgba(239,68,68,.15));
  filter:blur(7px);
  z-index:-1;
  animation:vtPurchasedRingSpin 7s linear infinite reverse;
}

.public-avatar-ring.is-standard::after,
.pu-mini-avatar-ring.is-standard::after{
  content:none!important;
}

@keyframes vtPurchasedRingSpin{to{transform:rotate(360deg)}}

.public-avatar-identity{
  gap:0!important;
}

.public-avatar-name{
  line-height:1.25!important;
}

.public-user-menu .pu-mini-info{
  justify-content:center;
}

@media (prefers-reduced-motion:reduce){
  .public-avatar-ring.has-purchase::before,
  .pu-mini-avatar-ring.has-purchase::before,
  .public-avatar-ring.has-purchase::after,
  .pu-mini-avatar-ring.has-purchase::after{
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v61.css ===== */
/* V61 — căn giữa copyright và đồng bộ tên thương hiệu. */

.vt-footer-v51 .vt-footer-v51-bottom{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}

.vt-footer-v51 .vt-footer-v51-bottom span{
  width:100%!important;
  display:block!important;
  text-align:center!important;
}

/* ===== Nguồn hợp nhất: theme-public-v63.css ===== */
/* V63 — nút liên hệ nổi chỉ hiển thị icon, bỏ toàn bộ viền/nền xanh bên ngoài. */
body:not(.admin-body) .vt-contact-toggle{
  width:48px!important;
  height:48px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body:not(.admin-body) .vt-contact-toggle:hover{
  transform:translateY(-2px)!important;
  box-shadow:none!important;
}
body:not(.admin-body) .vt-contact-toggle::before,
body:not(.admin-body) .vt-contact-toggle::after{
  content:none!important;
  display:none!important;
}
body:not(.admin-body) .vt-contact-toggle-ring{
  width:48px!important;
  height:48px!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body:not(.admin-body) .vt-contact-cycle,
body:not(.admin-body) .vt-contact-close{
  color:#0b4ca5!important;
  font-size:30px!important;
}
body:not(.admin-body) .vt-contact-cycle img{
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 12px rgba(15,23,42,.18));
}
body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="zalo"]{
  padding:0!important;
}
body:not(.admin-body) .vt-contact-close{
  width:42px!important;
  height:42px!important;
  inset:3px!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#0b4ca5!important;
  box-shadow:0 5px 14px rgba(15,23,42,.15)!important;
  font-size:22px!important;
}
@media (max-width:767.98px){
  body:not(.admin-body) .vt-contact-toggle,
  body:not(.admin-body) .vt-contact-toggle-ring{
    width:44px!important;
    height:44px!important;
  }
  body:not(.admin-body) .vt-contact-cycle img{
    width:42px!important;
    height:42px!important;
  }
  body:not(.admin-body) .vt-contact-cycle,
  body:not(.admin-body) .vt-contact-close{
    font-size:27px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v64.css ===== */
/* V64 — bố trí lại tổng quan, bảo mật và cột thao tác tài khoản. */

/* Đơn hàng gần đây: mã đơn, sản phẩm, giá/ngày và trạng thái luôn nằm cùng một hàng desktop. */
.account-overview-grid-v19 .account-recent-orders-v19 article{
  display:block!important;
  padding:0!important;
}
.account-overview-grid-v19 .account-order-inline-v64{
  display:grid!important;
  grid-template-columns:minmax(210px,.85fr) minmax(320px,1.75fr) minmax(120px,.5fr) minmax(112px,.45fr)!important;
  gap:20px!important;
  align-items:center!important;
  width:100%!important;
  min-height:92px!important;
  padding:15px 0!important;
  border-bottom:1px solid #edf2ef!important;
}
.account-overview-grid-v19 .account-recent-orders-v19 article:last-child .account-order-inline-v64{
  border-bottom:0!important;
}
.account-overview-grid-v19 .account-order-inline-v64 .account-order-code-v19,
.account-overview-grid-v19 .account-order-inline-v64 .account-order-product-v19,
.account-overview-grid-v19 .account-order-inline-v64 .account-order-meta-v19{
  grid-column:auto!important;
  min-width:0!important;
  margin:0!important;
}
.account-overview-grid-v19 .account-order-inline-v64 .account-order-product-v19 strong{
  display:block!important;
  margin:0!important;
  line-height:1.4!important;
}
.account-overview-grid-v19 .account-order-inline-v64 .account-order-meta-v19{
  align-items:flex-start!important;
  text-align:left!important;
}
.account-overview-grid-v19 .account-order-inline-v64 .account-order-status-v19{
  grid-column:auto!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
}

/* Trang bảo mật: đổi mật khẩu trước, thiết bị và xác minh 2 bước nằm bên dưới. */
.account-security-page-v46 #account-password-v46{order:1;}
.account-security-page-v46 #account-devices-v46{order:2;}
.account-security-page-v46 #account-mfa-v46{order:3;}

/* Tool của tôi: tiêu đề Thao tác và toàn bộ nút căn trái. */
.account-products-head-v19 span:last-child{
  justify-self:start!important;
  text-align:left!important;
}
.account-product-actions-v19{
  width:100%!important;
  justify-content:flex-start!important;
  justify-self:start!important;
  text-align:left!important;
}
.account-product-actions-v19 a{
  justify-content:flex-start!important;
}

@media (max-width:991.98px){
  .account-overview-grid-v19 .account-order-inline-v64{
    grid-template-columns:minmax(0,1fr) minmax(120px,.45fr)!important;
    gap:10px 16px!important;
    min-height:0!important;
    padding:15px 0!important;
  }
  .account-overview-grid-v19 .account-order-inline-v64 .account-order-product-v19{
    grid-column:1!important;
  }
  .account-overview-grid-v19 .account-order-inline-v64 .account-order-meta-v19{
    grid-column:2!important;
    grid-row:1!important;
  }
  .account-overview-grid-v19 .account-order-inline-v64 .account-order-status-v19{
    grid-column:2!important;
    grid-row:2!important;
  }
}

@media (max-width:575.98px){
  .account-overview-grid-v19 .account-order-inline-v64{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .account-overview-grid-v19 .account-order-inline-v64 .account-order-code-v19,
  .account-overview-grid-v19 .account-order-inline-v64 .account-order-product-v19,
  .account-overview-grid-v19 .account-order-inline-v64 .account-order-meta-v19,
  .account-overview-grid-v19 .account-order-inline-v64 .account-order-status-v19{
    grid-column:1!important;
    grid-row:auto!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
  .account-product-actions-v19{
    padding-left:75px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v65.css ===== */
/* V65 — viền mỏng cho nút liên hệ và AI hỗ trợ thật bằng Gemini. */
body:not(.admin-body) .vt-contact-toggle{
  width:52px!important;
  height:52px!important;
  padding:2px!important;
  border:1.5px solid #2f80ed!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(37,99,235,.14)!important;
}
body:not(.admin-body) .vt-contact-toggle-ring{
  width:46px!important;
  height:46px!important;
}
body:not(.admin-body) .vt-contact-toggle:hover{
  border-color:#1769d2!important;
  box-shadow:0 10px 22px rgba(37,99,235,.2)!important;
}

.vt-ai-widget{
  position:fixed;
  left:22px;
  bottom:88px;
  z-index:1096;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  font-family:Roboto,Arial,sans-serif;
}
.vt-ai-toggle{
  width:52px;
  height:52px;
  padding:0;
  border:1px solid #1f6ed4;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  background:linear-gradient(145deg,#1769d2,#6948d8);
  color:#fff;
  box-shadow:0 9px 22px rgba(42,82,178,.25);
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
.vt-ai-toggle i{font-size:18px;line-height:1;}
.vt-ai-toggle span{font-size:11px;font-weight:900;line-height:1;margin-top:2px;}
.vt-ai-toggle:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(42,82,178,.32);}
.vt-ai-toggle:focus-visible{outline:3px solid rgba(47,128,237,.28);outline-offset:3px;}
.vt-ai-panel{
  width:min(380px,calc(100vw - 32px));
  max-height:min(610px,calc(100vh - 130px));
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid #d7e4f5;
  border-radius:20px;
  background:#fff;
  box-shadow:0 22px 56px rgba(15,42,82,.24);
}
.vt-ai-panel[hidden]{display:none!important;}
.vt-ai-header{
  min-height:66px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(135deg,#edf5ff,#f4f0ff);
  border-bottom:1px solid #dce8f6;
}
.vt-ai-title-wrap{display:flex;align-items:center;gap:10px;min-width:0;}
.vt-ai-avatar{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#1769d2,#6948d8);color:#fff;font-size:19px;box-shadow:0 7px 16px rgba(56,78,183,.2);}
.vt-ai-title-wrap strong{display:block;color:#101d32;font-size:16px;line-height:1.25;}
.vt-ai-title-wrap small{display:flex;align-items:center;gap:5px;color:#5d6c80;font-size:12px;margin-top:2px;}
.vt-ai-title-wrap small span{width:7px;height:7px;border-radius:50%;background:#20a354;box-shadow:0 0 0 3px rgba(32,163,84,.12);}
.vt-ai-header-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto;}
.vt-ai-refresh,.vt-ai-close{width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.75);color:#40516a;display:grid;place-items:center;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease;}
.vt-ai-refresh:hover,.vt-ai-close:hover{background:#fff;color:#111827;}
.vt-ai-refresh:active,.vt-ai-close:active{transform:scale(.95);}
.vt-ai-refresh:focus-visible,.vt-ai-close:focus-visible{outline:3px solid rgba(65,143,9,.22);outline-offset:2px;}
.vt-ai-refresh i{font-size:17px;line-height:1;}
.vt-ai-messages{min-height:190px;max-height:330px;overflow:auto;padding:15px 13px 8px;background:#fbfdff;scrollbar-width:thin;}
.vt-ai-message{display:flex;margin-bottom:11px;}
.vt-ai-message.is-user{justify-content:flex-end;}
.vt-ai-bubble{max-width:86%;padding:10px 12px;border-radius:15px 15px 15px 4px;background:#eef4fb;color:#172033;font-size:13.5px;line-height:1.55;overflow-wrap:anywhere;}
.vt-ai-message.is-user .vt-ai-bubble{border-radius:15px 15px 4px 15px;background:#1769d2;color:#fff;}
.vt-ai-bubble a{color:#0b62c4;font-weight:700;text-decoration:underline;}
.vt-ai-message.is-user .vt-ai-bubble a{color:#fff;}
.vt-ai-bubble.is-typing{display:flex;align-items:center;gap:5px;min-width:54px;}
.vt-ai-bubble.is-typing span{width:7px;height:7px;border-radius:50%;background:#7890ad;animation:vtAiTyping 1s infinite ease-in-out;}
.vt-ai-bubble.is-typing span:nth-child(2){animation-delay:.14s}.vt-ai-bubble.is-typing span:nth-child(3){animation-delay:.28s}
@keyframes vtAiTyping{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-4px);opacity:1}}
.vt-ai-suggestions{display:flex;gap:7px;overflow-x:auto;padding:7px 13px 10px;background:#fbfdff;scrollbar-width:none;}
.vt-ai-suggestions::-webkit-scrollbar{display:none;}
.vt-ai-suggestions button{flex:0 0 auto;border:1px solid #cbdcf2;border-radius:999px;padding:7px 10px;background:#fff;color:#245b9f;font-size:12px;line-height:1.2;cursor:pointer;}
.vt-ai-suggestions button:hover{border-color:#2f80ed;background:#f2f7ff;}
.vt-ai-suggestions button:disabled{opacity:.45;cursor:not-allowed;}
.vt-ai-form{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;padding:10px 12px;border-top:1px solid #e2eaf4;background:#fff;}
.vt-ai-form textarea{min-height:42px;max-height:96px;resize:none;border:1px solid #cddbeb;border-radius:13px;padding:10px 11px;color:#111827;background:#fff;font-size:13.5px;line-height:1.45;outline:none;}
.vt-ai-form textarea:focus{border-color:#2f80ed;box-shadow:0 0 0 3px rgba(47,128,237,.12);}
.vt-ai-form button{width:42px;height:42px;border:0;border-radius:12px;background:#1769d2;color:#fff;display:grid;place-items:center;font-size:16px;cursor:pointer;}
.vt-ai-form button:disabled,.vt-ai-form textarea:disabled{opacity:.52;cursor:not-allowed;}
.vt-ai-note{padding:0 13px 10px;color:#788598;background:#fff;font-size:10.5px;line-height:1.35;}
.vt-ai-widget.is-busy .vt-ai-toggle i{animation:vtAiSpin 1.1s linear infinite;}
@keyframes vtAiSpin{to{transform:rotate(360deg)}}

@media(max-width:767.98px){
  body:not(.admin-body) .vt-contact-toggle{width:48px!important;height:48px!important;}
  body:not(.admin-body) .vt-contact-toggle-ring{width:42px!important;height:42px!important;}
  .vt-ai-widget{left:14px;bottom:128px;}
  .vt-ai-toggle{width:48px;height:48px;}
  .vt-ai-panel{width:min(360px,calc(100vw - 28px));max-height:calc(100vh - 150px);}
  .vt-ai-messages{max-height:290px;}
}
@media(prefers-reduced-motion:reduce){.vt-ai-toggle,.vt-ai-bubble.is-typing span{animation:none!important;transition:none!important;}}

/* ===== Nguồn hợp nhất: theme-public-v67.css ===== */
/* V67 — Trợ Lý AI Văn Thế Web: xác nhận thông tin khách trước khi sử dụng. */
.vt-ai-access[hidden],
.vt-ai-chat[hidden]{display:none!important;}

.vt-ai-panel{
  width:min(410px,calc(100vw - 32px));
}
.vt-ai-title-wrap>div{min-width:0;}
.vt-ai-title-wrap strong{
  font-size:15.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vt-ai-access{
  padding:18px 16px 16px;
  background:#fbfdff;
  overflow:auto;
}
.vt-ai-access-head{
  margin-bottom:14px;
}
.vt-ai-access-head strong{
  display:block;
  color:#101d32;
  font-size:16px;
  font-weight:800;
  line-height:1.35;
}
.vt-ai-access-head p{
  margin:6px 0 0;
  color:#64748b;
  font-size:12.5px;
  line-height:1.55;
}
.vt-ai-access-form{
  display:grid;
  gap:11px;
}
.vt-ai-access-form label{
  display:grid;
  gap:6px;
  margin:0;
}
.vt-ai-access-form label>span{
  color:#24364d;
  font-size:12.5px;
  font-weight:700;
}
.vt-ai-access-form input{
  width:100%;
  height:43px;
  border:1px solid #ccd9e8;
  border-radius:12px;
  background:#fff;
  color:#111827;
  padding:0 12px;
  font:inherit;
  font-size:13.5px;
  outline:none;
}
.vt-ai-access-form input:focus{
  border-color:#2f80ed;
  box-shadow:0 0 0 3px rgba(47,128,237,.12);
}
.vt-ai-access-form button{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:12px;
  background:#1769d2;
  color:#fff;
  font-size:13.5px;
  font-weight:800;
  cursor:pointer;
}
.vt-ai-access-form button:hover{background:#0f5dbd;}
.vt-ai-access-form button:disabled{opacity:.65;cursor:not-allowed;}
.vt-ai-access-error{
  padding:9px 11px;
  border:1px solid #f0b8b8;
  border-radius:10px;
  background:#fff2f2;
  color:#b42318;
  font-size:12px;
  line-height:1.45;
}
.vt-ai-access-login{
  margin:12px 0 0;
  text-align:center;
  color:#64748b;
  font-size:12px;
}
.vt-ai-access-login a{
  color:#1769d2;
  font-weight:800;
  text-decoration:none;
}
.vt-ai-chat{
  display:flex;
  min-height:0;
  flex:1 1 auto;
  flex-direction:column;
}
.vt-ai-list-line{display:inline-block;margin:1px 0;}

@media(max-width:575.98px){
  .vt-ai-panel{width:min(370px,calc(100vw - 24px));}
  .vt-ai-header{gap:8px;padding:11px 10px 11px 12px;}
  .vt-ai-title-wrap{gap:8px;}
  .vt-ai-title-wrap strong{font-size:14px;}
  .vt-ai-header-actions{gap:5px;}
  .vt-ai-refresh,.vt-ai-close{width:32px;height:32px;border-radius:9px;}
  .vt-ai-access{padding:15px 13px;}
}

/* ===== Nguồn hợp nhất: theme-public-v68.css ===== */
/* V68 — đồng bộ thông tin hóa đơn, lịch sử đơn hàng và thao tác sản phẩm số. */

.account-profile-invoice-head-v68{
  margin-top:26px!important;
  padding-top:24px!important;
  border-top:1px solid #e7eee9!important;
}
.account-profile-invoice-grid-v68{
  margin-top:16px!important;
}

@media (min-width:992px){
  .account-orders-head-v19.account-orders-head-v68,
  .account-order-row-v19.account-order-row-v68{
    grid-template-columns:minmax(245px,.95fr) minmax(300px,1.65fr) minmax(130px,.48fr) minmax(145px,.55fr)!important;
    gap:20px!important;
  }
  .account-order-row-v68 .account-order-code-cell-v19{
    min-width:0!important;
  }
  .account-order-row-v68 .account-order-code-cell-v19>a,
  .account-order-row-v68 .account-order-code-cell-v19>strong{
    display:block!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
  }
  .account-order-row-v68 .account-order-products-cell-v19{
    min-width:0!important;
  }
  .account-order-row-v68 .account-order-products-cell-v19 strong{
    display:block!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media (max-width:991.98px){
  .account-order-row-v68{
    grid-template-columns:minmax(0,1fr) minmax(130px,.42fr)!important;
  }
  .account-order-row-v68 .account-order-products-cell-v19{
    grid-column:1!important;
  }
  .account-order-row-v68 .account-order-total-cell-v19,
  .account-order-row-v68 .account-order-status-cell-v19{
    grid-column:2!important;
  }
}

@media (max-width:575.98px){
  .account-order-row-v68{
    grid-template-columns:1fr!important;
  }
  .account-order-row-v68>div{
    grid-column:1!important;
  }
  .account-order-row-v68 .account-order-code-cell-v19>a,
  .account-order-row-v68 .account-order-code-cell-v19>strong{
    overflow-wrap:anywhere!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v69.css ===== */
/* V69 — mobile catalog, menu tài khoản và các khu vực sản phẩm trang chủ. */

/* Trang chủ chia thành từng khu vực, mỗi khu vực chỉ hiển thị một nhóm sản phẩm ngắn gọn. */
.vtw-home-product-zones-v69{background:#fff;}
.vtw-home-product-zone-v69{padding:42px 0!important;background:#fff!important;}
.vtw-home-product-zone-v69.is-alt{background:#f7fbff!important;}
.vtw-home-zone-head-v69{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.vtw-home-zone-head-v69 span{
  display:block;
  margin-bottom:5px;
  color:#6b7a90;
  font-size:13px;
  font-weight:600;
}
.vtw-home-zone-head-v69 h2{
  margin:0;
  color:#101828;
  font-size:clamp(24px,2.1vw,32px);
  font-weight:800;
}
.vtw-home-zone-head-v69>a,
.vtw-home-zone-more-mobile-v69>a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#168442!important;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.vtw-home-product-card-v69{
  height:100%;
  display:flex!important;
  flex-direction:column;
  border:1px solid #e3ebf2;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 25px rgba(15,23,42,.05);
}
.vtw-home-product-card-v69 .vt-course-thumb{
  aspect-ratio:1/1;
  background:#f8fafc;
}
.vtw-home-product-card-v69 .vt-course-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.vtw-home-product-card-v69 .vt-course-body{
  min-height:118px;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:14px 15px 15px;
}
.vtw-home-product-card-v69 .vt-course-title{
  min-height:2.75em;
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  text-wrap:balance;
  color:#418f09!important;
  font-size:15.5px!important;
  line-height:1.36!important;
}
.vtw-home-product-card-v69 .vt-course-price{margin-top:auto;}
.vtw-home-zone-more-mobile-v69{display:none;margin-top:18px;text-align:center;}

/* Mobile: đã có nút tìm kiếm trên thanh điều hướng nên ẩn toolbar tìm/sắp xếp trong danh sách. */
@media (max-width:767.98px){
  body:not(.admin-body) .product-catalog-v6 .catalog-toolbar-v18{
    display:none!important;
  }
  body:not(.admin-body) .product-catalog-v6 .vtw-catalog-breadcrumb-v44{
    margin-bottom:10px!important;
  }

  .vtw-home-product-zone-v69{padding:28px 0!important;}
  .vtw-home-zone-head-v69{align-items:flex-start;margin-bottom:16px;}
  .vtw-home-zone-head-v69>div{min-width:0;}
  .vtw-home-zone-head-v69 h2{font-size:22px;}
  .vtw-home-zone-head-v69>div+ a{display:none!important;}
  .vtw-home-zone-more-mobile-v69{display:block;}
  .vtw-home-product-card-v69{border-radius:14px;}
  .vtw-home-product-card-v69 .vt-course-body{min-height:104px;padding:10px 10px 12px;}
  .vtw-home-product-card-v69 .vt-course-title{font-size:13px!important;line-height:1.3!important;}

  /* Dropdown tài khoản luôn nằm trọn trong màn hình, không bị Popper đẩy ra ngoài. */
  .main-navbar .public-user-dropdown-mobile .public-user-menu{
    position:fixed!important;
    top:72px!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
    inset:auto 10px auto 10px!important;
    max-height:calc(100dvh - 86px)!important;
    overflow:auto!important;
    border-radius:18px!important;
    z-index:1090!important;
  }
  .main-navbar .public-user-dropdown-mobile .pu-menu-profile{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:center!important;
  }
  .main-navbar .public-user-dropdown-mobile .pu-mini-info,
  .main-navbar .public-user-dropdown-mobile .pu-email-line,
  .main-navbar .public-user-dropdown-mobile .pu-email-text{
    min-width:0!important;
    max-width:100%!important;
  }
  .main-navbar .public-user-dropdown-mobile .pu-email-text{
    display:block!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    word-break:normal!important;
  }
  .main-navbar .public-user-dropdown-mobile .dropdown-item{
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    white-space:normal!important;
  }
}

@media (max-width:390px){
  .main-navbar .container{padding-left:10px!important;padding-right:10px!important;}
  .main-navbar .d-flex.align-items-center.gap-2.ms-auto{gap:5px!important;}
  .main-navbar .nav-mobile-search-btn,
  .main-navbar .nav-cart-mobile,
  .main-navbar .public-notification-mobile .public-notification-btn,
  .main-navbar .public-user-dropdown-mobile .public-avatar-btn,
  .main-navbar .nav-mobile-menu-btn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    flex:0 0 40px!important;
  }
  .main-navbar .navbar-brand img{max-width:128px!important;height:32px!important;}
}

/* ===== Nguồn hợp nhất: theme-public-v70.css ===== */
/* V70 — Trợ Lý AI ở góc phải, phía trên nút lên đầu trang. */
body:not(.admin-body) .vt-ai-widget{
  left:auto!important;
  right:18px!important;
  bottom:82px!important;
  align-items:flex-end!important;
}
body:not(.admin-body) .vt-ai-panel{
  transform-origin:bottom right;
}
@media (max-width:767.98px){
  body:not(.admin-body) .vt-ai-widget{
    left:auto!important;
    right:12px!important;
    bottom:76px!important;
    max-width:calc(100vw - 24px);
  }
  body:not(.admin-body) .vt-ai-panel{
    width:min(370px,calc(100vw - 24px))!important;
    max-height:calc(100dvh - 142px)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v71.css ===== */
/* V71 — chính sách bảo mật, tệp đính kèm AI và phân trang sản phẩm quản trị. */
.privacy-policy-page-v71{padding:36px 0 58px;background:#fff}
.privacy-policy-card-v71{max-width:1040px;margin:0 auto;padding:34px 38px;border:1px solid #dfe8e4;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.06);color:#172033}
.privacy-policy-card-v71 h1{margin:0 0 7px;font-size:clamp(26px,3vw,38px);font-weight:900;color:#111827}
.privacy-policy-card-v71 h2{margin:28px 0 10px;font-size:20px;font-weight:800;color:#116b36}
.privacy-policy-card-v71 p,.privacy-policy-card-v71 li{font-size:15.5px;line-height:1.72}
.privacy-policy-card-v71 ul{padding-left:23px;margin:8px 0 16px}.privacy-policy-card-v71 li{margin-bottom:6px}
.privacy-policy-card-v71 .privacy-updated-v71{color:#64748b;margin:0 0 24px}

.vt-ai-consent-v71{padding:14px 16px;background:#fff7d6;border-bottom:1px solid #eadca6;color:#664616;font-size:12.5px;line-height:1.45}
.vt-ai-consent-v71 p{margin:0 0 10px}.vt-ai-consent-v71 a{color:#075fc4;text-decoration:underline;font-weight:700}
.vt-ai-consent-v71 button{border:0;border-radius:9px;padding:8px 16px;background:#1769d2;color:#fff;font-weight:800;cursor:pointer}
.vt-ai-consent-v71[hidden]{display:none!important}
.vt-ai-attachment-preview-v71{display:flex;align-items:center;gap:8px;padding:7px 12px;background:#f7faff;border-top:1px solid #e2eaf4;font-size:12px;color:#334155}
.vt-ai-attachment-preview-v71[hidden]{display:none!important}
.vt-ai-attachment-preview-v71 i{color:#1769d2}.vt-ai-attachment-preview-v71 span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.vt-ai-attachment-preview-v71 button{width:26px;height:26px;border:0;border-radius:7px;background:#fff1f2;color:#dc2626;display:grid;place-items:center}
.vt-ai-form{grid-template-columns:38px minmax(0,1fr) 42px!important}
.vt-ai-attach-v71{width:38px!important;height:42px!important;border:1px solid #cddbeb!important;border-radius:11px!important;background:#f8fafc!important;color:#1769d2!important;font-size:16px!important}
.vt-ai-attach-v71:hover{background:#edf5ff!important}.vt-ai-attach-v71:disabled{opacity:.45}
.vt-ai-message-attachment-v71{display:flex;align-items:center;gap:6px;margin-bottom:7px;font-size:11px;opacity:.88}
.vt-ai-message-attachment-v71 img{width:78px;height:58px;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.35)}
.vt-ai-suggestions{display:none!important}

.admin-products-pagination-v71{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border-top:1px solid #e5edf5;background:#fff}
.admin-products-pagination-v71 nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.admin-products-pagination-v71 a,.admin-products-pagination-v71 span{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid #cfdceb;border-radius:8px;text-decoration:none;color:#24415f;background:#fff;font-weight:700;font-size:13px}
.admin-products-pagination-v71 a:hover{border-color:#2374ec;color:#1769d2;background:#f3f7ff}.admin-products-pagination-v71 .is-current{background:#1769d2;color:#fff;border-color:#1769d2}
.admin-products-pagination-v71 .is-disabled{opacity:.42;pointer-events:none}.product-admin-table .stt-col-v71{width:58px;text-align:center;white-space:nowrap}
@media(max-width:767.98px){.privacy-policy-page-v71{padding:18px 0 36px}.privacy-policy-card-v71{padding:22px 18px;border-radius:14px}.privacy-policy-card-v71 h2{font-size:18px}.vt-ai-consent-v71{font-size:12px}.vt-ai-form{grid-template-columns:36px minmax(0,1fr) 42px!important}.vt-ai-attach-v71{width:36px!important}.admin-products-pagination-v71{align-items:stretch;flex-direction:column}.admin-products-pagination-v71 nav{justify-content:center}}

/* ===== Nguồn hợp nhất: theme-public-v72.css ===== */
/* V72 — thông báo xoay vòng Gemini key/model trong 3 giây. */
.vt-ai-runtime-toast-v72{position:fixed;right:22px;bottom:170px;z-index:12050;max-width:min(520px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;background:#168442;color:#fff;box-shadow:0 14px 34px rgba(15,23,42,.25);font-size:13.5px;font-weight:700;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.vt-ai-runtime-toast-v72.is-visible{opacity:1;visibility:visible;transform:none}@media(max-width:767.98px){.vt-ai-runtime-toast-v72{right:12px;bottom:150px;max-width:calc(100vw - 24px)}}

/* ===== Nguồn hợp nhất: theme-public-v75.css ===== */
/* V75 — chỉ thu gọn cụm breadcrumb, tìm kiếm và sắp xếp trên desktop. */
@media (min-width: 992px){
  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:0 0 18px;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75.is-without-breadcrumb{
    justify-content:flex-end;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .vtw-catalog-breadcrumb-v44{
    flex:0 0 auto;
    min-width:max-content;
    margin:0!important;
    padding:0!important;
    white-space:nowrap;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .catalog-toolbar-compact-v42{
    flex:1 1 auto;
    min-width:0;
    width:auto;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    margin:0!important;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .catalog-search-v18{
    flex:0 1 560px;
    min-width:300px;
    max-width:560px;
    margin-left:auto;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .product-catalog-search{
    width:100%;
    min-height:42px!important;
    height:42px!important;
    flex-wrap:nowrap!important;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .product-catalog-search > .input-group-text{
    width:44px!important;
    min-width:44px!important;
    height:42px!important;
    padding:0!important;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:17px!important;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .product-catalog-search > .form-control{
    min-width:0!important;
    height:42px!important;
    padding:0 14px!important;
    font-size:14.5px!important;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .product-catalog-search > .btn{
    flex:0 0 112px!important;
    width:112px!important;
    min-width:112px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 12px!important;
    font-size:14px!important;
    white-space:nowrap!important;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .catalog-sort-v18{
    flex:0 0 236px!important;
    width:236px!important;
    min-width:236px!important;
    max-width:236px!important;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .catalog-sort-v18 > button{
    width:236px!important;
    min-width:236px!important;
    max-width:236px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 12px!important;
    gap:7px!important;
    justify-content:flex-start!important;
    overflow:hidden;
    font-size:14px!important;
    white-space:nowrap!important;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .catalog-sort-v18 > button > span{
    flex:0 0 auto;
    font-size:13px!important;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .catalog-sort-v18 > button > strong{
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:left;
    font-size:14px!important;
  }

  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .catalog-sort-v18 > button::after{
    flex:0 0 auto;
    margin-left:auto!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v80.css ===== */
/* APP_URL v80 — phóng to ảnh sản phẩm theo vị trí con trỏ trên desktop. */

@media (hover:hover) and (pointer:fine) and (min-width:992px){
  body:not(.admin-body) .vtw-media-viewer-v44 .vtw-media-stage-v44,
  body:not(.admin-body) .vtw-media-viewer-v44 .vtw-media-slide-v44{
    overflow:hidden!important;
  }

  body:not(.admin-body) .vtw-media-viewer-v44 .vtw-media-slide-v44>img{
    cursor:zoom-in;
    transform:scale(1)!important;
    transform-origin:var(--vtw-zoom-x,50%) var(--vtw-zoom-y,50%)!important;
    transition:transform .16s ease-out!important;
    will-change:transform;
  }

  body:not(.admin-body) .vtw-media-viewer-v44.is-zooming .vtw-media-slide-v44.is-active>img{
    cursor:zoom-out;
    transform:scale(2.1)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v82.css ===== */
/* V82 — Trang chủ 16 sản phẩm/danh mục, nút Xem thêm phía dưới và mobile ổn định. */
.vtw-home-product-zones-v69 .vtw-home-product-zone-v69{padding:30px 0 34px}
.vtw-home-product-zones-v69 .vtw-home-zone-head-v82{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.vtw-home-product-zones-v69 .vtw-home-zone-head-v82 h2{margin:0;color:#172033;font-size:clamp(23px,2vw,30px);font-weight:800;line-height:1.2}
.vtw-home-product-zones-v69 .vtw-home-zone-more-v82{display:flex;justify-content:center;margin-top:22px}
.vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:142px;height:42px;padding:0 20px;border:1px solid #159947;border-radius:10px;background:#fff;color:#11843e;text-decoration:none;font-size:14px;font-weight:700;transition:.18s ease}
.vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a:hover{background:#159947;color:#fff;box-shadow:0 8px 20px rgba(21,153,71,.16)}
.vtw-home-product-zones-v69 .vtw-home-product-card-v69{height:100%;min-width:0}
.vtw-home-product-zones-v69 .vtw-home-product-card-v69 .vt-course-title{min-height:44px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.vtw-home-product-zones-v69 .vtw-home-product-card-v69 .vt-course-body{min-width:0}
@media (max-width:991.98px){
  .vtw-home-product-zones-v69 .vtw-home-product-zone-v69{padding:24px 0 28px}
  .vtw-home-product-zones-v69 .row{--bs-gutter-x:12px;--bs-gutter-y:14px}
}
@media (max-width:575.98px){
  .vtw-home-product-zones-v69 .vtw-home-zone-head-v82{margin-bottom:12px}
  .vtw-home-product-zones-v69 .vtw-home-zone-head-v82 h2{font-size:21px}
  .vtw-home-product-zones-v69 .vtw-home-product-card-v69 .vt-course-title{font-size:14px;line-height:1.35;min-height:38px}
  .vtw-home-product-zones-v69 .vtw-home-product-card-v69 .vt-course-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
  .vtw-home-product-zones-v69 .vtw-home-zone-more-v82{margin-top:18px}
  .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{width:min(220px,100%)}
}

/* ===== Nguồn hợp nhất: theme-public-v83.css ===== */
/* V83 — Bỏ quy trình mua hàng, thêm 8 sản phẩm bán chạy và đồng bộ nút xem tất cả. */
.vtw-best-sellers-v83{
  padding:34px 0 40px;
  background:#fff;
}
.vtw-best-sellers-v83 .container{position:relative}
.vtw-best-sellers-ribbon-v83{
  display:flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-width:340px;
  min-height:58px;
  margin:0 auto 30px;
  padding:12px 48px 14px;
  background:#31b94f;
  color:#fff;
  font-size:20px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:.2px;
  text-align:center;
  clip-path:polygon(8% 0,92% 0,100% 0,89% 100%,11% 100%,0 0);
  filter:drop-shadow(0 8px 14px rgba(24,153,64,.16));
}
.vtw-best-sellers-v83 .vtw-best-card-v83{
  height:100%;
  min-width:0;
}
.vtw-best-sellers-v83 .vtw-best-card-v83 .vt-course-title{
  min-height:44px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
.vtw-best-sellers-v83 .vtw-best-card-v83 .vt-course-body{min-width:0}

.vtw-home-product-zones-v69 .vtw-home-zone-more-v82{
  display:flex;
  justify-content:center;
  margin-top:24px;
}
.vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:270px;
  height:54px;
  padding:0 34px;
  border:0;
  border-radius:999px;
  background:#31b94f;
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  font-size:16px;
  font-weight:800;
  line-height:1;
  box-shadow:0 10px 24px rgba(24,153,64,.18);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a:hover{
  background:#179d42;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 13px 28px rgba(24,153,64,.24);
}
.vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a i{
  flex:0 0 auto;
  font-size:19px;
  line-height:1;
}

@media (max-width:991.98px){
  .vtw-best-sellers-v83{padding:28px 0 32px}
  .vtw-best-sellers-v83 .row{--bs-gutter-x:12px;--bs-gutter-y:14px}
  .vtw-best-sellers-ribbon-v83{margin-bottom:22px}
}
@media (max-width:575.98px){
  .vtw-best-sellers-v83{padding:22px 0 26px}
  .vtw-best-sellers-ribbon-v83{
    width:min(320px,92%);
    min-width:0;
    min-height:50px;
    padding:10px 26px 12px;
    font-size:16px;
  }
  .vtw-best-sellers-v83 .vtw-best-card-v83 .vt-course-title{
    min-height:38px;
    font-size:14px;
    line-height:1.35;
  }
  .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{
    width:min(330px,100%);
    min-width:0;
    height:50px;
    padding:0 22px;
    font-size:14px;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v86.css ===== */
/* V86 — Đưa sản phẩm bán chạy xuống cuối và đồng bộ chiều cao thẻ sản phẩm. */

/* Mỗi cột là một flex item để toàn bộ thẻ trong cùng hàng có chiều cao bằng nhau. */
.vtw-home-product-zones-v69 .row > [class*="col-"],
.vtw-best-sellers-v83 .row > [class*="col-"]{
  display:flex;
}

.vtw-home-product-zones-v69 .vtw-home-product-card-v69,
.vtw-best-sellers-v83 .vtw-best-card-v83{
  width:100%;
  height:100%!important;
  display:flex!important;
  flex-direction:column;
}

/* Luôn chừa đúng hai dòng cho tên để thẻ tên ngắn và tên dài cao bằng nhau. */
.vtw-home-product-zones-v69 .vtw-home-product-card-v69 .vt-course-title,
.vtw-best-sellers-v83 .vtw-best-card-v83 .vt-course-title{
  min-height:44px!important;
  max-height:44px!important;
  margin:0 0 10px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}

.vtw-home-product-zones-v69 .vtw-home-product-card-v69 .vt-course-body,
.vtw-best-sellers-v83 .vtw-best-card-v83 .vt-course-body{
  min-height:136px!important;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}

.vtw-home-product-zones-v69 .vtw-home-product-card-v69 .vt-course-price,
.vtw-best-sellers-v83 .vtw-best-card-v83 .vt-course-price{
  margin-top:auto!important;
}

/* Khu bán chạy nằm sau toàn bộ danh mục và tách nhẹ khỏi khu vực phía trên. */
.vtw-best-sellers-v83{
  border-top:1px solid #edf1f5;
  padding-top:40px;
}

@media (max-width:575.98px){
  .vtw-home-product-zones-v69 .vtw-home-product-card-v69 .vt-course-title,
  .vtw-best-sellers-v83 .vtw-best-card-v83 .vt-course-title{
    min-height:38px!important;
    max-height:38px!important;
    margin-bottom:8px!important;
  }

  .vtw-home-product-zones-v69 .vtw-home-product-card-v69 .vt-course-body,
  .vtw-best-sellers-v83 .vtw-best-card-v83 .vt-course-body{
    min-height:112px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v91.css ===== */
/* V91 — Đồng bộ thẻ sản phẩm trang chủ với thẻ trang danh sách. */

.vtw-home-grid-v91 > [class*="col-"]{
  display:flex;
}

.vtw-home-grid-v91 .vtw-home-course-card-v91{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid #e5ebf2!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.vtw-home-grid-v91 .vtw-home-course-card-v91:hover{
  transform:translateY(-3px);
  border-color:#91cda0!important;
  box-shadow:0 17px 38px rgba(30,82,45,.14)!important;
}

.vtw-home-grid-v91 .course-thumb-v2{
  position:relative!important;
  overflow:hidden!important;
  aspect-ratio:1/1!important;
  padding:8px!important;
  background:#f8fafc!important;
  border-bottom:1px solid #edf1f6!important;
}

.vtw-home-grid-v91 .course-thumb-link-v2{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:10px!important;
  background:#fff!important;
}

.vtw-home-grid-v91 .course-thumb-v2 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

.vtw-home-grid-v91 .course-thumb-v2 .course-badge-v2{
  position:absolute!important;
  z-index:3!important;
  top:14px!important;
  left:14px!important;
  right:auto!important;
  bottom:auto!important;
  min-width:58px!important;
  width:auto!important;
  height:auto!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  transform:none!important;
  color:#fff!important;
  font-size:.74rem!important;
  line-height:1!important;
  font-weight:800!important;
  box-shadow:0 7px 18px rgba(15,23,42,.20)!important;
}

.vtw-home-grid-v91 .course-thumb-v2 .course-badge-v2.is-discount{background:#ef4444!important;}
.vtw-home-grid-v91 .course-thumb-v2 .course-badge-v2.is-free{background:#16a34a!important;}

.vtw-home-grid-v91 .course-body-v2{
  min-width:0;
  min-height:142px;
  padding:16px!important;
  display:flex!important;
  flex:1 1 auto;
  flex-direction:column;
}

.vtw-home-grid-v91 .course-title-v2{
  min-height:48px!important;
  max-height:48px!important;
  margin:0 0 10px!important;
  display:-webkit-box!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#418f09!important;
  font-size:16px!important;
  line-height:1.42!important;
  font-weight:800!important;
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:normal;
}

.vtw-home-grid-v91 .course-price-actions-v9{
  width:100%;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-top:auto!important;
  padding-top:6px!important;
}

.vtw-home-grid-v91 .course-price-row{
  min-width:0;
  display:flex!important;
  flex:1 1 auto;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:5px 8px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

.vtw-home-grid-v91 .course-price-row strong{
  color:#dc2738!important;
  font-size:20px!important;
  line-height:1.1!important;
  font-weight:800!important;
  white-space:nowrap;
}

.vtw-home-grid-v91 .course-price-row .text-success{color:#16a34a!important;}
.vtw-home-grid-v91 .price-strike{
  color:#8b9693!important;
  font-size:14px!important;
  line-height:1.1!important;
  white-space:nowrap;
}

.vtw-home-grid-v91 .course-card-cart-yellow{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  flex:0 0 46px!important;
  width:46px!important;
  height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:14px!important;
  background:#16a34a!important;
  color:#fff!important;
  font-size:21px!important;
  box-shadow:0 8px 20px rgba(34,164,71,.22)!important;
}

.vtw-home-grid-v91 .course-card-cart-yellow:hover{
  background:#0f8a39!important;
  color:#fff!important;
  transform:translateY(-2px);
}

@media (max-width:767.98px){
  .vtw-home-grid-v91{--bs-gutter-x:12px;--bs-gutter-y:14px;}
  .vtw-home-grid-v91 .vtw-home-course-card-v91{border-radius:15px!important;}
  .vtw-home-grid-v91 .course-thumb-v2{padding:6px!important;}
  .vtw-home-grid-v91 .course-thumb-v2 .course-badge-v2{
    top:10px!important;
    left:10px!important;
    min-width:50px!important;
    padding:6px 9px!important;
    font-size:.68rem!important;
  }
  .vtw-home-grid-v91 .course-body-v2{
    min-height:118px;
    padding:11px!important;
  }
  .vtw-home-grid-v91 .course-title-v2{
    min-height:39px!important;
    max-height:39px!important;
    margin-bottom:8px!important;
    font-size:13.5px!important;
    line-height:1.38!important;
  }
  .vtw-home-grid-v91 .course-price-row strong{font-size:17px!important;}
  .vtw-home-grid-v91 .price-strike{font-size:12px!important;}
  .vtw-home-grid-v91 .course-card-cart-yellow{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
    font-size:18px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v92.css ===== */
/* V92 — đồng bộ chính xác kích thước thẻ trang chủ với trang /tools. */

/* Trang /tools dùng container Bootstrap 1320px trên desktop lớn; trang chủ dùng cùng bề rộng. */
body:not(.admin-body) .vtw-home-product-zone-v69 > .container,
body:not(.admin-body) .vtw-best-sellers-v83 > .container{
  width:100%;
  max-width:1320px!important;
}

/* Dùng đúng chiều cao phần nội dung, khoảng đệm và nút giỏ như thẻ danh sách /tools. */
body:not(.admin-body) .vtw-home-grid-v91 .course-body-v2{
  min-height:126px!important;
  padding:10px 12px 12px!important;
}
body:not(.admin-body) .vtw-home-grid-v91 .course-title-v2{
  min-height:2.44em!important;
  max-height:2.44em!important;
  margin:0 0 8px!important;
  font-size:16px!important;
  line-height:1.22!important;
}
body:not(.admin-body) .vtw-home-grid-v91 .course-price-actions-v9{
  margin-top:auto!important;
  padding-top:4px!important;
}
body:not(.admin-body) .vtw-home-grid-v91 .course-card-cart-yellow{
  flex-basis:42px!important;
  width:42px!important;
  height:42px!important;
  border-radius:12px!important;
}

/* Các cột và thẻ kéo đều đúng như lưới sản phẩm /tools. */
body:not(.admin-body) .vtw-home-grid-v91{
  align-items:stretch!important;
}
body:not(.admin-body) .vtw-home-grid-v91 > [class*="col-"]{
  display:flex!important;
  align-items:stretch!important;
}
body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-home-product-zone-v69 > .container,
  body:not(.admin-body) .vtw-best-sellers-v83 > .container{
    max-width:100%!important;
  }
  body:not(.admin-body) .vtw-home-grid-v91 .course-body-v2{
    min-height:118px!important;
    padding:11px!important;
  }
  body:not(.admin-body) .vtw-home-grid-v91 .course-title-v2{
    min-height:2.7em!important;
    max-height:2.7em!important;
    font-size:13.5px!important;
    line-height:1.35!important;
  }
  body:not(.admin-body) .vtw-home-grid-v91 .course-card-cart-yellow{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v93.css ===== */
/* V93 — Trang chủ: đưa nhãn giảm giá/FREE trở lại góc phải dưới ảnh. */
body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2{
  position:relative!important;
  overflow:hidden!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2 .course-badge-v2{
  top:auto!important;
  left:auto!important;
  right:-30px!important;
  bottom:9px!important;
  width:102px!important;
  height:26px!important;
  min-width:0!important;
  padding:0 5px!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  color:#4a3500!important;
  font-size:.68rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.2px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:0 4px 10px rgba(15,23,42,.18)!important;
  z-index:8!important;
  pointer-events:none!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2 .course-badge-v2.is-discount{
  background:linear-gradient(90deg,#d7a927 0%,#f4cf59 50%,#e0b437 100%)!important;
  color:#4a3500!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2 .course-badge-v2.is-free{
  background:linear-gradient(90deg,#159d3f 0%,#2bd45f 52%,#0d8c37 100%)!important;
  color:#fff!important;
}

@media(max-width:767.98px){
  body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2 .course-badge-v2{
    top:auto!important;
    left:auto!important;
    right:-26px!important;
    bottom:8px!important;
    width:90px!important;
    height:23px!important;
    padding:0 4px!important;
    font-size:.6rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v94.css ===== */
/* V94 — Trang chủ: bỏ Tool VIDIQ khỏi danh sách và làm nền thẻ sản phẩm dễ phân biệt với nền web. */
body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91{
  background:linear-gradient(180deg,#f4f9f6 0%,#eef6f1 100%)!important;
  border:1px solid #b8d4c1!important;
  box-shadow:0 10px 26px rgba(15,23,42,.065)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91:hover{
  border-color:#72b486!important;
  box-shadow:0 16px 34px rgba(29,89,48,.13)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2{
  background:#edf5f0!important;
  border-bottom:1px solid #c9ded0!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-link-v2{
  background:#f3f8f5!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-body-v2{
  background:transparent!important;
}

@media(max-width:767.98px){
  body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91{
    border-color:#bad5c3!important;
    box-shadow:0 7px 18px rgba(15,23,42,.06)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v95.css ===== */
/* V105 — thanh tìm kiếm danh mục tối giản: chỉ ô nhập và nút kính lúp. */
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95{
  width:100%;
  height:48px;
  display:flex;
  align-items:center;
  gap:0;
  padding:4px 5px 4px 16px;
  border:1px solid #d7dfdb;
  border-radius:15px;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.05);
  transition:border-color .2s ease,box-shadow .2s ease;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95:focus-within{
  border-color:#9cbf88;
  box-shadow:0 0 0 3px rgba(65,143,9,.08),0 8px 20px rgba(15,23,42,.06);
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 input{
  flex:1 1 auto;
  min-width:0;
  height:38px;
  padding:0 10px 0 0;
  border:0;
  outline:0;
  background:#fff;
  color:#17251d;
  font-size:15px;
  font-weight:500;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 input::placeholder{
  color:#7f8983;
  opacity:1;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 input::-webkit-search-cancel-button{
  cursor:pointer;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 button{
  flex:0 0 42px;
  width:42px;
  height:38px;
  display:inline-grid;
  place-items:center;
  padding:0;
  border:0;
  border-left:1px solid #e2e7e4;
  border-radius:0 10px 10px 0;
  background:transparent;
  color:#418f09;
  box-shadow:none;
  transition:background .18s ease,color .18s ease;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 button i{
  font-size:20px;
  line-height:1;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 button:hover{
  background:#f4f5f4;
  color:#347407;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 button:active{
  background:#ecefed;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 button:focus-visible{
  outline:2px solid rgba(65,143,9,.35);
  outline-offset:-2px;
}

@media (min-width:992px){
  body:not(.admin-body) .product-catalog-v6 .catalog-topline-v75 .catalog-search-v18{
    flex:0 1 590px;
    max-width:590px;
  }
}

@media (min-width:768px) and (max-width:991.98px){
  body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95{
    height:48px;
  }
}

@media (max-width:767.98px){
  /* Toolbar danh mục vẫn ẩn trên mobile theo thiết kế hiện tại. */
  body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95{
    display:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v96.css ===== */
/* V96 — Trang chủ: thẻ sản phẩm dùng nền xanh xám nhạt, viền mỏng rõ như mẫu. */

body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(145deg,#fbfdff 0%,#f5f9ff 58%,#edf3ff 100%)!important;
  border:1px solid #cbdceb!important;
  border-left:4px solid #18a8f4!important;
  box-shadow:0 10px 28px rgba(43,75,112,.09)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91:hover{
  border-color:#a9c9df!important;
  border-left-color:#1198e2!important;
  box-shadow:0 16px 36px rgba(43,75,112,.15)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2{
  background:linear-gradient(145deg,#f6faff 0%,#eef5fc 100%)!important;
  border-bottom:1px solid #d6e3ed!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-link-v2{
  background:rgba(255,255,255,.68)!important;
  border:1px solid rgba(201,218,232,.8)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-body-v2{
  background:transparent!important;
}

@media(max-width:767.98px){
  body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91{
    border-left-width:3px!important;
    box-shadow:0 7px 20px rgba(43,75,112,.08)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v97.css ===== */
/* V97 — Mỗi danh mục trang chủ dùng một tông nền/viền riêng; bán chạy chỉ lấy sản phẩm trả phí có lượt mua. */

/* Tool AI — xanh dương. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-tool-ai .vtw-home-course-card-v91{
  background:linear-gradient(145deg,#fbfdff 0%,#f5f9ff 58%,#edf3ff 100%)!important;
  border-color:#cbdceb!important;
  border-left-color:#18a8f4!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-tool-ai .course-thumb-v2{
  background:linear-gradient(145deg,#f6faff 0%,#eef5fc 100%)!important;
  border-bottom-color:#d6e3ed!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-tool-ai .course-thumb-link-v2{
  background:rgba(255,255,255,.66)!important;
  border-color:#c9dae8!important;
}

/* Giao Diện Web — tím oải hương nhạt. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-web-design .vtw-home-course-card-v91{
  background:linear-gradient(145deg,#fdfcff 0%,#f7f3ff 58%,#f0ebff 100%)!important;
  border-color:#d9cdef!important;
  border-left-color:#8b5cf6!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-web-design .course-thumb-v2{
  background:linear-gradient(145deg,#fbf9ff 0%,#f3effc 100%)!important;
  border-bottom-color:#e1d7f2!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-web-design .course-thumb-link-v2{
  background:rgba(255,255,255,.66)!important;
  border-color:#d9cdef!important;
}

/* Plugin WordPress — xanh lá bạc hà nhạt. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-plugin .vtw-home-course-card-v91{
  background:linear-gradient(145deg,#fbfffc 0%,#f2faf5 58%,#eaf7ef 100%)!important;
  border-color:#c4dfcf!important;
  border-left-color:#22a447!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-plugin .course-thumb-v2{
  background:linear-gradient(145deg,#f8fdf9 0%,#eef8f2 100%)!important;
  border-bottom-color:#d2e7da!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-plugin .course-thumb-link-v2{
  background:rgba(255,255,255,.66)!important;
  border-color:#c6dfcf!important;
}

/* Theme WordPress — kem vàng nhạt. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-theme .vtw-home-course-card-v91{
  background:linear-gradient(145deg,#fffefb 0%,#fff9ed 58%,#fff2dc 100%)!important;
  border-color:#ead5aa!important;
  border-left-color:#f59e0b!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-theme .course-thumb-v2{
  background:linear-gradient(145deg,#fffdf8 0%,#fff7e8 100%)!important;
  border-bottom-color:#efdfbd!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-theme .course-thumb-link-v2{
  background:rgba(255,255,255,.68)!important;
  border-color:#ead7af!important;
}

/* Sản phẩm bán chạy — xanh ngọc nhạt, tách khỏi các danh mục. */
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91{
  background:linear-gradient(145deg,#fbfffe 0%,#effaf7 58%,#e7f6f2 100%)!important;
  border-color:#bcded5!important;
  border-left-color:#0f9f8f!important;
}
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-v2{
  background:linear-gradient(145deg,#f7fdfb 0%,#edf8f5 100%)!important;
  border-bottom-color:#cfe6df!important;
}
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-link-v2{
  background:rgba(255,255,255,.66)!important;
  border-color:#c3ddd6!important;
}

/* Hover giữ cùng tông với từng khu vực. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-tool-ai .vtw-home-course-card-v91:hover{border-color:#9dc6e0!important;border-left-color:#1198e2!important;}
body:not(.admin-body) .vtw-home-product-zone-v69.is-web-design .vtw-home-course-card-v91:hover{border-color:#bfa9e5!important;border-left-color:#7c3aed!important;}
body:not(.admin-body) .vtw-home-product-zone-v69.is-plugin .vtw-home-course-card-v91:hover{border-color:#95c7a9!important;border-left-color:#16853a!important;}
body:not(.admin-body) .vtw-home-product-zone-v69.is-theme .vtw-home-course-card-v91:hover{border-color:#dbbd7b!important;border-left-color:#dd8700!important;}
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91:hover{border-color:#86c4b6!important;border-left-color:#087f72!important;}

/* ===== Nguồn hợp nhất: theme-public-v98.css ===== */
/* V98 — Trang chủ: bỏ dải viền màu bên trái, giữ viền mỏng trung tính và nền loang nhạt trong thẻ sản phẩm. */

/* Kiểu chung: không còn đường nhấn màu dọc ở cạnh trái. */
body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91{
  border-width:1px!important;
  border-style:solid!important;
  border-color:#d6e1e9!important;
  border-left-width:1px!important;
  border-left-color:#d6e1e9!important;
  box-shadow:0 10px 26px rgba(42,67,92,.08)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91:hover{
  border-color:#b9cbd8!important;
  border-left-color:#b9cbd8!important;
  box-shadow:0 16px 34px rgba(42,67,92,.13)!important;
}

/* Tool AI — nền loang xanh dương rất nhạt. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-tool-ai .vtw-home-course-card-v91{
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.96) 0,rgba(255,255,255,.58) 28%,transparent 52%),
    radial-gradient(circle at 94% 92%,rgba(213,232,255,.72) 0,transparent 48%),
    linear-gradient(145deg,#f9fcff 0%,#f1f7ff 52%,#e9f2ff 100%)!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-tool-ai .course-thumb-v2{
  background:linear-gradient(145deg,rgba(255,255,255,.86) 0%,rgba(239,247,255,.88) 100%)!important;
  border-bottom-color:#d7e4ee!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-tool-ai .course-thumb-link-v2{
  background:rgba(255,255,255,.58)!important;
  border-color:#d5e1eb!important;
}

/* Giao Diện Web — nền loang tím xanh nhạt. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-web-design .vtw-home-course-card-v91{
  background:
    radial-gradient(circle at 10% 8%,rgba(255,255,255,.96) 0,rgba(255,255,255,.56) 30%,transparent 54%),
    radial-gradient(circle at 94% 92%,rgba(229,221,255,.68) 0,transparent 48%),
    linear-gradient(145deg,#fdfcff 0%,#f7f3ff 52%,#f0ebff 100%)!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-web-design .course-thumb-v2{
  background:linear-gradient(145deg,rgba(255,255,255,.86) 0%,rgba(247,242,255,.88) 100%)!important;
  border-bottom-color:#e2dcef!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-web-design .course-thumb-link-v2{
  background:rgba(255,255,255,.58)!important;
  border-color:#ddd5ec!important;
}

/* Plugin WordPress — nền loang bạc hà nhạt. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-plugin .vtw-home-course-card-v91{
  background:
    radial-gradient(circle at 10% 8%,rgba(255,255,255,.96) 0,rgba(255,255,255,.56) 30%,transparent 54%),
    radial-gradient(circle at 94% 92%,rgba(209,241,221,.70) 0,transparent 48%),
    linear-gradient(145deg,#fbfffc 0%,#f2faf5 52%,#e9f7ee 100%)!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-plugin .course-thumb-v2{
  background:linear-gradient(145deg,rgba(255,255,255,.86) 0%,rgba(238,249,242,.88) 100%)!important;
  border-bottom-color:#d5e6dc!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-plugin .course-thumb-link-v2{
  background:rgba(255,255,255,.58)!important;
  border-color:#d1e3d8!important;
}

/* Theme WordPress — nền loang kem vàng nhạt. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-theme .vtw-home-course-card-v91{
  background:
    radial-gradient(circle at 10% 8%,rgba(255,255,255,.96) 0,rgba(255,255,255,.58) 30%,transparent 54%),
    radial-gradient(circle at 94% 92%,rgba(255,231,185,.68) 0,transparent 48%),
    linear-gradient(145deg,#fffefb 0%,#fff9ef 52%,#fff2df 100%)!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-theme .course-thumb-v2{
  background:linear-gradient(145deg,rgba(255,255,255,.88) 0%,rgba(255,248,232,.90) 100%)!important;
  border-bottom-color:#eadfc9!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-theme .course-thumb-link-v2{
  background:rgba(255,255,255,.60)!important;
  border-color:#e8dcc4!important;
}

/* Sản phẩm bán chạy — nền loang xanh ngọc nhạt. */
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91{
  background:
    radial-gradient(circle at 10% 8%,rgba(255,255,255,.96) 0,rgba(255,255,255,.56) 30%,transparent 54%),
    radial-gradient(circle at 94% 92%,rgba(201,238,229,.72) 0,transparent 48%),
    linear-gradient(145deg,#fbfffe 0%,#f0faf7 52%,#e7f6f2 100%)!important;
  border-color:#d1e1dd!important;
  border-left-color:#d1e1dd!important;
}
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-v2{
  background:linear-gradient(145deg,rgba(255,255,255,.86) 0%,rgba(237,249,246,.90) 100%)!important;
  border-bottom-color:#d3e6e1!important;
}
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-link-v2{
  background:rgba(255,255,255,.58)!important;
  border-color:#d0e2dd!important;
}
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91:hover{
  border-color:#aecac3!important;
  border-left-color:#aecac3!important;
}

@media(max-width:767.98px){
  body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91{
    border-left-width:1px!important;
    box-shadow:0 7px 18px rgba(42,67,92,.07)!important;
  }
}

/* Ghi đè dứt điểm màu viền cạnh trái từ các phiên bản trước. */
body:not(.admin-body) .vtw-home-product-zone-v69.is-tool-ai .vtw-home-course-card-v91,
body:not(.admin-body) .vtw-home-product-zone-v69.is-web-design .vtw-home-course-card-v91,
body:not(.admin-body) .vtw-home-product-zone-v69.is-plugin .vtw-home-course-card-v91,
body:not(.admin-body) .vtw-home-product-zone-v69.is-theme .vtw-home-course-card-v91{
  border-color:#d6e1e9!important;
  border-left-width:1px!important;
  border-left-color:#d6e1e9!important;
}
body:not(.admin-body) .vtw-home-product-zone-v69.is-tool-ai .vtw-home-course-card-v91:hover,
body:not(.admin-body) .vtw-home-product-zone-v69.is-web-design .vtw-home-course-card-v91:hover,
body:not(.admin-body) .vtw-home-product-zone-v69.is-plugin .vtw-home-course-card-v91:hover,
body:not(.admin-body) .vtw-home-product-zone-v69.is-theme .vtw-home-course-card-v91:hover{
  border-color:#b9cbd8!important;
  border-left-color:#b9cbd8!important;
}

/* ===== Nguồn hợp nhất: theme-public-v99.css ===== */
/* V99 — Trang chủ: nền thẻ trung tính dịu, bỏ tông màu theo danh mục và tăng bóng mờ cạnh khung. */

/* Đồng bộ tất cả thẻ sản phẩm trang chủ về một nền trung tính, không còn tông xanh/tím/xanh lá/vàng theo từng khu. */
body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91{
  background:linear-gradient(145deg,#eef2f6 0%,#e9eef4 52%,#e4eaf1 100%)!important;
  border:1px solid #cbd5df!important;
  border-left:1px solid #cbd5df!important;
  box-shadow:
    0 8px 20px rgba(38,55,72,.13),
    0 2px 6px rgba(38,55,72,.08),
    inset 0 1px 0 rgba(255,255,255,.62)!important;
}

/* Khu ảnh dùng nền xám xanh nhạt, tránh trắng sáng nhưng vẫn giữ ảnh rõ. */
body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-v2{
  background:linear-gradient(145deg,#f1f4f7 0%,#e7edf3 100%)!important;
  border-bottom:1px solid #cfd8e1!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-link-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-link-v2{
  background:rgba(236,241,246,.92)!important;
  border-color:#cbd5df!important;
}

/* Phần nội dung trong suốt để nhìn thấy nền trung tính của toàn thẻ. */
body:not(.admin-body) .vtw-home-grid-v91 .course-body-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-body-v2{
  background:transparent!important;
}

/* Hover chỉ tăng độ nổi của viền và bóng, không đổi sang màu danh mục. */
body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91:hover,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91:hover{
  border-color:#aebdca!important;
  border-left-color:#aebdca!important;
  box-shadow:
    0 14px 30px rgba(38,55,72,.18),
    0 4px 10px rgba(38,55,72,.10),
    inset 0 1px 0 rgba(255,255,255,.68)!important;
  transform:translateY(-2px);
}

@media(max-width:767.98px){
  body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91,
  body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91{
    background:linear-gradient(145deg,#eef2f6 0%,#e7edf3 100%)!important;
    box-shadow:
      0 6px 15px rgba(38,55,72,.12),
      0 2px 5px rgba(38,55,72,.07)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v100.css ===== */
/* V100 — Trang chủ: bỏ nền xanh trong thẻ, dùng nền xám trung tính dịu và giữ bóng mờ cạnh khung. */

/* Toàn bộ thẻ sản phẩm dùng nền xám trung tính, không trùng nền trắng của website. */
body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91{
  background:linear-gradient(145deg,#f0f1f2 0%,#e9ebed 54%,#e3e6e9 100%)!important;
  border:1px solid #c8cdd2!important;
  border-left:1px solid #c8cdd2!important;
  box-shadow:
    0 10px 24px rgba(31,41,55,.14),
    0 3px 8px rgba(31,41,55,.08)!important;
}

/* Khu ảnh cũng dùng nền xám rất nhạt, không dùng trắng hoặc xanh. */
body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-v2{
  background:linear-gradient(145deg,#f3f3f3 0%,#e7e9eb 100%)!important;
  border-bottom:1px solid #cbd0d5!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-link-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-link-v2{
  background:#eceeef!important;
  border-color:#c8cdd2!important;
}

/* Phần tên và giá có nền xám nhạt riêng, tránh cảm giác một mảng trắng hoặc xanh. */
body:not(.admin-body) .vtw-home-grid-v91 .course-body-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-body-v2{
  background:linear-gradient(180deg,#eceeef 0%,#e6e8ea 100%)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91:hover,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91:hover{
  border-color:#adb5bd!important;
  border-left-color:#adb5bd!important;
  box-shadow:
    0 16px 34px rgba(31,41,55,.19),
    0 5px 12px rgba(31,41,55,.10)!important;
  transform:translateY(-2px);
}

@media(max-width:767.98px){
  body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91,
  body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91{
    background:linear-gradient(145deg,#eff0f1 0%,#e5e7e9 100%)!important;
    box-shadow:
      0 7px 17px rgba(31,41,55,.13),
      0 2px 6px rgba(31,41,55,.08)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v101.css ===== */
/* V101 — Trang chủ: đồng bộ màu khung sản phẩm với trang danh sách /tools. */

/* Chỉ trả màu nền, viền và bóng về đúng kiểu thẻ tại trang danh sách; giữ nguyên toàn bộ kích thước, nhãn, font, giá và nút hiện có. */
body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91{
  background:#fff!important;
  border:1px solid #e5ebf2!important;
  border-left:1px solid #e5ebf2!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-v2{
  background:#f8fafc!important;
  border-bottom:1px solid #edf1f6!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-link-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-link-v2{
  background:#fff!important;
  border-color:#e5ebf2!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-body-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-body-v2{
  background:#fff!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91:hover,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91:hover{
  border-color:#91cda0!important;
  border-left-color:#91cda0!important;
  box-shadow:0 17px 38px rgba(30,82,45,.14)!important;
}

/* ===== Nguồn hợp nhất: theme-public-v103.css ===== */
/* V103 — Trang chủ: thẻ trắng đồng bộ, tiêu đề danh mục căn giữa,
   nhãn bán chạy kiểu ribbon và chuẩn hoá tone giá/nút giỏ hàng. */

/* 1) Loại bỏ toàn bộ màu nền loang/nhạt bên trong thẻ sản phẩm trang chủ. */
body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91{
  background:#fff!important;
  border:1px solid #e3e9ef!important;
  border-left:1px solid #e3e9ef!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-v2,
body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-link-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-link-v2,
body:not(.admin-body) .vtw-home-grid-v91 .course-body-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-body-v2{
  background:#fff!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-v2{
  border-bottom:1px solid #e8edf2!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91:hover,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91:hover{
  border-color:#b9c9bf!important;
  border-left-color:#b9c9bf!important;
  box-shadow:0 17px 38px rgba(15,23,42,.13)!important;
}

/* 2) Tiêu đề từng danh mục nằm chính giữa và dùng đúng màu nhận diện. */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-head-v82{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center!important;
  text-align:center!important;
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-head-v82 h2{
  width:100%;
  margin:0!important;
  color:#418f09!important;
  font-size:clamp(24px,2vw,30px)!important;
  font-weight:600!important;
  line-height:1.2!important;
  text-align:center!important;
}

/* 3) Nhãn SẢN PHẨM BÁN CHẠY NHẤT dạng ribbon có hai cánh xám như mẫu. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
  position:relative;
  z-index:1;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-width:410px;
  min-height:68px;
  margin:0 auto 34px;
  padding:14px 64px 17px;
  background:transparent!important;
  color:#fff!important;
  filter:drop-shadow(0 9px 16px rgba(34,139,67,.18));
  font-size:22px!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:.2px;
  text-align:center;
  overflow:visible;
}

body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before,
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
  inset:0;
  z-index:-1;
  border-radius:0 0 28px 28px;
  background:#31b94f;
  clip-path:polygon(8% 0,92% 0,86% 100%,14% 100%);
}

body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  top:0;
  left:-72px;
  right:-72px;
  z-index:-2;
  height:48px;
  background:
    linear-gradient(135deg,transparent 0 34%,#d7d9d8 35% 100%) left top/112px 48px no-repeat,
    linear-gradient(225deg,transparent 0 34%,#d7d9d8 35% 100%) right top/112px 48px no-repeat;
}

/* 4) Chuẩn hoá tone giá và nút thêm giỏ hàng trên riêng trang chủ. */
body:not(.admin-body) .vtw-home-grid-v91 .course-price-row .brand-orange,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-price-row .brand-orange{
  color:#dc2738!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-card-cart-yellow,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-card-cart-yellow{
  background:#418f09!important;
  border-color:#418f09!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(65,143,9,.22)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-card-cart-yellow:hover,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-card-cart-yellow:hover{
  background:#347807!important;
  border-color:#347807!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(65,143,9,.3)!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-card-cart-yellow i,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-card-cart-yellow i{
  color:#fff!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-head-v82 h2{
    font-size:23px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(340px,88vw);
    min-width:0;
    min-height:56px;
    padding:12px 34px 14px;
    border-radius:0 0 22px 22px;
    font-size:17px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
    border-radius:0 0 22px 22px;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    left:-42px;
    right:-42px;
    height:38px;
    background:
      linear-gradient(135deg,transparent 0 34%,#d7d9d8 35% 100%) left top/72px 38px no-repeat,
      linear-gradient(225deg,transparent 0 34%,#d7d9d8 35% 100%) right top/72px 38px no-repeat;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v104.css ===== */
/* V104 — Trang chủ: bỏ hoàn toàn màu nền nhạt trong thẻ sản phẩm,
   đồng bộ màu xanh nhận diện và chỉ đổi tiêu đề khu Tool AI theo yêu cầu. */

/* 1) Toàn bộ phần bên trong thẻ sản phẩm trên trang chủ chỉ dùng nền trắng,
      không còn gradient, lớp màu nhạt hoặc viền màu riêng quanh vùng ảnh. */
body:not(.admin-body) .vtw-home-grid-v91 .vtw-home-course-card-v91,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .vtw-home-course-card-v91,
body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-v2,
body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-link-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-link-v2,
body:not(.admin-body) .vtw-home-grid-v91 .course-body-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-body-v2,
body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-placeholder,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-placeholder{
  background-color:#fff!important;
  background-image:none!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-link-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-link-v2{
  border:0!important;
  box-shadow:none!important;
}

body:not(.admin-body) .vtw-home-grid-v91 .course-thumb-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-thumb-v2{
  border-bottom-color:#e8edf2!important;
}

/* 2) Đồng bộ mọi chữ xanh lá liên quan đến khu sản phẩm trang chủ. */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-head-v82 h2,
body:not(.admin-body) .vtw-home-grid-v91 .course-title-v2,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-title-v2,
body:not(.admin-body) .vtw-home-grid-v91 .course-price-row .text-success,
body:not(.admin-body) .vtw-best-sellers-v83.is-best-selling .course-price-row .text-success,
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{
  color:#418f09!important;
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{
  border-color:#418f09!important;
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a:hover{
  background:#418f09!important;
  border-color:#418f09!important;
  color:#fff!important;
}

/* 3) Tất cả nút thêm giỏ hàng trên giao diện công khai dùng đúng #418f09,
      kể cả trạng thái hover/focus/active/đã thêm để không đổi sang màu khác. */
body:not(.admin-body) button[data-cart-add],
body:not(.admin-body) .course-card-cart-yellow,
body:not(.admin-body) .course-card-cart-yellow.added,
body:not(.admin-body) .checkout-suggest-add,
body:not(.admin-body) button[data-cart-add]:hover,
body:not(.admin-body) button[data-cart-add]:focus,
body:not(.admin-body) button[data-cart-add]:active,
body:not(.admin-body) .course-card-cart-yellow:hover,
body:not(.admin-body) .course-card-cart-yellow:focus,
body:not(.admin-body) .course-card-cart-yellow:active,
body:not(.admin-body) .checkout-suggest-add:hover,
body:not(.admin-body) .checkout-suggest-add:focus,
body:not(.admin-body) .checkout-suggest-add:active{
  background:#418f09!important;
  border-color:#418f09!important;
  color:#fff!important;
}

body:not(.admin-body) button[data-cart-add] i,
body:not(.admin-body) .course-card-cart-yellow i,
body:not(.admin-body) .checkout-suggest-add i{
  color:#fff!important;
}

/* ===== Nguồn hợp nhất: theme-public-v106.css ===== */
/* V106 — Đồng bộ toàn bộ thẻ sản phẩm trang chủ với thẻ tại /tools.
   Chỉ giữ nguyên kiểu nhãn giảm giá/FREE chéo ở góc dưới ảnh của trang chủ. */

/* Wrapper chỉ dùng để nhận đúng bộ style thẻ của trang /tools,
   không tạo thêm nền, khoảng đệm hoặc chiều cao cho từng khu trang chủ. */
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6{
  width:100%;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
}
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6::before,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6::after{
  display:none!important;
  content:none!important;
}

/* Giữ đúng nhãn giảm giá/FREE hiện có của trang chủ. */
body:not(.admin-body) .vtw-home-badge-v106 .course-thumb-v2{
  position:relative!important;
  overflow:hidden!important;
}
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2{
  top:auto!important;
  left:auto!important;
  right:-30px!important;
  bottom:9px!important;
  width:102px!important;
  height:26px!important;
  min-width:0!important;
  padding:0 5px!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  color:#4a3500!important;
  font-size:.68rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.2px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:0 4px 10px rgba(15,23,42,.18)!important;
  z-index:8!important;
  pointer-events:none!important;
}
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
  background:linear-gradient(90deg,#d7a927 0%,#f4cf59 50%,#e0b437 100%)!important;
  color:#4a3500!important;
}
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-free{
  background:linear-gradient(90deg,#159d3f 0%,#2bd45f 52%,#0d8c37 100%)!important;
  color:#fff!important;
}

@media(max-width:767.98px){
  body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2{
    top:auto!important;
    left:auto!important;
    right:-26px!important;
    bottom:8px!important;
    width:90px!important;
    height:23px!important;
    padding:0 4px!important;
    font-size:.6rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v107.css ===== */
/* V107 — làm vùng nhập tìm kiếm dễ bấm, đổi nút xem thêm sang màu giá bán
   và cập nhật tiêu đề Tool AI trên trang chủ. */

/* Toàn bộ vùng trắng của thanh tìm kiếm đều có thể bấm để đưa con trỏ vào ô nhập. */
body:not(.admin-body) .product-catalog-v6 .catalog-search-v18{
  position:relative!important;
  z-index:6!important;
  pointer-events:auto!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95{
  position:relative!important;
  z-index:1!important;
  isolation:isolate;
  overflow:hidden;
  cursor:text!important;
  pointer-events:auto!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95::before,
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95::after{
  pointer-events:none!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 input[type="search"]{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  max-width:none!important;
  pointer-events:auto!important;
  cursor:text!important;
  user-select:text!important;
  -webkit-user-select:text!important;
  touch-action:manipulation;
}
body:not(.admin-body) .product-catalog-v6 .catalog-search-modern-v95 button[type="submit"]{
  position:relative!important;
  z-index:3!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  touch-action:manipulation;
}

/* Nút xem tất cả dưới các danh mục dùng cùng màu đỏ của giá bán. */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a,
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a:visited{
  background:#dc2738!important;
  border-color:#dc2738!important;
  color:#fff!important;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a:hover,
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a:focus,
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a:active{
  background:#b91f30!important;
  border-color:#b91f30!important;
  color:#fff!important;
}

/* Tiêu đề Tool AI trên trang chủ luôn giữ đúng một hàng. */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-head-v82 h2{
  max-width:100%;
  white-space:nowrap!important;
  overflow:visible!important;
}

@media(max-width:767.98px){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-head-v82 h2{
    font-size:clamp(21px,6vw,26px)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v108.css ===== */
/* V108 — đồng bộ màu icon giỏ hàng và thông báo trên thanh điều hướng. */
body:not(.admin-body) .main-navbar .nav-cart-btn,
body:not(.admin-body) .main-navbar .public-notification-btn{
  color:#418f09!important;
}

/* ===== Nguồn hợp nhất: theme-public-v109.css ===== */
/* V109 — Nhãn “SẢN PHẨM BÁN CHẠY NHẤT” theo đúng kiểu ribbon tham chiếu.
   Giữ màu nhận diện của website: #418f09. */

body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
  position:relative!important;
  z-index:2!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(480px,calc(100vw - 150px))!important;
  min-width:0!important;
  min-height:106px!important;
  margin:-72px auto 34px!important;
  padding:0 30px!important;
  border:0!important;
  border-radius:0 0 48px 48px!important;
  background:#418f09!important;
  color:#fff!important;
  clip-path:none!important;
  filter:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  font-size:clamp(22px,2.25vw,30px)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-align:center!important;
}

/* Cánh xám bên trái. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:-52px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:-1!important;
  width:82px!important;
  height:44px!important;
  border:0!important;
  border-radius:0!important;
  background:#d7d9d8!important;
  clip-path:polygon(0 100%,63.5% 0,100% 100%)!important;
  pointer-events:none!important;
}

/* Cánh xếp màu nhạt bên phải, chồng nhẹ vào thân ribbon như mẫu. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  right:-72px!important;
  left:auto!important;
  bottom:auto!important;
  z-index:-1!important;
  width:108px!important;
  height:44px!important;
  border:0!important;
  border-radius:0!important;
  background:
    linear-gradient(45deg,rgba(65,143,9,.30) 0 49.5%,transparent 50.5%) left top/54px 100% no-repeat,
    rgba(244,211,105,.46)!important;
  clip-path:polygon(0 0,52% 0,100% 100%,0 100%)!important;
  pointer-events:none!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(350px,calc(100vw - 82px))!important;
    min-height:72px!important;
    margin:-50px auto 28px!important;
    padding:0 14px!important;
    border-radius:0 0 32px 32px!important;
    font-size:clamp(15px,4.25vw,19px)!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
    left:-36px!important;
    width:56px!important;
    height:31px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    right:-48px!important;
    width:72px!important;
    height:31px!important;
    background:
      linear-gradient(45deg,rgba(65,143,9,.30) 0 49.5%,transparent 50.5%) left top/36px 100% no-repeat,
      rgba(244,211,105,.46)!important;
  }
}

@media (max-width:374.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:calc(100vw - 68px)!important;
    min-height:66px!important;
    margin-top:-45px!important;
    padding:0 10px!important;
    border-radius:0 0 28px 28px!important;
    font-size:14px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
    left:-30px!important;
    width:47px!important;
    height:28px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    right:-40px!important;
    width:60px!important;
    height:28px!important;
    background:
      linear-gradient(45deg,rgba(65,143,9,.30) 0 49.5%,transparent 50.5%) left top/30px 100% no-repeat,
      rgba(244,211,105,.46)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v110.css ===== */
/* V110 — Làm lại nhãn “SẢN PHẨM BÁN CHẠY NHẤT” theo đúng mẫu:
   thân xanh thuôn và bo cong phía dưới, hai cánh tam giác xám cân đối. */

body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
  position:relative!important;
  z-index:2!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(600px,calc(100vw - 32px))!important;
  height:105px!important;
  min-width:0!important;
  min-height:0!important;
  margin:-77px auto 34px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  clip-path:none!important;
  filter:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  font-size:30px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:-.25px!important;
  text-align:center!important;
}

/* Thân ribbon xanh: rộng 494/600 theo đúng tỷ lệ mẫu, thuôn dần xuống dưới. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  z-index:-1!important;
  width:82.333333%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
  background:#418f09!important;
  transform:translateX(-50%)!important;
  clip-path:polygon(
    0 0,
    100% 0,
    99% 10%,
    98% 24%,
    97% 39%,
    96% 54%,
    95% 68%,
    94% 78%,
    92.6% 87%,
    90.4% 94%,
    87.2% 98%,
    85.8% 100%,
    14.2% 100%,
    12.8% 98%,
    9.6% 94%,
    7.4% 87%,
    6% 78%,
    5% 68%,
    4% 54%,
    3% 39%,
    2% 24%,
    1% 10%
  )!important;
  pointer-events:none!important;
}

/* Hai cánh xám đối xứng phía sau thân ribbon. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  z-index:-2!important;
  width:100%!important;
  height:44px!important;
  border:0!important;
  border-radius:0!important;
  background:#d7d7d7!important;
  clip-path:polygon(
    0 100%,
    8.833333% 0,
    14% 100%,
    86% 100%,
    91.166667% 0,
    100% 100%
  )!important;
  pointer-events:none!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(520px,calc(100vw - 24px))!important;
    height:78px!important;
    margin:-55px auto 28px!important;
    font-size:clamp(16px,4.5vw,22px)!important;
    letter-spacing:-.15px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:33px!important;
  }
}

@media (max-width:374.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:calc(100vw - 18px)!important;
    height:68px!important;
    margin-top:-48px!important;
    margin-bottom:24px!important;
    font-size:15px!important;
    letter-spacing:-.2px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:29px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v111.css ===== */
/* V111 — Thu nhỏ nhãn “SẢN PHẨM BÁN CHẠY NHẤT” và làm đường cong mềm, mịn hơn. */

body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
  position:relative!important;
  z-index:2!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(410px,calc(100vw - 32px))!important;
  height:62px!important;
  min-width:0!important;
  min-height:0!important;
  margin:-43px auto 28px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  clip-path:none!important;
  filter:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-align:center!important;
}

/* Thân xanh nhỏ gọn; bo cong theo bán kính thật để đường cong mịn, không còn các cạnh gãy. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto auto 50%!important;
  z-index:-1!important;
  width:82.5%!important;
  height:100%!important;
  border:0!important;
  border-radius:0 0 30px 30px / 0 0 28px 28px!important;
  background:#418f09!important;
  transform:translateX(-50%)!important;
  clip-path:none!important;
  pointer-events:none!important;
}

/* Hai cánh xám cân đối, thu nhỏ theo thân nhãn. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  content:""!important;
  position:absolute!important;
  inset:0 auto auto 0!important;
  z-index:-2!important;
  width:100%!important;
  height:28px!important;
  border:0!important;
  background:#d7d7d7!important;
  clip-path:polygon(
    0 100%,
    8.75% 0,
    14.5% 100%,
    85.5% 100%,
    91.25% 0,
    100% 100%
  )!important;
  pointer-events:none!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(350px,calc(100vw - 24px))!important;
    height:54px!important;
    margin:-37px auto 24px!important;
    font-size:clamp(14px,4vw,16px)!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:24px!important;
  }
}

@media (max-width:374.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:calc(100vw - 18px)!important;
    height:49px!important;
    margin-top:-33px!important;
    margin-bottom:22px!important;
    font-size:13px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:22px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v112.css ===== */
/* V112 — Hiệu ứng vệt sáng trắng quét chéo qua toàn bộ thẻ sản phẩm khi rê chuột. */

@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .course-card-v2{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }

  body:not(.admin-body) .course-card-v2::after{
    content:"";
    position:absolute;
    z-index:20;
    top:-55%;
    left:-75%;
    width:42%;
    height:210%;
    background:linear-gradient(
      105deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.08) 22%,
      rgba(255,255,255,.54) 49%,
      rgba(255,255,255,.16) 67%,
      rgba(255,255,255,0) 100%
    );
    transform:skewX(-20deg) translateX(-170%);
    opacity:0;
    pointer-events:none;
    will-change:transform,opacity;
  }

  body:not(.admin-body) .course-card-v2:hover::after{
    animation:vtwProductWhiteSweepV112 .62s cubic-bezier(.22,.61,.36,1) both;
  }
}

@keyframes vtwProductWhiteSweepV112{
  0%{
    opacity:0;
    transform:skewX(-20deg) translateX(-170%);
  }
  12%{opacity:.9;}
  82%{opacity:.82;}
  100%{
    opacity:0;
    transform:skewX(-20deg) translateX(620%);
  }
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .course-card-v2:hover::after{
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v113.css ===== */
/* V113 — Chỉnh nhãn “SẢN PHẨM BÁN CHẠY NHẤT” theo mẫu ribbon:
   thân xanh thuôn cong dạng chữ V mềm; hai tam giác xám có cạnh đáy nằm đúng trên đường phân cách ngang. */

body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
  position:relative!important;
  z-index:2!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(322px,calc(100vw - 28px))!important;
  height:56px!important;
  min-width:0!important;
  min-height:0!important;
  margin:-57px auto 28px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  clip-path:none!important;
  filter:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-align:center!important;
}

/* Thân xanh: rộng 82% như mẫu, hai cạnh bên thuôn vào và đáy cong mịn. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:50%!important;
  z-index:-1!important;
  width:82%!important;
  height:100%!important;
  border:0!important;
  background:#418f09!important;
  transform:translateX(-50%)!important;
  clip-path:polygon(
    0 0,
    100% 0,
    96.3% 60%,
    95.6% 70%,
    94.3% 79%,
    92.2% 87%,
    89.4% 93%,
    85.8% 97%,
    81.5% 99.4%,
    76.5% 100%,
    23.5% 100%,
    18.5% 99.4%,
    14.2% 97%,
    10.6% 93%,
    7.8% 87%,
    5.7% 79%,
    4.4% 70%,
    3.7% 60%
  )!important;
  pointer-events:none!important;
}

/* Hai cánh xám: cạnh đáy ngang nằm tại đúng đường phân cách của hai khu vực. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  z-index:-2!important;
  width:100%!important;
  height:23px!important;
  border:0!important;
  background:#d7d7d7!important;
  clip-path:polygon(
    0 100%,
    9% 0,
    16.5% 100%,
    83.5% 100%,
    91% 0,
    100% 100%
  )!important;
  pointer-events:none!important;
}

@media (max-width:991.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(306px,calc(100vw - 26px))!important;
    height:53px!important;
    margin:-49px auto 25px!important;
    font-size:15px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:21px!important;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(292px,calc(100vw - 20px))!important;
    height:49px!important;
    margin:-41px auto 23px!important;
    font-size:clamp(13px,3.8vw,14px)!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:19px!important;
  }
}

@media (max-width:359.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:calc(100vw - 16px)!important;
    height:46px!important;
    margin-top:-39px!important;
    font-size:12.5px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:18px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v114.css ===== */
/* V114 — Tiêu đề danh mục dạng viết hoa đầu chữ, cân lại nhịp dọc trang chủ
   và giới hạn hiệu ứng vệt sáng chỉ trong khung ảnh sản phẩm với tốc độ chậm hơn. */

/* 1) Tiêu đề danh mục giữ đúng kiểu chữ do PHP xuất ra, không ép viết hoa toàn bộ. */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-head-v82 h2{
  text-transform:none!important;
}

/* 2) Cân đều khoảng cách: tiêu đề → sản phẩm → nút xem tất cả → tiêu đề kế tiếp. */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69{
  padding:12px 0!important;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69:first-child{
  padding-top:28px!important;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69:last-child{
  padding-bottom:28px!important;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-head-v82{
  margin:0 0 22px!important;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82{
  margin:22px 0 0!important;
}

/* 3) Tắt vệt sáng ở toàn bộ thẻ của V112. */
@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .course-card-v2::after{
    content:none!important;
    display:none!important;
    animation:none!important;
  }

  /* Chỉ tạo vệt sáng bên trong vùng ảnh; nhãn giảm giá/FREE vẫn nằm phía trên. */
  body:not(.admin-body) .course-card-v2 .course-thumb-v2{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  body:not(.admin-body) .course-card-v2 .course-thumb-v2::after{
    content:"";
    position:absolute;
    z-index:6;
    top:-48%;
    left:-62%;
    width:36%;
    height:196%;
    background:linear-gradient(
      105deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.08) 23%,
      rgba(255,255,255,.58) 49%,
      rgba(255,255,255,.17) 68%,
      rgba(255,255,255,0) 100%
    );
    transform:skewX(-20deg) translateX(-185%);
    opacity:0;
    pointer-events:none;
    will-change:transform,opacity;
  }
  body:not(.admin-body) .course-card-v2:hover .course-thumb-v2::after{
    animation:vtwProductImageWhiteSweepV114 .92s cubic-bezier(.22,.61,.36,1) both;
  }
}

@keyframes vtwProductImageWhiteSweepV114{
  0%{
    opacity:0;
    transform:skewX(-20deg) translateX(-185%);
  }
  14%{opacity:.9;}
  80%{opacity:.82;}
  100%{
    opacity:0;
    transform:skewX(-20deg) translateX(690%);
  }
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69{
    padding:10px 0!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69:first-child{
    padding-top:22px!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69:last-child{
    padding-bottom:22px!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-head-v82{
    margin-bottom:18px!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82{
    margin-top:18px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .course-card-v2:hover .course-thumb-v2::after{
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v115.css ===== */
/* V115 — Căn cạnh đáy hai cánh xám của nhãn bán chạy trùng đúng đường kẻ ngang. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  height:17px!important;
}

@media (max-width:991.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:16px!important;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:15px!important;
  }
}

@media (max-width:359.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:14px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v116.css ===== */
/* V116 — Đồng bộ viền xanh cho nút giỏ hàng/thông báo và thu gọn nút xem tất cả. */

/* Viền tròn của giỏ hàng và thông báo dùng đúng màu nhận diện xanh. */
body:not(.admin-body) .main-navbar .nav-cart-btn,
body:not(.admin-body) .main-navbar .public-notification-btn{
  border:2px solid #418f09!important;
  color:#418f09!important;
}

body:not(.admin-body) .main-navbar .nav-cart-btn:hover,
body:not(.admin-body) .main-navbar .nav-cart-btn:focus,
body:not(.admin-body) .main-navbar .public-notification-btn:hover,
body:not(.admin-body) .main-navbar .public-notification-btn:focus,
body:not(.admin-body) .main-navbar .public-notification-btn[aria-expanded="true"]{
  border-color:#418f09!important;
}

/* Thu gọn các nút Xem tất cả nhưng vẫn giữ một hàng và vùng bấm dễ thao tác. */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{
  min-width:220px!important;
  width:auto!important;
  height:46px!important;
  padding:0 25px!important;
  gap:9px!important;
  font-size:14px!important;
  border-radius:999px!important;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a i{
  font-size:17px!important;
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    height:43px!important;
    padding:0 20px!important;
    gap:8px!important;
    font-size:13px!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a i{
    font-size:16px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v117.css ===== */
/* Themes Văn Thế Web v117 — làm lại trang /lien-he theo nội dung mẫu, form phải gọn. */
body:not(.admin-body) .vtw-contact-page-v117{
  min-height:calc(100vh - 180px);
  padding:58px 0 76px;
  background:#fff;
  color:#050505;
}
body:not(.admin-body) .vtw-contact-container-v117{
  max-width:1180px;
}
body:not(.admin-body) .vtw-contact-layout-v117{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,410px);
  align-items:start;
  gap:64px;
}
body:not(.admin-body) .vtw-contact-copy-v117{
  min-width:0;
  padding-top:2px;
}
body:not(.admin-body) .vtw-contact-copy-v117 h1,
body:not(.admin-body) .vtw-contact-copy-v117 h2{
  color:#2477bd;
  font-family:Roboto,Arial,sans-serif;
  font-weight:700;
  letter-spacing:-.025em;
}
body:not(.admin-body) .vtw-contact-copy-v117 h1{
  margin:0 0 24px;
  font-size:clamp(34px,3.25vw,47px);
  line-height:1.13;
}
body:not(.admin-body) .vtw-contact-intro-v117{
  max-width:760px;
  margin:0;
  color:#050505;
  font-size:clamp(18px,1.62vw,24px);
  font-weight:400;
  line-height:1.55;
}
body:not(.admin-body) .vtw-contact-intro-v117 strong{
  color:#050505;
  font-weight:700;
}
body:not(.admin-body) .vtw-contact-copy-v117 h2{
  margin:40px 0 22px;
  font-size:clamp(31px,2.85vw,43px);
  line-height:1.16;
}
body:not(.admin-body) .vtw-contact-list-v117{
  margin:0;
  padding-left:35px;
  color:#050505;
  font-size:clamp(18px,1.55vw,23px);
  line-height:1.45;
}
body:not(.admin-body) .vtw-contact-list-v117 li{
  padding-left:2px;
  margin:0 0 22px;
}
body:not(.admin-body) .vtw-contact-list-v117 li:last-child{
  margin-bottom:0;
}
body:not(.admin-body) .vtw-contact-list-v117 strong{
  color:#050505;
  font-weight:700;
}
body:not(.admin-body) .vtw-contact-list-v117 a{
  color:#050505;
  font-weight:400;
  text-decoration:none;
  overflow-wrap:anywhere;
}
body:not(.admin-body) .vtw-contact-list-v117 li:last-child a{
  color:#2477bd;
  font-weight:700;
}
body:not(.admin-body) .vtw-contact-list-v117 a:hover,
body:not(.admin-body) .vtw-contact-list-v117 a:focus{
  text-decoration:underline;
}
body:not(.admin-body) .vtw-contact-form-wrap-v117{
  width:100%;
  max-width:410px;
  justify-self:end;
}
body:not(.admin-body) .contact-form-card-v6.vtw-contact-form-card-v117{
  width:100%;
  padding:24px;
  border:1px solid #dce7ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 38px rgba(25,71,112,.09);
}
body:not(.admin-body) .vtw-contact-form-card-v117 h2{
  margin:0 0 7px;
  color:#2477bd;
  font-size:25px;
  font-weight:700;
  line-height:1.2;
}
body:not(.admin-body) .vtw-contact-form-note-v117{
  margin:0 0 18px;
  color:#5d6770;
  font-size:14px;
  line-height:1.45;
}
body:not(.admin-body) .vtw-contact-form-card-v117 .form-label{
  margin-bottom:6px;
  color:#161616;
  font-size:14px;
  font-weight:500;
}
body:not(.admin-body) .vtw-contact-form-card-v117 .form-control{
  min-height:43px;
  padding:9px 12px;
  border:1px solid #ced9e2;
  border-radius:9px;
  background:#fff;
  color:#111;
  font-size:15px;
  box-shadow:none;
}
body:not(.admin-body) .vtw-contact-form-card-v117 textarea.form-control{
  min-height:116px;
  resize:vertical;
}
body:not(.admin-body) .vtw-contact-form-card-v117 .form-control:focus{
  border-color:#2477bd;
  box-shadow:0 0 0 3px rgba(36,119,189,.12);
}
body:not(.admin-body) .vtw-contact-submit-v117{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:9px 18px;
  border:1px solid #418f09;
  border-radius:9px;
  background:#418f09;
  color:#fff;
  font-size:15px;
  font-weight:500;
  line-height:1.2;
}
body:not(.admin-body) .vtw-contact-submit-v117:hover,
body:not(.admin-body) .vtw-contact-submit-v117:focus{
  border-color:#347507;
  background:#347507;
  color:#fff;
}
@media(max-width:991.98px){
  body:not(.admin-body) .vtw-contact-page-v117{
    padding:38px 0 58px;
  }
  body:not(.admin-body) .vtw-contact-layout-v117{
    grid-template-columns:1fr;
    gap:36px;
  }
  body:not(.admin-body) .vtw-contact-copy-v117 h1{
    margin-bottom:18px;
  }
  body:not(.admin-body) .vtw-contact-copy-v117 h2{
    margin-top:32px;
  }
  body:not(.admin-body) .vtw-contact-form-wrap-v117{
    max-width:560px;
    justify-self:start;
  }
}
@media(max-width:575.98px){
  body:not(.admin-body) .vtw-contact-page-v117{
    padding:28px 0 46px;
  }
  body:not(.admin-body) .vtw-contact-copy-v117 h1{
    font-size:31px;
  }
  body:not(.admin-body) .vtw-contact-intro-v117{
    font-size:17px;
    line-height:1.55;
  }
  body:not(.admin-body) .vtw-contact-copy-v117 h2{
    margin:30px 0 18px;
    font-size:30px;
  }
  body:not(.admin-body) .vtw-contact-list-v117{
    padding-left:27px;
    font-size:17px;
  }
  body:not(.admin-body) .vtw-contact-list-v117 li{
    margin-bottom:17px;
  }
  body:not(.admin-body) .contact-form-card-v6.vtw-contact-form-card-v117{
    padding:19px 16px!important;
    border-radius:15px!important;
  }
  body:not(.admin-body) .vtw-contact-form-card-v117 h2{
    font-size:23px;
  }
  body:not(.admin-body) .vtw-contact-submit-v117{
    width:100%;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v118.css ===== */
/* V118 — Tinh chỉnh nhãn bán chạy và thu nhỏ nút xem tất cả trên trang chủ. */

/* Nhãn bán chạy: thân xanh dài hơn, hai cạnh dưới thu sát vào và đáy cong mềm. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
  width:min(350px,calc(100vw - 28px))!important;
  height:56px!important;
  margin:-57px auto 28px!important;
  font-size:16px!important;
  font-weight:700!important;
  text-transform:none!important;
}
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
  width:88%!important;
  clip-path:polygon(
    0 0,
    100% 0,
    96.2% 66%,
    95.1% 76%,
    92.8% 85%,
    89.1% 92%,
    83.4% 97%,
    75.5% 99.5%,
    24.5% 99.5%,
    16.6% 97%,
    10.9% 92%,
    7.2% 85%,
    4.9% 76%,
    3.8% 66%
  )!important;
}
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  height:17px!important;
  clip-path:polygon(
    0 100%,
    9% 0,
    14.5% 100%,
    85.5% 100%,
    91% 0,
    100% 100%
  )!important;
}

/* Nút xem tất cả: chữ dạng câu và khung nhỏ gọn hơn. */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{
  min-width:0!important;
  width:auto!important;
  height:40px!important;
  padding:0 19px!important;
  gap:7px!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a i{
  font-size:15px!important;
}

@media(max-width:991.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(330px,calc(100vw - 26px))!important;
    height:53px!important;
    margin:-49px auto 25px!important;
    font-size:15px!important;
  }
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:16px!important;
  }
}

@media(max-width:575.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(306px,calc(100vw - 20px))!important;
    height:49px!important;
    margin:-41px auto 23px!important;
    font-size:clamp(13px,3.7vw,14px)!important;
  }
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:15px!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a{
    height:38px!important;
    padding:0 16px!important;
    gap:6px!important;
    font-size:12.5px!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a i{
    font-size:14px!important;
  }
}

@media(max-width:359.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:calc(100vw - 16px)!important;
    height:46px!important;
    margin-top:-39px!important;
    font-size:12.5px!important;
  }
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:14px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v119.css ===== */
/* Themes Văn Thế Web v119 — cân lại trang liên hệ, dropdown danh mục và hoàn nguyên nhãn bán chạy. */

/* Trang liên hệ: cỡ chữ gọn, tiêu đề xanh dương đúng mẫu và hai cột cân đối. */
body:not(.admin-body) .vtw-contact-page-v117{
  padding:38px 0 58px!important;
}
body:not(.admin-body) .vtw-contact-container-v117{
  max-width:1080px!important;
}
body:not(.admin-body) .vtw-contact-layout-v117{
  grid-template-columns:minmax(0,1fr) minmax(320px,380px)!important;
  gap:48px!important;
}
body:not(.admin-body) .vtw-contact-copy-v117 h1,
body:not(.admin-body) .vtw-contact-copy-v117 h2,
body:not(.admin-body) .vtw-contact-form-card-v117 h2{
  color:#2477bd!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body:not(.admin-body) .vtw-contact-copy-v117 h1{
  margin:0 0 14px!important;
  font-size:30px!important;
  line-height:1.22!important;
}
body:not(.admin-body) .vtw-contact-intro-v117{
  max-width:650px!important;
  font-size:16px!important;
  line-height:1.55!important;
}
body:not(.admin-body) .vtw-contact-copy-v117 h2{
  margin:26px 0 14px!important;
  font-size:27px!important;
  line-height:1.22!important;
}
body:not(.admin-body) .vtw-contact-list-v117{
  padding-left:24px!important;
  font-size:16px!important;
  line-height:1.45!important;
}
body:not(.admin-body) .vtw-contact-list-v117 li{
  margin-bottom:14px!important;
}
body:not(.admin-body) .vtw-contact-form-wrap-v117{
  max-width:380px!important;
}
body:not(.admin-body) .contact-form-card-v6.vtw-contact-form-card-v117{
  padding:22px!important;
  border-radius:16px!important;
}
body:not(.admin-body) .vtw-contact-form-card-v117 h2{
  margin-bottom:6px!important;
  font-size:23px!important;
  line-height:1.25!important;
}
body:not(.admin-body) .vtw-contact-form-note-v117{
  margin-bottom:16px!important;
  font-size:13.5px!important;
}
body:not(.admin-body) .vtw-contact-form-card-v117 .form-label{
  font-size:13.5px!important;
}
body:not(.admin-body) .vtw-contact-form-card-v117 .form-control{
  min-height:41px!important;
  font-size:14px!important;
}
body:not(.admin-body) .vtw-contact-form-card-v117 textarea.form-control{
  min-height:108px!important;
}
body:not(.admin-body) .vtw-contact-submit-v117{
  min-height:40px!important;
  padding:8px 16px!important;
  font-size:14px!important;
}

/* Dropdown danh mục desktop: mỗi khung vừa đúng nội dung dài nhất, không giữ rộng cố định 300px. */
@media (min-width:992px){
  body:not(.admin-body) .main-navbar .public-category-dropdown-v11{
    width:max-content!important;
    min-width:0!important;
    max-width:min(360px,calc(100vw - 24px))!important;
  }
  body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item{
    width:100%!important;
    grid-template-columns:28px auto!important;
  }
  body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item span{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
  }
}

/* Hoàn nguyên nhãn “SẢN PHẨM BÁN CHẠY NHẤT” về đúng bản cũ v117. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
  width:min(322px,calc(100vw - 28px))!important;
  height:56px!important;
  margin:-57px auto 28px!important;
  font-size:16px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
}
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
  width:82%!important;
  clip-path:polygon(
    0 0,
    100% 0,
    96.3% 60%,
    95.6% 70%,
    94.3% 79%,
    92.2% 87%,
    89.4% 93%,
    85.8% 97%,
    81.5% 99.4%,
    76.5% 100%,
    23.5% 100%,
    18.5% 99.4%,
    14.2% 97%,
    10.6% 93%,
    7.8% 87%,
    5.7% 79%,
    4.4% 70%,
    3.7% 60%
  )!important;
}
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  height:17px!important;
  clip-path:polygon(
    0 100%,
    9% 0,
    16.5% 100%,
    83.5% 100%,
    91% 0,
    100% 100%
  )!important;
}

@media(max-width:991.98px){
  body:not(.admin-body) .vtw-contact-page-v117{
    padding:32px 0 50px!important;
  }
  body:not(.admin-body) .vtw-contact-layout-v117{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  body:not(.admin-body) .vtw-contact-form-wrap-v117{
    max-width:520px!important;
  }
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(306px,calc(100vw - 26px))!important;
    height:53px!important;
    margin:-49px auto 25px!important;
    font-size:15px!important;
  }
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:16px!important;
  }
}

@media(max-width:575.98px){
  body:not(.admin-body) .vtw-contact-page-v117{
    padding:24px 0 42px!important;
  }
  body:not(.admin-body) .vtw-contact-copy-v117 h1{
    font-size:26px!important;
  }
  body:not(.admin-body) .vtw-contact-intro-v117{
    font-size:15px!important;
  }
  body:not(.admin-body) .vtw-contact-copy-v117 h2{
    margin-top:24px!important;
    font-size:24px!important;
  }
  body:not(.admin-body) .vtw-contact-list-v117{
    font-size:15px!important;
  }
  body:not(.admin-body) .contact-form-card-v6.vtw-contact-form-card-v117{
    padding:18px 15px!important;
  }
  body:not(.admin-body) .vtw-contact-form-card-v117 h2{
    font-size:21px!important;
  }
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(292px,calc(100vw - 20px))!important;
    height:49px!important;
    margin:-41px auto 23px!important;
    font-size:clamp(13px,3.8vw,14px)!important;
  }
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:15px!important;
  }
}

@media(max-width:359.98px){
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:calc(100vw - 16px)!important;
    height:46px!important;
    margin-top:-39px!important;
    font-size:12.5px!important;
  }
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:14px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v120.css ===== */
/* Themes Văn Thế Web v120 — trang liên hệ gọn và biểu mẫu dạng ngang. */
body:not(.admin-body) .vtw-contact-page-v120{
  min-height:0!important;
  padding:28px 0 36px!important;
}
body:not(.admin-body) .vtw-contact-container-v120{
  max-width:1180px!important;
}
body:not(.admin-body) .vtw-contact-layout-v120{
  grid-template-columns:minmax(350px,.82fr) minmax(560px,1.18fr)!important;
  align-items:start!important;
  gap:38px!important;
}
body:not(.admin-body) .vtw-contact-copy-v120{
  padding-top:6px!important;
}
body:not(.admin-body) .vtw-contact-copy-v120 h1{
  margin-bottom:10px!important;
  font-size:28px!important;
  line-height:1.2!important;
}
body:not(.admin-body) .vtw-contact-copy-v120 .vtw-contact-intro-v117{
  max-width:510px!important;
  font-size:15px!important;
  line-height:1.5!important;
}
body:not(.admin-body) .vtw-contact-copy-v120 h2{
  margin:22px 0 11px!important;
  font-size:24px!important;
  line-height:1.2!important;
}
body:not(.admin-body) .vtw-contact-copy-v120 .vtw-contact-list-v117{
  padding-left:23px!important;
  font-size:15px!important;
  line-height:1.4!important;
}
body:not(.admin-body) .vtw-contact-copy-v120 .vtw-contact-list-v117 li{
  margin-bottom:10px!important;
}
body:not(.admin-body) .vtw-contact-form-wrap-v120{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
}
body:not(.admin-body) .contact-form-card-v6.vtw-contact-form-card-v120{
  width:100%!important;
  padding:19px 20px!important;
  border-radius:15px!important;
}
body:not(.admin-body) .vtw-contact-form-heading-v120{
  display:flex;
  align-items:baseline;
  gap:15px;
  margin-bottom:13px;
}
body:not(.admin-body) .vtw-contact-form-card-v120 h2{
  flex:0 0 auto;
  margin:0!important;
  font-size:21px!important;
  line-height:1.2!important;
  white-space:nowrap;
}
body:not(.admin-body) .vtw-contact-form-card-v120 .vtw-contact-form-note-v117{
  margin:0!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body:not(.admin-body) .vtw-contact-form-grid-v120{
  display:grid;
  grid-template-columns:minmax(210px,.82fr) minmax(280px,1.18fr);
  gap:14px;
  align-items:stretch;
}
body:not(.admin-body) .vtw-contact-fields-v120,
body:not(.admin-body) .vtw-contact-message-v120{
  display:flex;
  flex-direction:column;
  min-width:0;
}
body:not(.admin-body) .vtw-contact-fields-v120{
  gap:9px;
}
body:not(.admin-body) .vtw-contact-message-v120{
  gap:10px;
}
body:not(.admin-body) .vtw-contact-field-v120{
  min-width:0;
}
body:not(.admin-body) .vtw-contact-form-card-v120 .form-label{
  display:block;
  margin:0 0 4px!important;
  font-size:13px!important;
  line-height:1.3!important;
}
body:not(.admin-body) .vtw-contact-form-card-v120 .form-control{
  width:100%;
  min-height:37px!important;
  padding:7px 10px!important;
  border-radius:8px!important;
  font-size:13.5px!important;
}
body:not(.admin-body) .vtw-contact-message-field-v120{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
}
body:not(.admin-body) .vtw-contact-form-card-v120 textarea.form-control{
  flex:1 1 auto;
  min-height:112px!important;
  resize:vertical;
}
body:not(.admin-body) .vtw-contact-form-card-v120 .vtw-contact-submit-v117{
  align-self:flex-start;
  min-height:37px!important;
  padding:7px 14px!important;
  font-size:13.5px!important;
}

@media(max-width:991.98px){
  body:not(.admin-body) .vtw-contact-page-v120{
    padding:24px 0 32px!important;
  }
  body:not(.admin-body) .vtw-contact-layout-v120{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  body:not(.admin-body) .vtw-contact-copy-v120 .vtw-contact-intro-v117{
    max-width:720px!important;
  }
  body:not(.admin-body) .vtw-contact-form-wrap-v120{
    max-width:760px!important;
  }
}

@media(max-width:767.98px){
  body:not(.admin-body) .vtw-contact-form-heading-v120{
    display:block;
    margin-bottom:12px;
  }
  body:not(.admin-body) .vtw-contact-form-card-v120 h2{
    margin-bottom:4px!important;
    white-space:normal;
  }
  body:not(.admin-body) .vtw-contact-form-grid-v120{
    grid-template-columns:1fr;
    gap:10px;
  }
  body:not(.admin-body) .vtw-contact-fields-v120{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 10px;
  }
  body:not(.admin-body) .vtw-contact-fields-v120 .vtw-contact-field-v120:last-child{
    grid-column:1/-1;
  }
  body:not(.admin-body) .vtw-contact-form-card-v120 textarea.form-control{
    min-height:96px!important;
  }
}

@media(max-width:575.98px){
  body:not(.admin-body) .vtw-contact-page-v120{
    padding:20px 0 28px!important;
  }
  body:not(.admin-body) .vtw-contact-copy-v120 h1{
    font-size:25px!important;
  }
  body:not(.admin-body) .vtw-contact-copy-v120 h2{
    margin-top:20px!important;
    font-size:22px!important;
  }
  body:not(.admin-body) .vtw-contact-copy-v120 .vtw-contact-intro-v117,
  body:not(.admin-body) .vtw-contact-copy-v120 .vtw-contact-list-v117{
    font-size:14.5px!important;
  }
  body:not(.admin-body) .contact-form-card-v6.vtw-contact-form-card-v120{
    padding:16px 14px!important;
  }
  body:not(.admin-body) .vtw-contact-fields-v120{
    grid-template-columns:1fr;
  }
  body:not(.admin-body) .vtw-contact-fields-v120 .vtw-contact-field-v120:last-child{
    grid-column:auto;
  }
  body:not(.admin-body) .vtw-contact-form-card-v120 .vtw-contact-submit-v117{
    width:auto!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v121.css ===== */
/* Themes Văn Thế Web v121 — nhãn bán chạy viết hoa đầu câu. */
body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
  text-transform:none!important;
}

/* ===== Nguồn hợp nhất: theme-public-v123.css ===== */
/* V123 — Đồng bộ nhãn giảm giá/FREE ở toàn bộ trang danh mục sản phẩm
   với nhãn chéo màu vàng/xanh tại góc dưới bên phải trên trang chủ. */
body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2{
  position:relative!important;
  overflow:hidden!important;
}

body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2{
  top:auto!important;
  left:auto!important;
  right:-30px!important;
  bottom:9px!important;
  width:102px!important;
  height:26px!important;
  min-width:0!important;
  padding:0 5px!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  font-size:.68rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.2px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:0 4px 10px rgba(15,23,42,.18)!important;
  z-index:8!important;
  pointer-events:none!important;
}

body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount{
  background:linear-gradient(90deg,#d7a927 0%,#f4cf59 50%,#e0b437 100%)!important;
  color:#4a3500!important;
}

body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-free{
  background:linear-gradient(90deg,#159d3f 0%,#2bd45f 52%,#0d8c37 100%)!important;
  color:#fff!important;
}

@media(max-width:767.98px){
  body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2{
    right:-26px!important;
    bottom:8px!important;
    width:90px!important;
    height:23px!important;
    padding:0 4px!important;
    font-size:.6rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v126.css ===== */
/* V126 — popup ảnh sản phẩm, sản phẩm liên quan/nổi bật cuối trang, quyền lợi mobile */

.vtw-media-viewer-v44 [data-vtw-media-slide] img{
  cursor:zoom-in;
}

.vtw-bottom-products-v126{
  margin-top:24px;
}
.vtw-bottom-products-v126 + .vtw-bottom-products-v126{
  margin-top:20px;
}
.vtw-bottom-products-v126 .vtw-related-section-head-v28{
  align-items:center;
}
.vtw-bottom-products-v126 .vtw-related-section-head-v28 h2{
  color:#418f09;
}
.vtw-bottom-products-v126 .vtw-related-section-head-v28 span{
  color:#64748b;
}
.vtw-bottom-products-v126 .vtw-related-card-v28 .copy strong{
  color:#dc2738;
}

body.vtw-lightbox-open-v126{
  overflow:hidden;
}
.vtw-image-lightbox-v126{
  position:fixed;
  inset:0;
  z-index:10080;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(3,10,18,.90);
  opacity:0;
  visibility:hidden;
  transition:opacity .16s ease,visibility .16s ease;
}
.vtw-image-lightbox-v126[hidden]{
  display:none!important;
}
.vtw-image-lightbox-v126.is-open{
  opacity:1;
  visibility:visible;
}
.vtw-image-lightbox-v126>img{
  display:block;
  width:auto;
  height:auto;
  max-width:min(94vw,1600px);
  max-height:92vh;
  object-fit:contain;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  user-select:none;
  -webkit-user-drag:none;
}
.vtw-lightbox-close-v126,
.vtw-lightbox-arrow-v126{
  position:fixed;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  color:#fff;
  background:rgba(10,20,32,.58);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  transition:background .16s ease,transform .16s ease;
}
.vtw-lightbox-close-v126:hover,
.vtw-lightbox-arrow-v126:hover{
  background:rgba(65,143,9,.92);
}
.vtw-lightbox-close-v126{
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:1.25rem;
}
.vtw-lightbox-arrow-v126{
  top:50%;
  width:50px;
  height:58px;
  border-radius:14px;
  transform:translateY(-50%);
  font-size:1.6rem;
}
.vtw-lightbox-arrow-v126:hover{
  transform:translateY(-50%) scale(1.04);
}
.vtw-lightbox-arrow-v126.is-prev{left:18px;}
.vtw-lightbox-arrow-v126.is-next{right:18px;}

@media (max-width:767.98px){
  /* 4 quyền lợi gọn thành 2 cột x 2 hàng trên mobile. */
  .vtw-purchase-benefits-v36{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 12px!important;
    font-size:.7rem!important;
    line-height:1.35!important;
  }
  .vtw-purchase-benefits-v36 span{
    align-items:flex-start;
    gap:6px!important;
  }
  .vtw-purchase-benefits-v36 i{
    font-size:.92rem!important;
    margin-top:1px;
  }
  .vtw-bottom-products-v126{
    margin-top:18px;
    padding:16px!important;
  }
  .vtw-bottom-products-v126 + .vtw-bottom-products-v126{
    margin-top:16px;
  }
  .vtw-image-lightbox-v126{
    padding:12px;
  }
  .vtw-image-lightbox-v126>img{
    max-width:96vw;
    max-height:88vh;
  }
  .vtw-lightbox-close-v126{
    top:12px;
    right:12px;
    width:40px;
    height:40px;
  }
  .vtw-lightbox-arrow-v126{
    width:40px;
    height:50px;
    border-radius:12px;
    font-size:1.25rem;
  }
  .vtw-lightbox-arrow-v126.is-prev{left:8px;}
  .vtw-lightbox-arrow-v126.is-next{right:8px;}
}

@media (max-width:420px){
  .vtw-purchase-benefits-v36{
    gap:9px 8px!important;
    font-size:.65rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v127.css ===== */
/* =============================================================
   Themes Văn Thế Web V127 — Header mobile gọn, logo giữa, tìm kiếm luôn hiện
   Chỉ thay đổi giao diện công khai dưới 992px.
   ============================================================= */
@media (max-width: 991.98px){
  body:not(.admin-body) .main-navbar .container{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto auto!important;
    align-items:center!important;
    column-gap:8px!important;
    row-gap:0!important;
    padding:10px 12px 11px!important;
  }

  body:not(.admin-body) .main-navbar .mobile-nav-left-v127{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-width:42px!important;
  }

  body:not(.admin-body) .main-navbar .navbar-brand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:180px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  body:not(.admin-body) .main-navbar .navbar-brand img{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    height:46px!important;
    object-fit:contain!important;
  }

  body:not(.admin-body) .main-navbar .mobile-header-actions-v127{
    grid-column:3!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
    min-width:0!important;
    margin:0!important;
  }

  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn,
  body:not(.admin-body) .main-navbar .nav-cart-mobile,
  body:not(.admin-body) .main-navbar .public-notification-mobile .public-notification-btn,
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-btn{
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:11px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn{
    border:0!important;
    background:transparent!important;
    color:#418f09!important;
    box-shadow:none!important;
    font-size:30px!important;
    line-height:1!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn:hover,
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn:focus{
    background:#eff8e9!important;
    color:#418f09!important;
    box-shadow:none!important;
  }
  body:not(.admin-body) .main-navbar .nav-cart-mobile,
  body:not(.admin-body) .main-navbar .public-notification-mobile .public-notification-btn{
    border:1.5px solid #418f09!important;
    background:#fff!important;
    color:#418f09!important;
    box-shadow:none!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-ring{
    width:38px!important;
    height:38px!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-circle{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
  }

  body:not(.admin-body) .main-navbar .mobile-search-always-v127{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:10px 0 0!important;
    margin:0!important;
    order:initial!important;
  }
  body:not(.admin-body) .main-navbar .mobile-search-always-v127 .mobile-guest-search{
    width:100%!important;
    max-width:100%!important;
    height:48px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    border:1.5px solid #418f09!important;
    border-radius:15px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(65,143,9,.08)!important;
  }
  body:not(.admin-body) .main-navbar .mobile-search-always-v127 .mobile-guest-search input{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    padding:0 16px!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:#fff!important;
    color:#172018!important;
    font-size:16px!important;
    font-weight:400!important;
  }
  body:not(.admin-body) .main-navbar .mobile-search-always-v127 .mobile-guest-search input::placeholder{
    color:#8a928b!important;
    opacity:1!important;
  }
  body:not(.admin-body) .main-navbar .mobile-search-always-v127 .mobile-guest-search button{
    width:52px!important;
    height:48px!important;
    border:0!important;
    border-left:1px solid rgba(65,143,9,.22)!important;
    border-radius:0!important;
    background:#418f09!important;
    color:#fff!important;
    font-size:21px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body:not(.admin-body) .main-navbar .mobile-guest-tools{
    grid-column:1 / -1!important;
    grid-row:3!important;
    width:100%!important;
    padding:9px 0 0!important;
  }

  /* Menu mobile dạng bảng phủ toàn màn hình, giống mẫu tham khảo. */
  body:not(.admin-body).mobile-nav-open-v127{overflow:hidden!important;}
  body:not(.admin-body) .main-navbar #mainNav{
    position:fixed!important;
    inset:0!important;
    z-index:1085!important;
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:18px 18px 34px!important;
    border:0!important;
    border-radius:0!important;
    background:rgba(255,255,255,.985)!important;
    box-shadow:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  body:not(.admin-body) .main-navbar #mainNav.collapsing{
    display:block!important;
    height:100dvh!important;
    transition:opacity .18s ease!important;
  }
  body:not(.admin-body) .main-navbar #mainNav.show{
    display:block!important;
  }
  body:not(.admin-body) .main-navbar .mobile-nav-overlay-head-v127{
    position:relative!important;
    min-height:62px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 48px 10px!important;
  }
  body:not(.admin-body) .main-navbar .mobile-nav-overlay-logo-v127{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:210px!important;
    text-decoration:none!important;
  }
  body:not(.admin-body) .main-navbar .mobile-nav-overlay-logo-v127 img{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    height:48px!important;
    object-fit:contain!important;
  }
  body:not(.admin-body) .main-navbar .mobile-nav-close-v127{
    position:absolute!important;
    top:5px!important;
    right:0!important;
    width:42px!important;
    height:42px!important;
    padding:0!important;
    border:0!important;
    border-radius:10px!important;
    background:#f4f6f4!important;
    color:#5d655f!important;
    font-size:25px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body:not(.admin-body) .main-navbar .mobile-nav-search-v127{
    width:100%!important;
    height:50px!important;
    margin:4px 0 18px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    overflow:hidden!important;
    border:1.5px solid #418f09!important;
    border-radius:12px!important;
    background:#fff!important;
  }
  body:not(.admin-body) .main-navbar .mobile-nav-search-v127 input{
    min-width:0!important;
    width:100%!important;
    height:48px!important;
    padding:0 15px!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:#fff!important;
    color:#172018!important;
    font-size:16px!important;
  }
  body:not(.admin-body) .main-navbar .mobile-nav-search-v127 button{
    width:54px!important;
    height:50px!important;
    border:0!important;
    background:#418f09!important;
    color:#fff!important;
    font-size:22px!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .main-menu{
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .main-menu>.nav-item{
    width:100%!important;
    border-bottom:1px solid #edf0ed!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .main-menu>.nav-item>.nav-link{
    min-height:58px!important;
    padding:0 2px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    color:#202420!important;
    background:transparent!important;
    border:0!important;
    font-size:1rem!important;
    font-weight:700!important;
    line-height:1.3!important;
    text-transform:uppercase!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .main-menu>.nav-item>.nav-link:hover,
  body:not(.admin-body) .main-navbar #mainNav .main-menu>.nav-item>.nav-link:focus,
  body:not(.admin-body) .main-navbar #mainNav .main-menu>.nav-item>.nav-link.show{
    color:#418f09!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .public-category-dropdown-v11{
    position:static!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 8px!important;
    padding:4px 0 8px!important;
    border:0!important;
    border-radius:0!important;
    background:#f8fbf6!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .public-category-dropdown-v11 .dropdown-item{
    min-height:46px!important;
    padding:9px 12px!important;
    gap:12px!important;
    color:#4c574e!important;
    font-size:.94rem!important;
    font-weight:500!important;
    white-space:normal!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .public-category-dropdown-v11 .dropdown-item i{
    color:#418f09!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .public-category-dropdown-v11 .dropdown-divider{
    margin:2px 0!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .nav-cart-btn,
  body:not(.admin-body) .main-navbar #mainNav .public-notification-btn,
  body:not(.admin-body) .main-navbar #mainNav .public-user-dropdown,
  body:not(.admin-body) .main-navbar #mainNav .guest-collapse-auth{
    display:none!important;
  }
}

@media (max-width: 430px){
  body:not(.admin-body) .main-navbar .container{
    grid-template-columns:38px minmax(0,1fr) auto!important;
    column-gap:5px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body:not(.admin-body) .main-navbar .navbar-brand{max-width:154px!important;}
  body:not(.admin-body) .main-navbar .navbar-brand img{height:42px!important;}
  body:not(.admin-body) .main-navbar .mobile-header-actions-v127{gap:3px!important;}
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn,
  body:not(.admin-body) .main-navbar .nav-cart-mobile,
  body:not(.admin-body) .main-navbar .public-notification-mobile .public-notification-btn,
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-btn{
    flex-basis:35px!important;
    width:35px!important;
    min-width:35px!important;
    max-width:35px!important;
    height:35px!important;
    min-height:35px!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-ring{
    width:35px!important;
    height:35px!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-circle{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    min-height:29px!important;
  }
}

@media (max-width: 350px){
  body:not(.admin-body) .main-navbar .navbar-brand{max-width:118px!important;}
  body:not(.admin-body) .main-navbar .navbar-brand img{height:38px!important;}
  body:not(.admin-body) .main-navbar .mobile-header-actions-v127{gap:2px!important;}
}

/* ===== Nguồn hợp nhất: theme-public-v128.css ===== */
/* V128 — chi tiết sản phẩm: nút mobile xếp dọc, nhãn giảm giá góc dưới, tiêu đề gọn, bỏ zoom hover desktop. */

/* Trang chi tiết: nhãn giảm giá chéo ở góc dưới bên phải, đồng bộ thẻ danh mục. */
body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
  top:auto!important;
  left:auto!important;
  right:-31px!important;
  bottom:10px!important;
  width:108px!important;
  height:28px!important;
  min-width:0!important;
  padding:0 5px!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  background:linear-gradient(90deg,#d7a927 0%,#f4cf59 50%,#e0b437 100%)!important;
  color:#4a3500!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.2px!important;
  white-space:nowrap!important;
  box-shadow:0 4px 10px rgba(15,23,42,.18)!important;
  pointer-events:none!important;
  z-index:8!important;
}

/* Chỉ giữ tiêu đề, không dùng dòng ghi chú; viết hoa đầu câu đúng nội dung. */
body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-section-head-v28{
  margin-bottom:18px!important;
}
body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-section-head-v28 h2{
  margin:0!important;
  color:#17221a!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:clamp(1.55rem,2.5vw,2.35rem)!important;
  line-height:1.2!important;
}

/* Bỏ hoàn toàn phóng to ảnh theo vị trí chuột trên desktop; bấm ảnh mở popup vẫn giữ nguyên. */
@media (hover:hover) and (pointer:fine) and (min-width:992px){
  body:not(.admin-body) .vtw-media-viewer-v44 .vtw-media-slide-v44>img,
  body:not(.admin-body) .vtw-media-viewer-v44.is-zooming .vtw-media-slide-v44.is-active>img{
    transform:none!important;
    transform-origin:center!important;
    transition:none!important;
    cursor:zoom-in!important;
  }
}

@media (max-width:767.98px){
  /* Hai nút hướng dẫn/demo: 1 cột, 2 hàng. */
  body:not(.admin-body) .vtw-media-actions-v36,
  body:not(.admin-body) .vtw-media-actions-v36.has-two,
  body:not(.admin-body) .vtw-media-actions-v36.has-one{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body:not(.admin-body) .vtw-media-actions-v36 a{
    width:100%!important;
    min-height:50px!important;
  }

  /* Mua ngay/Thêm vào giỏ: 1 cột, 2 hàng. */
  body:not(.admin-body) .vtw-purchase-actions-v36{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body:not(.admin-body) .vtw-purchase-actions-v36>*{
    grid-column:auto!important;
    width:100%!important;
  }
  body:not(.admin-body) .vtw-purchase-actions-v36 .btn{
    width:100%!important;
    min-height:50px!important;
  }

  body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
    right:-27px!important;
    bottom:8px!important;
    width:94px!important;
    height:24px!important;
    font-size:.62rem!important;
  }
  body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-section-head-v28 h2{
    font-size:1.55rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v129.css ===== */
/* V129 — chi tiết sản phẩm: nhãn giảm giá lớn hơn, header mobile đồng bộ, tiêu đề gọn và vệt sáng ảnh liên quan. */

/* Nhãn giảm giá góc dưới phải lớn hơn nhẹ, vẫn giữ đúng dạng chéo. */
body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
  right:-35px!important;
  bottom:11px!important;
  width:120px!important;
  height:31px!important;
  font-size:.78rem!important;
}

/* Ảnh vẫn bấm mở popup nhưng không hiển thị con trỏ phóng to. */
body:not(.admin-body) .vtw-media-viewer-v44 [data-vtw-media-slide] img,
body:not(.admin-body) .vtw-media-viewer-v44 .vtw-media-slide-v44>img,
body:not(.admin-body) .vtw-media-viewer-v44.is-zooming .vtw-media-slide-v44.is-active>img{
  cursor:pointer!important;
}

/* Tiêu đề Sản phẩm liên quan / Sản phẩm nổi bật nhỏ, gọn hơn. */
body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-section-head-v28{
  margin-bottom:14px!important;
}
body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-section-head-v28 h2{
  font-size:clamp(1.22rem,1.55vw,1.55rem)!important;
  line-height:1.22!important;
  font-weight:700!important;
}

/* Vệt sáng chỉ quét trong khung ảnh của sản phẩm liên quan/nổi bật. */
body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-card-v28 .thumb{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-card-v28 .thumb::after{
  content:"";
  position:absolute;
  z-index:2;
  top:-45%;
  bottom:-45%;
  left:-72%;
  width:48%;
  pointer-events:none;
  opacity:0;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.18) 28%,rgba(255,255,255,.78) 52%,rgba(255,255,255,.18) 76%,rgba(255,255,255,0));
}
@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-card-v28:hover .thumb::after,
  body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-card-v28:focus-within .thumb::after{
    opacity:1;
    animation:vtwRelatedImageShineV129 .92s ease-out 1;
  }
}
@keyframes vtwRelatedImageShineV129{
  0%{left:-72%;opacity:0;}
  12%{opacity:.92;}
  100%{left:132%;opacity:0;}
}

@media (max-width:991.98px){
  /* Ba icon bên phải mobile cùng kích thước, cùng viền tròn xanh. */
  body:not(.admin-body) .main-navbar .nav-cart-mobile,
  body:not(.admin-body) .main-navbar .public-notification-mobile .public-notification-btn,
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-btn{
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    border:1.5px solid #418f09!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#418f09!important;
    box-shadow:none!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-ring{
    width:36px!important;
    height:36px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-ring::before{
    background:transparent!important;
    box-shadow:none!important;
    animation:none!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-ring::after{
    content:none!important;
    display:none!important;
    animation:none!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-avatar-circle{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    border-radius:50%!important;
  }

  /* Logo giữa lớn thêm nhẹ. */
  body:not(.admin-body) .main-navbar .navbar-brand{
    max-width:195px!important;
  }
  body:not(.admin-body) .main-navbar .navbar-brand img{
    height:50px!important;
  }
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
    right:-30px!important;
    bottom:9px!important;
    width:104px!important;
    height:27px!important;
    font-size:.68rem!important;
  }
  body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-section-head-v28 h2{
    font-size:1.22rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v130.css ===== */
/* V130 — mobile: hai nhóm nút chi tiết sản phẩm xếp 2 cột trên cùng một hàng. */
@media (max-width:767.98px){
  /* Xem hướng dẫn / Xem Demo: 2 cột, 1 hàng khi có đủ hai nút. */
  body:not(.admin-body) .vtw-media-actions-v36.has-two{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body:not(.admin-body) .vtw-media-actions-v36.has-one{
    grid-template-columns:1fr!important;
  }
  body:not(.admin-body) .vtw-media-actions-v36 a{
    min-width:0!important;
    width:100%!important;
    min-height:48px!important;
    padding:9px 7px!important;
    gap:6px!important;
    font-size:clamp(.74rem,3.35vw,.86rem)!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  /* Mua ngay / Thêm vào giỏ: 2 cột, 1 hàng. */
  body:not(.admin-body) .vtw-purchase-actions-v36{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body:not(.admin-body) .vtw-purchase-actions-v36>*{
    grid-column:auto!important;
    min-width:0!important;
    width:100%!important;
  }
  body:not(.admin-body) .vtw-purchase-actions-v36 .btn{
    min-width:0!important;
    width:100%!important;
    min-height:48px!important;
    padding:9px 7px!important;
    gap:6px!important;
    font-size:clamp(.74rem,3.35vw,.86rem)!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  body:not(.admin-body) .vtw-purchase-actions-v36:has(> :only-child),
  body:not(.admin-body) .vtw-purchase-actions-v36:has(.vtw-open-product-v36){
    grid-template-columns:1fr!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v131.css ===== */
/* =============================================================
   Themes Văn Thế Web V131 — đồng bộ nút đăng nhập mobile và
   hiệu ứng mở menu ba gạch.
   ============================================================= */
@media (max-width: 991.98px){
  /* Nút đăng nhập dùng đúng màu nhận diện xanh lá. */
  body:not(.admin-body) .main-navbar .mobile-guest-login{
    color:#418f09!important;
    border:1.5px solid #418f09!important;
    background:#fff!important;
    box-shadow:0 4px 12px rgba(65,143,9,.08)!important;
    transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
  }
  body:not(.admin-body) .main-navbar .mobile-guest-login:hover,
  body:not(.admin-body) .main-navbar .mobile-guest-login:focus-visible,
  body:not(.admin-body) .main-navbar .mobile-guest-login:active{
    color:#fff!important;
    background:#418f09!important;
    border-color:#418f09!important;
    box-shadow:0 7px 18px rgba(65,143,9,.18)!important;
    transform:translateY(-1px)!important;
    outline:none!important;
  }

  /* Icon ba gạch tự chuyển động thành dấu X khi menu mở. */
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn{
    overflow:visible!important;
    transition:background-color .2s ease,transform .2s ease!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn:active{
    transform:scale(.92)!important;
  }
  body:not(.admin-body) .main-navbar .mobile-menu-icon-v131{
    position:relative!important;
    display:block!important;
    width:24px!important;
    height:18px!important;
  }
  body:not(.admin-body) .main-navbar .mobile-menu-icon-v131>span{
    position:absolute!important;
    left:0!important;
    width:24px!important;
    height:2px!important;
    border-radius:999px!important;
    background:#418f09!important;
    transform-origin:center!important;
    transition:top .22s ease,transform .22s ease,opacity .16s ease,width .22s ease!important;
  }
  body:not(.admin-body) .main-navbar .mobile-menu-icon-v131>span:nth-child(1){top:1px!important;}
  body:not(.admin-body) .main-navbar .mobile-menu-icon-v131>span:nth-child(2){top:8px!important;}
  body:not(.admin-body) .main-navbar .mobile-menu-icon-v131>span:nth-child(3){top:15px!important;}
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn[aria-expanded="true"]{
    background:#eff8e9!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn[aria-expanded="true"] .mobile-menu-icon-v131>span:nth-child(1){
    top:8px!important;
    transform:rotate(45deg)!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn[aria-expanded="true"] .mobile-menu-icon-v131>span:nth-child(2){
    opacity:0!important;
    width:0!important;
    transform:scaleX(0)!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn[aria-expanded="true"] .mobile-menu-icon-v131>span:nth-child(3){
    top:8px!important;
    transform:rotate(-45deg)!important;
  }

  /* Panel menu mở nhẹ từ trái sang, không bật ra đột ngột. */
  body:not(.admin-body) .main-navbar #mainNav{
    transform-origin:left center!important;
    will-change:transform,opacity!important;
  }
  body:not(.admin-body) .main-navbar #mainNav.collapsing{
    opacity:0!important;
    transform:translateX(-24px)!important;
    transition:opacity .22s ease,transform .22s cubic-bezier(.22,.61,.36,1)!important;
  }
  body:not(.admin-body) .main-navbar #mainNav.show{
    animation:mobileNavPanelOpenV131 .26s cubic-bezier(.22,.61,.36,1) both!important;
  }
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .mobile-nav-overlay-head-v127,
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .mobile-nav-search-v127{
    animation:mobileNavContentOpenV131 .25s ease both!important;
  }
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item{
    opacity:0;
    animation:mobileNavItemOpenV131 .28s ease forwards!important;
  }
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item:nth-child(1){animation-delay:.02s!important;}
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item:nth-child(2){animation-delay:.04s!important;}
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item:nth-child(3){animation-delay:.06s!important;}
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item:nth-child(4){animation-delay:.08s!important;}
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item:nth-child(5){animation-delay:.10s!important;}
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item:nth-child(6){animation-delay:.12s!important;}
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item:nth-child(7){animation-delay:.14s!important;}
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item:nth-child(n+8){animation-delay:.16s!important;}
}

@keyframes mobileNavPanelOpenV131{
  from{opacity:0;transform:translateX(-24px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes mobileNavContentOpenV131{
  from{opacity:0;transform:translateY(-7px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes mobileNavItemOpenV131{
  from{opacity:0;transform:translateX(-12px)}
  to{opacity:1;transform:translateX(0)}
}

@media (prefers-reduced-motion: reduce){
  body:not(.admin-body) .main-navbar .mobile-menu-icon-v131>span,
  body:not(.admin-body) .main-navbar #mainNav,
  body:not(.admin-body) .main-navbar #mainNav *{
    animation:none!important;
    transition:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v133.css ===== */
/* =============================================================
   Themes Văn Thế Web V133
   - Mobile: icon ba gạch giữ nguyên, chỉ bảng menu trượt từ trái.
   - Danh sách sản phẩm mobile: 2 sản phẩm trên mỗi hàng.
   - Bỏ chip thương hiệu ở trang chi tiết bằng template.
   ============================================================= */

@media (max-width: 991.98px){
  /* Icon ba gạch không đổi thành dấu X và không có chuyển động riêng. */
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn,
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn:active{
    transform:none!important;
    transition:none!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn[aria-expanded="true"]{
    background:transparent!important;
  }
  body:not(.admin-body) .main-navbar .mobile-menu-icon-v131>span{
    opacity:1!important;
    width:24px!important;
    transform:none!important;
    transition:none!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn[aria-expanded="true"] .mobile-menu-icon-v131>span:nth-child(1){
    top:1px!important;
    transform:none!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn[aria-expanded="true"] .mobile-menu-icon-v131>span:nth-child(2){
    top:8px!important;
    opacity:1!important;
    width:24px!important;
    transform:none!important;
  }
  body:not(.admin-body) .main-navbar .nav-mobile-menu-btn[aria-expanded="true"] .mobile-menu-icon-v131>span:nth-child(3){
    top:15px!important;
    transform:none!important;
  }

  /* Chỉ giữ một hiệu ứng: toàn bộ bảng menu trượt nhẹ từ trái sang. */
  body:not(.admin-body) .main-navbar #mainNav.collapsing{
    opacity:0!important;
    transform:translateX(-22px)!important;
    transition:opacity .22s ease,transform .25s cubic-bezier(.22,.61,.36,1)!important;
  }
  body:not(.admin-body) .main-navbar #mainNav.show{
    animation:mobileNavPanelOpenV133 .25s cubic-bezier(.22,.61,.36,1) both!important;
  }
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .mobile-nav-overlay-head-v127,
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .mobile-nav-search-v127,
  body:not(.admin-body).mobile-nav-open-v127 .main-navbar #mainNav .main-menu>.nav-item{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }
}

@keyframes mobileNavPanelOpenV133{
  from{opacity:0;transform:translateX(-22px)}
  to{opacity:1;transform:translateX(0)}
}

@media (max-width: 575.98px){
  /* Hai sản phẩm trên một hàng tại trang chủ và các trang danh mục. */
  body:not(.admin-body) .product-grid-v7{
    --bs-gutter-x:10px!important;
    --bs-gutter-y:12px!important;
  }
  body:not(.admin-body) .product-grid-v7>.col-6{
    width:50%!important;
    flex:0 0 auto!important;
    min-width:0!important;
  }
  body:not(.admin-body) .product-grid-v7 .course-card-v2{
    border-radius:12px!important;
    min-width:0!important;
  }
  body:not(.admin-body) .product-grid-v7 .course-thumb-v2,
  body:not(.admin-body) .product-grid-v7 .course-thumb-v2 img{
    border-radius:10px 10px 0 0!important;
  }
  body:not(.admin-body) .product-catalog-v6 .course-body-clean-v16{
    min-height:102px!important;
    padding:8px 8px 9px!important;
  }
  body:not(.admin-body) .product-catalog-v6 .course-body-clean-v16 .course-title-v2{
    min-height:2.7em!important;
    max-height:2.7em!important;
    margin-bottom:6px!important;
    font-size:clamp(.72rem,3.45vw,.82rem)!important;
    line-height:1.35!important;
  }
  body:not(.admin-body) .product-catalog-v6 .course-price-actions-v9{
    gap:5px!important;
    align-items:flex-end!important;
  }
  body:not(.admin-body) .product-catalog-v6 .course-price-row{
    min-width:0!important;
    gap:2px 5px!important;
  }
  body:not(.admin-body) .product-catalog-v6 .course-price-row>strong{
    font-size:clamp(.82rem,3.8vw,.96rem)!important;
    white-space:nowrap!important;
  }
  body:not(.admin-body) .product-catalog-v6 .price-strike{
    font-size:clamp(.62rem,2.75vw,.72rem)!important;
    white-space:nowrap!important;
  }
  body:not(.admin-body) .product-catalog-v6 .course-card-cart-yellow{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
    border-radius:9px!important;
    font-size:.86rem!important;
  }
  body:not(.admin-body) .product-catalog-v6 .course-badge-v2{
    font-size:.68rem!important;
  }
}

@media (prefers-reduced-motion: reduce){
  body:not(.admin-body) .main-navbar #mainNav{
    animation:none!important;
    transition:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v134.css ===== */
/* =============================================================
   Themes Văn Thế Web V134
   - Đưa nhãn giảm giá về góc trên trái trên desktop và mobile.
   - Tăng kích thước nhãn theo mẫu dải chéo vàng.
   ============================================================= */

/* Thẻ sản phẩm tại trang chủ và toàn bộ trang danh mục. */
body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2{
  position:relative!important;
  overflow:hidden!important;
}

body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
  top:22px!important;
  left:-43px!important;
  right:auto!important;
  bottom:auto!important;
  width:158px!important;
  height:38px!important;
  min-width:0!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  background:linear-gradient(90deg,#c99c27 0%,#ffe179 46%,#d2aa3a 100%)!important;
  color:#3d310d!important;
  font-size:.82rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.15px!important;
  text-align:center!important;
  text-transform:none!important;
  white-space:nowrap!important;
  box-shadow:0 5px 13px rgba(67,50,7,.24)!important;
  z-index:10!important;
  pointer-events:none!important;
}

/* Ảnh chính tại trang chi tiết sản phẩm. */
body:not(.admin-body) .vtw-media-viewer-v44{
  position:relative!important;
  overflow:hidden!important;
}
body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
  top:34px!important;
  left:-60px!important;
  right:auto!important;
  bottom:auto!important;
  width:218px!important;
  height:48px!important;
  min-width:0!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  background:linear-gradient(90deg,#c99c27 0%,#ffe179 46%,#d2aa3a 100%)!important;
  color:#3d310d!important;
  font-size:1rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.2px!important;
  text-align:center!important;
  text-transform:none!important;
  white-space:nowrap!important;
  box-shadow:0 7px 17px rgba(67,50,7,.25)!important;
  z-index:10!important;
  pointer-events:none!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
  body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
    top:14px!important;
    left:-34px!important;
    width:118px!important;
    height:30px!important;
    padding:0 7px!important;
    font-size:.68rem!important;
    box-shadow:0 4px 10px rgba(67,50,7,.22)!important;
  }

  body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
    top:23px!important;
    left:-44px!important;
    width:158px!important;
    height:38px!important;
    padding:0 10px!important;
    font-size:.78rem!important;
    box-shadow:0 5px 13px rgba(67,50,7,.23)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v135.css ===== */
/* =============================================================
   Themes Văn Thế Web V135
   - Thu gọn nhãn giảm giá ở góc trên trái.
   - Tăng cỡ chữ phần trăm để cân đối với thân nhãn.
   - Đồng bộ nhãn FREE cùng vị trí, kích thước và kiểu dải chéo.
   ============================================================= */

/* Trang chủ và toàn bộ trang danh mục sản phẩm. */
body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2{
  top:18px!important;
  left:-37px!important;
  right:auto!important;
  bottom:auto!important;
  width:132px!important;
  height:32px!important;
  min-width:0!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(-45deg)!important;
  transform-origin:center!important;
  font-size:.9rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.1px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:0 4px 11px rgba(67,50,7,.22)!important;
  z-index:10!important;
  pointer-events:none!important;
}

body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
  background:linear-gradient(90deg,#c99c27 0%,#ffe179 46%,#d2aa3a 100%)!important;
  color:#3d310d!important;
}

body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-free,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-free{
  background:linear-gradient(90deg,#138d38 0%,#35cf64 48%,#0d8033 100%)!important;
  color:#fff!important;
  box-shadow:0 4px 11px rgba(13,128,51,.22)!important;
}

/* Ảnh chính tại trang chi tiết sản phẩm. */
body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
  top:28px!important;
  left:-49px!important;
  right:auto!important;
  bottom:auto!important;
  width:182px!important;
  height:42px!important;
  padding:0 12px!important;
  font-size:1.08rem!important;
  letter-spacing:.1px!important;
  box-shadow:0 6px 14px rgba(67,50,7,.23)!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2,
  body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2{
    top:12px!important;
    left:-29px!important;
    width:96px!important;
    height:25px!important;
    padding:0 5px!important;
    font-size:.76rem!important;
    box-shadow:0 3px 8px rgba(67,50,7,.2)!important;
  }

  body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
    top:20px!important;
    left:-38px!important;
    width:140px!important;
    height:34px!important;
    padding:0 8px!important;
    font-size:.92rem!important;
    box-shadow:0 4px 10px rgba(67,50,7,.21)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v136.css ===== */
/* =============================================================
   Themes Văn Thế Web V136
   - Thu nhỏ thêm nhãn giảm giá/FREE, giữ chữ phần trăm nổi bật hơn.
   - Mobile: đưa icon hỗ trợ nằm trên icon AI, cùng cột dọc với nút lên đầu trang.
   - Đồng bộ kích thước 3 nút nổi tròn trên mobile.
   ============================================================= */

/* Nhãn giảm giá/FREE ở trang chủ + trang danh mục: nhỏ lại thêm một chút. */
body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2{
  top:16px!important;
  left:-33px!important;
  width:118px!important;
  height:28px!important;
  padding:0 7px!important;
  font-size:.94rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
}

body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
  font-size:.96rem!important;
}

/* Ảnh chính trang chi tiết sản phẩm: thu nhỏ tương ứng. */
body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
  top:24px!important;
  left:-44px!important;
  width:164px!important;
  height:38px!important;
  padding:0 10px!important;
  font-size:1rem!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2,
  body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2{
    top:10px!important;
    left:-26px!important;
    width:88px!important;
    height:23px!important;
    padding:0 4px!important;
    font-size:.8rem!important;
    box-shadow:0 3px 7px rgba(67,50,7,.18)!important;
  }

  body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
  body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
    font-size:.84rem!important;
  }

  body:not(.admin-body) .vtw-media-viewer-v44 .vtw-detail-sale-v128{
    top:17px!important;
    left:-34px!important;
    width:126px!important;
    height:31px!important;
    padding:0 7px!important;
    font-size:.84rem!important;
    box-shadow:0 4px 10px rgba(67,50,7,.2)!important;
  }

  /* 3 icon nổi cùng 1 cột dọc bên phải: hỗ trợ -> AI -> lên đầu trang. */
  body:not(.admin-body) .vt-contact-widget{
    left:auto!important;
    right:14px!important;
    bottom:126px!important;
    align-items:flex-end!important;
    gap:10px!important;
    z-index:1094!important;
  }

  body:not(.admin-body) .vt-ai-widget{
    left:auto!important;
    right:14px!important;
    bottom:70px!important;
    align-items:flex-end!important;
    gap:10px!important;
    z-index:1093!important;
  }

  body:not(.admin-body) .vt-scroll-top-btn{
    right:14px!important;
    bottom:14px!important;
    width:48px!important;
    height:48px!important;
    font-size:21px!important;
    z-index:1092!important;
  }

  body:not(.admin-body) .vt-contact-toggle,
  body:not(.admin-body) .vt-ai-toggle{
    width:48px!important;
    height:48px!important;
    border-radius:50%!important;
    box-shadow:0 12px 26px rgba(15,23,42,.18)!important;
  }

  body:not(.admin-body) .vt-contact-toggle{
    padding:2px!important;
  }

  body:not(.admin-body) .vt-contact-toggle-ring{
    width:42px!important;
    height:42px!important;
  }

  body:not(.admin-body) .vt-contact-cycle,
  body:not(.admin-body) .vt-contact-close{
    font-size:17px!important;
  }

  body:not(.admin-body) .vt-contact-panel{
    transform-origin:right bottom!important;
  }
  body:not(.admin-body) .vt-contact-panel::after{
    right:12px!important;
    left:auto!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v137.css ===== */
/* =============================================================
   Themes Văn Thế Web V137
   - Giảm nhẹ kích thước nhãn giảm giá/FREE ở danh sách sản phẩm
   - Giữ nguyên kích thước nhãn ở trang chi tiết sản phẩm
   ============================================================= */

/* Danh sách sản phẩm: web */
body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2{
  top:15px!important;
  left:-30px!important;
  width:108px!important;
  height:26px!important;
  padding:0 6px!important;
  font-size:.9rem!important;
  line-height:26px!important;
}

body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
  font-size:.93rem!important;
}

/* Danh sách sản phẩm: mobile */
@media (max-width:767.98px){
  body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2,
  body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2{
    top:9px!important;
    left:-24px!important;
    width:80px!important;
    height:21px!important;
    padding:0 4px!important;
    font-size:.74rem!important;
    line-height:21px!important;
  }

  body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
  body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
    font-size:.78rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v138.css ===== */
/* =============================================================
   Themes Văn Thế Web V138
   - Thêm cột STT và Hủy đơn trong lịch sử đơn hàng khách hàng.
   - Chỉ hiển thị nút hủy cho đơn đang chờ thanh toán.
   ============================================================= */

@media (min-width:992px){
  .account-orders-head-v138,
  .account-order-row-v138{
    grid-template-columns:48px minmax(220px,.9fr) minmax(280px,1.45fr) minmax(110px,.45fr) minmax(135px,.55fr) 92px!important;
    gap:15px!important;
  }
}

.account-order-index-cell-v138{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
}
.account-order-index-cell-v138 strong{
  color:#526159;
  font-size:12px;
  font-weight:800;
}
.account-order-cancel-cell-v138{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
}
.account-order-cancel-cell-v138 form{margin:0;}
.account-order-cancel-btn-v138{
  min-height:32px;
  padding:6px 9px;
  border:1px solid #efb2b2;
  border-radius:8px;
  background:#fff;
  color:#c62828;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  white-space:nowrap;
  font-size:10px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.account-order-cancel-btn-v138:hover,
.account-order-cancel-btn-v138:focus-visible{
  border-color:#d93636;
  background:#fff3f3;
  color:#a91f1f;
}
.account-order-cancel-empty-v138{color:#9aa59e;font-size:12px;}

@media (max-width:991.98px){
  .account-order-row-v138{
    grid-template-columns:minmax(0,1fr) minmax(130px,.42fr)!important;
  }
  .account-order-row-v138 .account-order-index-cell-v138{grid-column:1!important;grid-row:1!important;}
  .account-order-row-v138 .account-order-code-cell-v19{grid-column:1!important;}
  .account-order-row-v138 .account-order-products-cell-v19{grid-column:1!important;}
  .account-order-row-v138 .account-order-total-cell-v19,
  .account-order-row-v138 .account-order-status-cell-v19,
  .account-order-row-v138 .account-order-cancel-cell-v138{grid-column:2!important;}
  .account-order-row-v138 .account-order-cancel-cell-v138{justify-content:flex-end;}
}

@media (max-width:575.98px){
  .account-order-row-v138{grid-template-columns:1fr!important;}
  .account-order-row-v138>div{grid-column:1!important;}
  .account-order-row-v138 .account-order-cancel-cell-v138{justify-content:flex-start;}
  .account-order-cancel-btn-v138{min-height:34px;padding:7px 11px;font-size:11px;}
}

/* ===== Nguồn hợp nhất: theme-public-v139.css ===== */
/* =============================================================
   Themes Văn Thế Web V139
   - Giữ nguyên kích thước nhãn FREE.
   - Thu nhỏ riêng nhãn giảm giá và cỡ chữ phần trăm để cân đối như nhãn FREE.
   ============================================================= */

/* Desktop + tablet: chỉ thu nhỏ nhãn giảm giá, không tác động nhãn FREE. */
body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
  top:13px!important;
  left:-26px!important;
  width:92px!important;
  height:23px!important;
  min-width:0!important;
  padding:0 4px!important;
  font-size:.76rem!important;
  line-height:23px!important;
  letter-spacing:0!important;
}

/* Mobile: thu nhỏ thêm để cân đối trong bố cục hai sản phẩm mỗi hàng. */
@media (max-width:767.98px){
  body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
  body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
    top:7px!important;
    left:-20px!important;
    width:68px!important;
    height:18px!important;
    padding:0 3px!important;
    font-size:.62rem!important;
    line-height:18px!important;
    box-shadow:0 2px 6px rgba(67,50,7,.17)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v140.css ===== */
/* =============================================================
   Themes Văn Thế Web V140
   - Đồng bộ kích thước nhãn giảm giá đúng bằng nhãn FREE.
   - Áp dụng cho danh sách sản phẩm trên desktop và mobile.
   - Không thay đổi nhãn giảm giá ở trang chi tiết sản phẩm.
   ============================================================= */

/* Desktop + tablet: nhãn giảm giá dùng đúng kích thước của nhãn FREE. */
body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
  top:15px!important;
  left:-30px!important;
  width:108px!important;
  height:26px!important;
  min-width:0!important;
  padding:0 6px!important;
  font-size:.9rem!important;
  line-height:26px!important;
  letter-spacing:0!important;
}

/* Mobile: đồng bộ đúng kích thước nhãn FREE trong bố cục hai cột. */
@media (max-width:767.98px){
  body:not(.admin-body) .product-catalog-v6 .product-grid-v7 .course-thumb-v2 .course-badge-v2.is-discount,
  body:not(.admin-body) .vtw-home-catalog-scope-v106.product-catalog-v6 .vtw-home-badge-v106 .course-thumb-v2 .course-badge-v2.is-discount{
    top:9px!important;
    left:-24px!important;
    width:80px!important;
    height:21px!important;
    padding:0 4px!important;
    font-size:.74rem!important;
    line-height:21px!important;
    box-shadow:0 3px 7px rgba(67,50,7,.18)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v141.css ===== */
/* =============================================================
   Themes Văn Thế Web V141
   - Dropdown danh mục desktop hiển thị đầy đủ, không thanh cuộn nội bộ.
   - Thu gọn khung, chữ, icon và khoảng cách giữa các dòng.
   ============================================================= */

@media (min-width:992px){
  body:not(.admin-body) .main-navbar .public-category-dropdown-v11{
    width:max-content!important;
    min-width:0!important;
    max-width:min(330px,calc(100vw - 24px))!important;
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    padding:6px!important;
    border-radius:12px!important;
  }

  body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item{
    width:100%!important;
    min-height:0!important;
    grid-template-columns:24px auto!important;
    gap:8px!important;
    padding:7px 9px!important;
    border-radius:8px!important;
    font-size:.81rem!important;
    line-height:1.2!important;
  }

  body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item i{
    width:24px!important;
    font-size:16px!important;
    line-height:1!important;
  }

  body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item span{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    line-height:1.2!important;
  }

  body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .public-category-all-v11{
    padding-top:8px!important;
    padding-bottom:8px!important;
    font-size:.82rem!important;
  }

  body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-divider{
    margin:4px 8px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v142.css ===== */
/* =============================================================
   Themes Văn Thế Web V142
   - Hai nút Mua ngay / Thêm vào giỏ luôn bằng nhau.
   - Trên mobile, kích thước hai nút đồng bộ với hai khung thông tin phía trên.
   ============================================================= */

body:not(.admin-body) .vtw-purchase-actions-v36{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
}
body:not(.admin-body) .vtw-purchase-actions-v36 > *{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
}
body:not(.admin-body) .vtw-purchase-actions-v36 .btn{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Khi chỉ có một nút mở sản phẩm thì vẫn chiếm toàn bộ chiều ngang. */
body:not(.admin-body) .vtw-purchase-actions-v36:has(> :only-child),
body:not(.admin-body) .vtw-purchase-actions-v36:has(.vtw-open-product-v36){
  grid-template-columns:1fr!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-purchase-actions-v36{
    gap:12px!important;
  }
  body:not(.admin-body) .vtw-purchase-actions-v36 > *,
  body:not(.admin-body) .vtw-purchase-actions-v36 .btn{
    min-height:56px!important;
    height:56px!important;
  }
  body:not(.admin-body) .vtw-purchase-actions-v36 .btn{
    padding:8px 8px!important;
    border-radius:12px!important;
    font-size:clamp(.78rem,3.7vw,.92rem)!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v143.css ===== */
/* =============================================================
   Themes Văn Thế Web V143
   - Khối sản phẩm bán chạy riêng theo từng danh mục.
   - Không hiển thị sản phẩm miễn phí trong khối bán chạy.
   - Bỏ nút nổi “Giỏ hàng của bạn” dưới danh sách.
   ============================================================= */

body:not(.admin-body) .catalog-best-sellers-v143{
  position:relative;
  margin-top:52px;
  padding-top:0;
}

body:not(.admin-body) .catalog-best-sellers-v143::before{
  content:"";
  position:absolute;
  top:22px;
  left:0;
  width:100%;
  height:1px;
  background:#e5ebee;
  z-index:0;
}

body:not(.admin-body) .catalog-best-sellers-heading-v143{
  position:relative;
  width:min(430px,calc(100vw - 32px));
  height:62px;
  margin:0 auto 28px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  isolation:isolate;
  z-index:2;
}

body:not(.admin-body) .catalog-best-sellers-heading-v143::before,
body:not(.admin-body) .catalog-best-sellers-heading-v143::after{
  content:"";
  position:absolute;
  top:0;
  width:25%;
  height:23px;
  background:#d4d7da;
  z-index:-1;
}

body:not(.admin-body) .catalog-best-sellers-heading-v143::before{
  left:0;
  clip-path:polygon(0 100%,42% 0,100% 0,76% 100%);
}

body:not(.admin-body) .catalog-best-sellers-heading-v143::after{
  right:0;
  clip-path:polygon(0 0,58% 0,100% 100%,24% 100%);
}

body:not(.admin-body) .catalog-best-sellers-heading-v143 > span{
  width:80%;
  min-height:60px;
  padding:11px 24px 15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#418f09;
  color:#fff;
  clip-path:polygon(
    0 0,100% 0,96% 68%,93% 82%,88% 92%,80% 98%,70% 100%,
    30% 100%,20% 98%,12% 92%,7% 82%,4% 68%
  );
  font-size:18px;
  font-weight:700;
  line-height:1.15;
  text-align:center;
  text-transform:none;
  white-space:nowrap;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
  box-shadow:0 12px 28px rgba(65,143,9,.18);
}

body:not(.admin-body) .catalog-best-sellers-grid-v143{
  position:relative;
  z-index:1;
}

@media (max-width:767.98px){
  body:not(.admin-body) .catalog-best-sellers-v143{
    margin-top:38px;
  }

  body:not(.admin-body) .catalog-best-sellers-v143::before{
    top:18px;
  }

  body:not(.admin-body) .catalog-best-sellers-heading-v143{
    width:min(326px,calc(100vw - 20px));
    height:52px;
    margin-bottom:22px;
  }

  body:not(.admin-body) .catalog-best-sellers-heading-v143::before,
  body:not(.admin-body) .catalog-best-sellers-heading-v143::after{
    height:19px;
  }

  body:not(.admin-body) .catalog-best-sellers-heading-v143 > span{
    width:82%;
    min-height:50px;
    padding:9px 13px 13px;
    font-size:clamp(12px,3.65vw,14px);
    white-space:normal;
  }

  body:not(.admin-body) .catalog-best-sellers-grid-v143{
    --bs-gutter-x:12px;
    --bs-gutter-y:14px;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v145.css ===== */
/* V145 — bố trí lại bảng lịch sử đơn hàng: bỏ STT, căn trái và thu gọn cột hủy đơn. */

@media (min-width:1200px){
  .account-orders-head-v145,
  .account-order-row-v145{
    grid-template-columns:minmax(210px,1.15fr) minmax(240px,1.45fr) minmax(105px,.55fr) minmax(125px,.68fr) 82px!important;
    gap:12px!important;
  }
}

@media (min-width:992px) and (max-width:1199.98px){
  .account-orders-head-v145,
  .account-order-row-v145{
    grid-template-columns:minmax(0,1.18fr) minmax(0,1.35fr) minmax(88px,.52fr) minmax(105px,.66fr) 78px!important;
    gap:9px!important;
  }
}

.account-orders-head-v145{
  text-align:left!important;
}
.account-orders-head-v145>span,
.account-order-row-v145>div{
  min-width:0;
  text-align:left!important;
  justify-self:stretch;
}
.account-orders-head-v145>span{
  display:flex;
  align-items:center;
  justify-content:flex-start!important;
}
.account-order-row-v145 .account-order-code-cell-v19,
.account-order-row-v145 .account-order-products-cell-v19,
.account-order-row-v145 .account-order-total-cell-v19,
.account-order-row-v145 .account-order-status-cell-v19,
.account-order-row-v145 .account-order-cancel-cell-v145{
  align-items:flex-start!important;
  justify-content:center!important;
}
.account-order-row-v145 .account-order-total-cell-v19,
.account-order-row-v145 .account-order-cancel-cell-v145{
  display:flex;
  flex-direction:column;
}
.account-order-cancel-cell-v145{
  width:82px;
  max-width:82px;
}
.account-order-cancel-cell-v145 form{
  width:auto;
  max-width:100%;
}
.account-order-cancel-cell-v145 .account-order-cancel-btn-v138{
  min-width:0;
  min-height:30px;
  padding:6px 7px;
  gap:4px;
  font-size:10px;
}

@media (max-width:991.98px){
  .account-order-row-v145{
    grid-template-columns:minmax(0,1fr) minmax(145px,.42fr)!important;
    gap:11px 16px!important;
  }
  .account-order-row-v145 .account-order-code-cell-v19{
    grid-column:1!important;
    grid-row:1!important;
  }
  .account-order-row-v145 .account-order-products-cell-v19{
    grid-column:1!important;
    grid-row:2 / span 2!important;
  }
  .account-order-row-v145 .account-order-total-cell-v19{
    grid-column:2!important;
    grid-row:1!important;
  }
  .account-order-row-v145 .account-order-status-cell-v19{
    grid-column:2!important;
    grid-row:2!important;
  }
  .account-order-row-v145 .account-order-cancel-cell-v145{
    grid-column:2!important;
    grid-row:3!important;
    width:auto;
    max-width:none;
  }
}

@media (max-width:575.98px){
  .account-order-row-v145{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .account-order-row-v145>div{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .account-order-cancel-cell-v145{
    width:auto;
    max-width:none;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v146.css ===== */
/* V146 — đưa nhãn “Sản phẩm bán chạy nhất” nổi lên trên thanh ngang,
   giữ đúng 2 tam giác xám hai bên như bản trước trên desktop và mobile. */

body:not(.admin-body) .vtw-best-sellers-v83{
  position:relative;
  margin-top:0!important;
  padding-top:0!important;
}

body:not(.admin-body) .vtw-best-sellers-v83::before{
  content:"";
  position:absolute;
  top:22px;
  left:0;
  width:100%;
  height:1px;
  background:#dbe2e6;
  z-index:0;
}

body:not(.admin-body) .vtw-best-sellers-v83 > .container{
  position:relative;
  z-index:1;
}

body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
  position:relative!important;
  z-index:2!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(430px,calc(100vw - 32px))!important;
  height:62px!important;
  min-width:0!important;
  min-height:60px!important;
  margin:0 auto 28px!important;
  padding:11px 24px 15px!important;
  border:0!important;
  border-radius:0!important;
  background:#418f09!important;
  color:#fff!important;
  clip-path:polygon(
    0 0,
    100% 0,
    96% 68%,
    93% 82%,
    88% 92%,
    80% 98%,
    70% 100%,
    30% 100%,
    20% 98%,
    12% 92%,
    7% 82%,
    4% 68%
  )!important;
  box-shadow:0 12px 28px rgba(65,143,9,.18)!important;
  filter:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-transform:none!important;
  text-shadow:0 1px 1px rgba(0,0,0,.12)!important;
}

body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before,
body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  width:25%!important;
  height:23px!important;
  background:#d4d7da!important;
  z-index:-1!important;
  pointer-events:none!important;
}

body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before{
  left:0!important;
  clip-path:polygon(0 100%,42% 0,100% 0,76% 100%)!important;
}

body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
  right:0!important;
  clip-path:polygon(0 0,58% 0,100% 100%,24% 100%)!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-best-sellers-v83::before{
    top:18px;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83{
    width:min(326px,calc(100vw - 20px))!important;
    height:52px!important;
    min-height:50px!important;
    margin:0 auto 22px!important;
    padding:9px 13px 13px!important;
    font-size:clamp(12px,3.65vw,14px)!important;
    white-space:normal!important;
  }

  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::before,
  body:not(.admin-body) .vtw-best-sellers-ribbon-v83::after{
    height:19px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v147.css ===== */
/* V147 — làm mới bảng lịch sử đơn hàng: 5 cột đúng một hàng,
   khoảng cách gọn, căn trái và cột Hủy đơn không rớt dòng. */

@media (min-width:992px){
  body:not(.admin-body) .account-orders-head-v19.account-orders-head-v68.account-orders-head-v147,
  body:not(.admin-body) .account-order-row-v19.account-order-row-v68.account-order-row-v147{
    grid-template-columns:minmax(235px,1.05fr) minmax(330px,1.7fr) minmax(125px,.55fr) minmax(145px,.68fr) 92px!important;
    column-gap:18px!important;
    row-gap:0!important;
    align-items:center!important;
  }

  body:not(.admin-body) .account-orders-head-v147{
    padding:12px 16px!important;
  }

  body:not(.admin-body) .account-order-row-v147{
    min-height:0!important;
    padding:14px 16px!important;
  }
}

body:not(.admin-body) .account-orders-head-v147{
  text-align:left!important;
}

body:not(.admin-body) .account-orders-head-v147 > span{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  white-space:nowrap!important;
  text-align:left!important;
}

body:not(.admin-body) .account-order-row-v147 > div{
  min-width:0!important;
  text-align:left!important;
  justify-self:stretch!important;
}

body:not(.admin-body) .account-order-row-v147 .account-order-code-cell-v19,
body:not(.admin-body) .account-order-row-v147 .account-order-products-cell-v19,
body:not(.admin-body) .account-order-row-v147 .account-order-status-cell-v19,
body:not(.admin-body) .account-order-row-v147 .account-order-cancel-cell-v147{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
}

body:not(.admin-body) .account-order-row-v147 .account-order-total-cell-v19{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
}

body:not(.admin-body) .account-order-row-v147 .account-order-code-cell-v19 > a,
body:not(.admin-body) .account-order-row-v147 .account-order-code-cell-v19 > strong,
body:not(.admin-body) .account-order-row-v147 .account-order-products-cell-v19 > strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

body:not(.admin-body) .account-order-cancel-cell-v147{
  width:92px!important;
  max-width:92px!important;
}

body:not(.admin-body) .account-order-cancel-cell-v147 form{
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
}

body:not(.admin-body) .account-order-cancel-cell-v147 .account-order-cancel-btn-v138{
  width:auto!important;
  min-width:0!important;
  min-height:32px!important;
  padding:6px 9px!important;
  gap:5px!important;
  white-space:nowrap!important;
  font-size:10px!important;
  line-height:1!important;
}

@media (max-width:991.98px){
  body:not(.admin-body) .account-order-row-v19.account-order-row-v68.account-order-row-v147{
    grid-template-columns:minmax(0,1fr) minmax(145px,.42fr)!important;
    grid-template-areas:
      "code total"
      "product status"
      "product cancel"!important;
    gap:9px 16px!important;
    align-items:start!important;
    padding:13px 14px!important;
  }

  body:not(.admin-body) .account-order-row-v147 .account-order-code-cell-v19{
    grid-area:code!important;
  }

  body:not(.admin-body) .account-order-row-v147 .account-order-products-cell-v19{
    grid-area:product!important;
  }

  body:not(.admin-body) .account-order-row-v147 .account-order-total-cell-v19{
    grid-area:total!important;
  }

  body:not(.admin-body) .account-order-row-v147 .account-order-status-cell-v19{
    grid-area:status!important;
  }

  body:not(.admin-body) .account-order-row-v147 .account-order-cancel-cell-v147{
    grid-area:cancel!important;
    width:auto!important;
    max-width:none!important;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .account-order-row-v19.account-order-row-v68.account-order-row-v147{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "code code"
      "product product"
      "total status"
      "cancel cancel"!important;
    gap:9px 12px!important;
    padding:13px!important;
  }

  body:not(.admin-body) .account-order-row-v147 .account-order-total-cell-v19,
  body:not(.admin-body) .account-order-row-v147 .account-order-status-cell-v19{
    align-self:center!important;
  }

  body:not(.admin-body) .account-order-row-v147 .account-order-status-cell-v19{
    align-items:flex-end!important;
  }

  body:not(.admin-body) .account-order-row-v147 .account-order-cancel-cell-v147{
    padding-top:2px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v148.css ===== */
/* V148 — thanh tìm kiếm phía trên khu bán chạy và nhãn CSS theo đúng cấu trúc tham chiếu. */

/* Desktop có thanh tìm kiếm riêng ngay phía trên khu Sản phẩm bán chạy nhất.
   Mobile tiếp tục dùng thanh tìm kiếm cố định sẵn trong header để không lặp hai ô tìm kiếm. */
body:not(.admin-body) .vtw-home-search-wrap-v148{
  padding:20px 0 30px;
  background:#fff;
}
body:not(.admin-body) .vtw-home-search-v148{
  width:min(760px,100%);
  min-height:50px;
  margin:0 auto;
  display:flex;
  align-items:stretch;
  border:1.5px solid #418f09;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 7px 20px rgba(31,62,86,.07);
}
body:not(.admin-body) .vtw-home-search-v148 input{
  min-width:0;
  flex:1 1 auto;
  height:50px;
  padding:0 18px;
  border:0;
  outline:0;
  background:#fff;
  color:#111;
  font-size:16px;
  font-weight:400;
  box-shadow:none;
}
body:not(.admin-body) .vtw-home-search-v148 input::placeholder{
  color:#7a7f83;
  opacity:1;
}
body:not(.admin-body) .vtw-home-search-v148 button{
  flex:0 0 auto;
  min-width:104px;
  height:50px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  background:#418f09;
  color:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1;
}
body:not(.admin-body) .vtw-home-search-v148 button:hover{
  background:#347507;
}

/* Khu bán chạy có đường phân cách để nhãn chồng đúng lên mép như mẫu. */
body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148{
  position:relative;
  margin-top:0!important;
  padding-top:0!important;
  border-top:1px solid #ebe4dd;
  background:#fff;
}
body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148::before{
  display:none!important;
}
body:not(.admin-body) .vtw-best-sellers-v148 > .container{
  position:relative;
}

/* Cấu trúc và hình học lấy theo mẫu .header-pro / .box-header / h2.box-title. */
body:not(.admin-body) .vtw-best-sellers-header-v148{
  position:relative;
  display:block;
  height:50px;
  margin-bottom:30px;
}
body:not(.admin-body) .vtw-best-sellers-box-v148{
  display:inline-block;
  position:absolute;
  z-index:2;
  line-height:60px;
  margin-top:-25px;
  left:50%;
  transform:translateX(-50%);
  white-space:nowrap;
}
body:not(.admin-body) .vtw-best-sellers-box-v148::before,
body:not(.admin-body) .vtw-best-sellers-box-v148::after{
  content:"";
  position:absolute;
  z-index:0;
  width:0;
  height:0;
  border-style:solid;
  border-width:0 30px 25px 30px;
  border-color:transparent transparent #d7d7d7 transparent;
  top:0;
}
body:not(.admin-body) .vtw-best-sellers-box-v148::before{
  left:-45px;
}
body:not(.admin-body) .vtw-best-sellers-box-v148::after{
  right:-45px;
}
body:not(.admin-body) .vtw-best-sellers-title-v148{
  position:relative;
  z-index:1;
  margin:0;
  padding:0 30px;
  min-width:0;
  border:0;
  border-bottom-left-radius:25px;
  border-bottom-right-radius:25px;
  background:#418f09;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:25px;
  font-weight:700;
  line-height:60px;
  letter-spacing:0;
  text-align:center;
  text-transform:uppercase;
  box-shadow:none;
}
body:not(.admin-body) .vtw-best-sellers-title-v148::before,
body:not(.admin-body) .vtw-best-sellers-title-v148::after{
  content:"";
  position:absolute;
  width:0;
  height:0;
  top:0;
}
body:not(.admin-body) .vtw-best-sellers-title-v148::before{
  left:-15px;
  border-style:solid;
  border-width:0 17px 46px 0;
  border-color:transparent #418f09 transparent transparent;
}
body:not(.admin-body) .vtw-best-sellers-title-v148::after{
  right:-15px;
  border-style:solid;
  border-width:46px 17px 0 0;
  border-color:#418f09 transparent transparent transparent;
}

/* Vô hiệu kiểu nhãn cũ chỉ trong khu v148. */
body:not(.admin-body) .vtw-best-sellers-v148 .vtw-best-sellers-ribbon-v83{
  display:none!important;
}

@media (max-width:991.98px){
  body:not(.admin-body) .vtw-home-search-wrap-v148{
    display:none;
  }
  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148{
    margin-top:0!important;
  }
  body:not(.admin-body) .vtw-best-sellers-header-v148{
    height:44px;
    margin-bottom:24px;
  }
  body:not(.admin-body) .vtw-best-sellers-box-v148{
    line-height:52px;
    margin-top:-22px;
  }
  body:not(.admin-body) .vtw-best-sellers-box-v148::before,
  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    border-width:0 24px 20px 24px;
  }
  body:not(.admin-body) .vtw-best-sellers-box-v148::before{
    left:-36px;
  }
  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    right:-36px;
  }
  body:not(.admin-body) .vtw-best-sellers-title-v148{
    padding:0 22px;
    border-bottom-left-radius:22px;
    border-bottom-right-radius:22px;
    font-size:18px;
    line-height:52px;
  }
  body:not(.admin-body) .vtw-best-sellers-title-v148::before{
    left:-13px;
    border-width:0 15px 40px 0;
  }
  body:not(.admin-body) .vtw-best-sellers-title-v148::after{
    right:-13px;
    border-width:40px 15px 0 0;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-best-sellers-header-v148{
    height:40px;
    margin-bottom:20px;
  }
  body:not(.admin-body) .vtw-best-sellers-box-v148{
    max-width:calc(100vw - 74px);
    line-height:46px;
    margin-top:-20px;
  }
  body:not(.admin-body) .vtw-best-sellers-box-v148::before,
  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    border-width:0 20px 17px 20px;
  }
  body:not(.admin-body) .vtw-best-sellers-box-v148::before{
    left:-30px;
  }
  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    right:-30px;
  }
  body:not(.admin-body) .vtw-best-sellers-title-v148{
    max-width:calc(100vw - 74px);
    padding:0 14px;
    overflow:hidden;
    border-bottom-left-radius:20px;
    border-bottom-right-radius:20px;
    font-size:clamp(13px,4vw,16px);
    line-height:46px;
    text-overflow:clip;
  }
  body:not(.admin-body) .vtw-best-sellers-title-v148::before{
    left:-11px;
    border-width:0 13px 36px 0;
  }
  body:not(.admin-body) .vtw-best-sellers-title-v148::after{
    right:-11px;
    border-width:36px 13px 0 0;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v149.css ===== */
/* V149 — giữ kiểu nhãn mới, đổi chữ sang hoa đầu dòng, nền #418f09,
   và đồng bộ mobile với desktop. */

/* Trang chủ: giữ nguyên form nhãn mới nhưng hiển thị đúng chữ hoa đầu dòng. */
body:not(.admin-body) .vtw-best-sellers-title-v148{
  background:#418f09!important;
  text-transform:none!important;
  color:#111!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
body:not(.admin-body) .vtw-best-sellers-title-v148::before{
  border-color:transparent #418f09 transparent transparent!important;
}
body:not(.admin-body) .vtw-best-sellers-title-v148::after{
  border-color:#418f09 transparent transparent transparent!important;
}

/* Mobile đồng bộ cùng kiểu desktop, không tự chuyển sang chữ in hoa toàn bộ. */
@media (max-width:991.98px){
  body:not(.admin-body) .vtw-best-sellers-title-v148{
    text-transform:none!important;
    color:#111!important;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-best-sellers-title-v148{
    text-transform:none!important;
    color:#111!important;
    font-size:clamp(12px,4vw,15px)!important;
  }
}

/* Khối bán chạy cuối trang danh mục: bỏ các tiêu đề riêng kiểu
   “Tool AI bán chạy nhất”, “Plugin bán chạy nhất”… và dùng nhãn chung. */
body:not(.admin-body) .catalog-best-sellers-heading-v143 > span{
  background:#418f09!important;
  text-transform:none!important;
}

/* ===== Nguồn hợp nhất: theme-public-v150.css ===== */
/* V150 — chữ nhãn màu trắng và ưu tiên hiển thị đầy đủ trên mobile. */

/* Đồng bộ chữ trắng cho nhãn bán chạy. */
body:not(.admin-body) .vtw-best-sellers-title-v148,
body:not(.admin-body) .catalog-best-sellers-heading-v143 > span{
  color:#fff!important;
}

/* Mobile: mở rộng nhãn và hạ vị trí để không bị che, luôn hiện đủ nội dung. */
@media (max-width:575.98px){
  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148{
    padding-top:8px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-header-v148{
    height:64px!important;
    margin-bottom:18px!important;
    overflow:visible!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148{
    left:50%!important;
    transform:translateX(-50%)!important;
    width:min(332px,calc(100vw - 18px))!important;
    max-width:none!important;
    line-height:normal!important;
    margin-top:-12px!important;
    white-space:normal!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::before,
  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    border-width:0 18px 15px 18px!important;
    top:2px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::before{
    left:-24px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    right:-24px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148{
    width:100%!important;
    max-width:none!important;
    min-height:58px!important;
    padding:10px 14px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    text-overflow:unset!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
    border-bottom-left-radius:22px!important;
    border-bottom-right-radius:22px!important;
    font-size:clamp(12px,4.2vw,15px)!important;
    line-height:1.18!important;
    text-align:center!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148::before{
    left:-10px!important;
    border-width:0 12px 42px 0!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148::after{
    right:-10px!important;
    border-width:42px 12px 0 0!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v152.css ===== */
/* V152 — căn giữa khu liên hệ trong khoảng trống giữa header và footer. */

@media (min-width:992px){
  body:not(.admin-body) > .main-content:has(> .vtw-contact-page-v120){
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  body:not(.admin-body) .vtw-contact-page-v120{
    width:100%!important;
    padding:44px 0 52px!important;
  }

  body:not(.admin-body) .vtw-contact-layout-v120{
    align-items:center!important;
  }

  body:not(.admin-body) .vtw-contact-copy-v120{
    padding-top:0!important;
  }
}

/* Tablet và mobile vẫn gọn, không ép giữa gây thiếu chỗ khi nội dung dài. */
@media (max-width:991.98px){
  body:not(.admin-body) .vtw-contact-page-v120{
    padding-top:30px!important;
    padding-bottom:38px!important;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-contact-page-v120{
    padding-top:24px!important;
    padding-bottom:30px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v153.css ===== */
/* V153 — chỉ sửa nhãn bán chạy trên mobile.
   Giữ desktop nguyên vẹn; thu nhỏ đúng tỷ lệ CSS tham chiếu và để nhãn
   chồng lên đường ngang như bản web. */

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148,
  body:not(.admin-body) .vtw-best-sellers-v148 > .container,
  body:not(.admin-body) .vtw-best-sellers-header-v148{
    overflow:visible!important;
  }

  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148{
    padding-top:0!important;
  }

  body:not(.admin-body) .vtw-best-sellers-header-v148{
    position:relative!important;
    height:44px!important;
    margin-bottom:24px!important;
  }

  /* Tam giác xám cao 20px và box kéo lên đúng 20px:
     đáy tam giác nằm trùng đường ngang, thân xanh nằm cả trên và dưới đường. */
  body:not(.admin-body) .vtw-best-sellers-box-v148{
    position:absolute!important;
    top:0!important;
    left:50%!important;
    width:min(300px,calc(100vw - 60px))!important;
    max-width:none!important;
    margin-top:-20px!important;
    transform:translateX(-50%)!important;
    line-height:52px!important;
    white-space:nowrap!important;
    z-index:3!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::before,
  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    top:0!important;
    border-style:solid!important;
    border-width:0 20px 20px 20px!important;
    border-color:transparent transparent #d7d7d7 transparent!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::before{
    left:-28px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    right:-28px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:52px!important;
    height:52px!important;
    margin:0!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-overflow:clip!important;
    border-bottom-left-radius:22px!important;
    border-bottom-right-radius:22px!important;
    font-size:clamp(13px,4.15vw,15.5px)!important;
    line-height:52px!important;
    text-align:center!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148::before{
    left:-12px!important;
    top:0!important;
    border-style:solid!important;
    border-width:0 14px 40px 0!important;
    border-color:transparent #418f09 transparent transparent!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148::after{
    right:-12px!important;
    top:0!important;
    border-style:solid!important;
    border-width:40px 14px 0 0!important;
    border-color:#418f09 transparent transparent transparent!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v154.css ===== */
/* V154 — ưu tiên hiển thị đầy đủ nhãn bán chạy khi thu hẹp trình duyệt.
   Desktop từ 992px trở lên giữ nguyên. */

@media (max-width:991.98px){
  /* Tách khu tìm kiếm/header phía trên bằng một khoảng đệm và đường ngang riêng. */
  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148{
    position:relative!important;
    margin-top:18px!important;
    padding-top:0!important;
    border-top:0!important;
    overflow:visible!important;
  }

  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    top:24px!important;
    left:0!important;
    width:100%!important;
    height:1px!important;
    background:#dfe5e1!important;
    z-index:0!important;
    pointer-events:none!important;
  }

  body:not(.admin-body) .vtw-best-sellers-v148 > .container,
  body:not(.admin-body) .vtw-best-sellers-header-v148{
    overflow:visible!important;
  }

  body:not(.admin-body) .vtw-best-sellers-header-v148{
    position:relative!important;
    z-index:2!important;
    height:66px!important;
    margin:0 0 18px!important;
  }

  /* Nhãn chồng cân đối lên đường ngang nhưng không lấn vào ô tìm kiếm phía trên. */
  body:not(.admin-body) .vtw-best-sellers-box-v148{
    position:absolute!important;
    top:24px!important;
    left:50%!important;
    width:min(430px,calc(100vw - 84px))!important;
    max-width:none!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
    line-height:54px!important;
    white-space:nowrap!important;
    z-index:4!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::before,
  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    top:0!important;
    border-style:solid!important;
    border-width:0 23px 21px 23px!important;
    border-color:transparent transparent #d7d7d7 transparent!important;
    z-index:0!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::before{
    left:-33px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    right:-33px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 20px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-overflow:clip!important;
    border-bottom-left-radius:23px!important;
    border-bottom-right-radius:23px!important;
    color:#fff!important;
    font-size:clamp(15px,2.35vw,18px)!important;
    line-height:54px!important;
    text-align:center!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148::before{
    left:-13px!important;
    top:0!important;
    border-style:solid!important;
    border-width:0 15px 41px 0!important;
    border-color:transparent #418f09 transparent transparent!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148::after{
    right:-13px!important;
    top:0!important;
    border-style:solid!important;
    border-width:41px 15px 0 0!important;
    border-color:#418f09 transparent transparent transparent!important;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148{
    margin-top:16px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148::before{
    top:22px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-header-v148{
    height:62px!important;
    margin-bottom:16px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148{
    top:22px!important;
    width:min(312px,calc(100vw - 64px))!important;
    line-height:52px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::before,
  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    border-width:0 20px 19px 20px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::before{
    left:-28px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-box-v148::after{
    right:-28px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148{
    height:52px!important;
    min-height:52px!important;
    padding:0 12px!important;
    border-bottom-left-radius:22px!important;
    border-bottom-right-radius:22px!important;
    font-size:clamp(12.5px,4.05vw,15px)!important;
    line-height:52px!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148::before{
    left:-11px!important;
    border-width:0 13px 39px 0!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148::after{
    right:-11px!important;
    border-width:39px 13px 0 0!important;
  }
}

@media (max-width:359.98px){
  body:not(.admin-body) .vtw-best-sellers-box-v148{
    width:calc(100vw - 58px)!important;
  }

  body:not(.admin-body) .vtw-best-sellers-title-v148{
    padding:0 8px!important;
    font-size:12px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v156.css ===== */
/* V156 — chỉ chỉnh đường kẻ ngang trên giao diện thu hẹp/mobile
   để đáy hai tam giác xám chạm đúng vào đường kẻ như desktop. */

@media (max-width:991.98px){
  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148::before{
    top:18px!important;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-best-sellers-v83.vtw-best-sellers-v148::before{
    top:15px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v158.css ===== */
/* V158 — đổi lượt sản phẩm bằng hiệu ứng tách đôi:
   4 sản phẩm đi nhẹ từ trái vào, 4 sản phẩm đi nhẹ từ phải vào. */

body:not(.admin-body) .vtw-best-sellers-carousel-v158{
  position:relative;
  width:100%;
  min-width:0;
}

body:not(.admin-body) .vtw-best-sellers-viewport-v158{
  width:100%;
  min-width:0;
  overflow:hidden;
  touch-action:pan-y;
}

body:not(.admin-body) .vtw-best-sellers-stage-v158{
  display:grid;
  width:100%;
  min-width:0;
}

body:not(.admin-body) .vtw-best-sellers-slide-v158{
  grid-area:1 / 1;
  width:100%;
  min-width:0;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  z-index:0;
}

body:not(.admin-body) .vtw-best-sellers-slide-v158.is-active,
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-leaving{
  visibility:visible;
}

body:not(.admin-body) .vtw-best-sellers-slide-v158.is-active{
  opacity:1;
  pointer-events:auto;
  z-index:2;
}

body:not(.admin-body) .vtw-best-sellers-slide-v158.is-leaving{
  z-index:1;
  pointer-events:none;
  animation:vtwBestSellersFadeOutV158 .34s ease both;
}

body:not(.admin-body) .vtw-best-sellers-slide-v158 > .product-catalog-v6,
body:not(.admin-body) .vtw-best-sellers-slide-v158 .product-grid-v7{
  height:100%;
}

body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]{
  opacity:0;
  will-change:transform,opacity;
  animation-duration:.62s;
  animation-timing-function:cubic-bezier(.22,.72,.25,1);
  animation-fill-mode:both;
}

/* Desktop: 4 sản phẩm đầu vào từ trái, 4 sản phẩm sau vào từ phải. */
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(-n+4){
  animation-name:vtwBestSellersEnterLeftV158;
}
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(n+5){
  animation-name:vtwBestSellersEnterRightV158;
}

body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(1),
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(5){animation-delay:.02s}
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(2),
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(6){animation-delay:.06s}
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(3),
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(7){animation-delay:.10s}
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(4),
body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(8){animation-delay:.14s}

/* Nút điều hướng là vùng cạnh trong suốt; chỉ hiện mũi tên khi rê đúng cạnh. */
body:not(.admin-body) .vtw-best-sellers-arrow-v158{
  position:absolute;
  top:0;
  bottom:0;
  z-index:8;
  width:64px;
  padding:0;
  display:flex;
  align-items:center;
  border:0;
  border-radius:0;
  background:transparent;
  color:#418f09;
  box-shadow:none;
  cursor:pointer;
  outline:none;
}

body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-prev{
  left:-6px;
  justify-content:flex-start;
}

body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-next{
  right:-6px;
  justify-content:flex-end;
}

body:not(.admin-body) .vtw-best-sellers-arrow-v158 i{
  padding:0;
  font-size:30px;
  line-height:1;
  opacity:0;
  transform:translateX(0);
  filter:drop-shadow(0 1px 2px rgba(255,255,255,.9));
  transition:opacity .2s ease,transform .2s ease,color .2s ease;
}

body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-prev:hover i,
body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-prev:focus-visible i{
  opacity:.72;
  transform:translateX(4px);
}

body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-next:hover i,
body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-next:focus-visible i{
  opacity:.72;
  transform:translateX(-4px);
}

body:not(.admin-body) .vtw-best-sellers-carousel-v158[data-slide-count="1"] .vtw-best-sellers-arrow-v158{
  display:none;
}

@keyframes vtwBestSellersEnterLeftV158{
  0%{opacity:0;transform:translate3d(-52px,0,0) scale(.988)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

@keyframes vtwBestSellersEnterRightV158{
  0%{opacity:0;transform:translate3d(52px,0,0) scale(.988)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

@keyframes vtwBestSellersFadeOutV158{
  0%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(.992)}
}

@media (max-width:767.98px){
  /* Mobile: từng cặp sản phẩm đi vào từ hai cạnh đối diện để cân bố cục 2 cột. */
  body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(odd){
    animation-name:vtwBestSellersEnterLeftMobileV158;
  }
  body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"]:nth-child(even){
    animation-name:vtwBestSellersEnterRightMobileV158;
  }

  body:not(.admin-body) .vtw-best-sellers-arrow-v158{
    width:42px;
  }

  body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-prev{
    left:-2px;
  }
  body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-next{
    right:-2px;
  }

  body:not(.admin-body) .vtw-best-sellers-arrow-v158 i{
    font-size:23px;
    opacity:.30;
  }

  body:not(.admin-body) .vtw-best-sellers-arrow-v158:active i{
    opacity:.72;
  }
}

@keyframes vtwBestSellersEnterLeftMobileV158{
  0%{opacity:0;transform:translate3d(-28px,0,0) scale(.992)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

@keyframes vtwBestSellersEnterRightMobileV158{
  0%{opacity:0;transform:translate3d(28px,0,0) scale(.992)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

@media (hover:none){
  body:not(.admin-body) .vtw-best-sellers-arrow-v158 i{
    opacity:.26;
  }
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vtw-best-sellers-slide-v158.is-entering .product-grid-v7 > [class*="col-"],
  body:not(.admin-body) .vtw-best-sellers-slide-v158.is-leaving{
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v159.css ===== */
/* V159 — đồng bộ nhãn danh mục trang chủ với nhãn “Sản phẩm bán chạy nhất”
   và làm nút Xem thêm có viền sáng chuyển động theo mẫu tham khảo. */

/* ==========================================================
   1) Nhãn danh mục trang chủ: cùng cấu trúc ribbon xanh + cánh xám.
   Toàn bộ nhãn là liên kết đến đúng trang danh mục.
   ========================================================== */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-header-v159{
  position:relative!important;
  display:block!important;
  height:52px!important;
  margin:28px 0 32px!important;
  border-top:1px solid #ebe4dd!important;
  overflow:visible!important;
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159{
  position:absolute!important;
  z-index:3!important;
  top:-25px!important;
  left:50%!important;
  display:inline-block!important;
  line-height:60px!important;
  white-space:nowrap!important;
  transform:translateX(-50%)!important;
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159::before,
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159::after{
  content:"";
  position:absolute;
  top:0;
  z-index:0;
  width:0;
  height:0;
  border-style:solid;
  border-width:0 30px 25px 30px;
  border-color:transparent transparent #d7d7d7 transparent;
  pointer-events:none;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159::before{left:-45px}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159::after{right:-45px}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-link-v159{
  position:relative;
  z-index:1;
  display:block;
  color:#fff;
  text-decoration:none!important;
  outline:none;
  transition:transform .26s cubic-bezier(.22,.72,.25,1),filter .26s ease;
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159{
  position:relative!important;
  z-index:1!important;
  min-width:310px!important;
  margin:0!important;
  padding:0 30px!important;
  border:0!important;
  border-bottom-left-radius:25px!important;
  border-bottom-right-radius:25px!important;
  background:#418f09!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(19px,1.65vw,25px)!important;
  font-weight:700!important;
  line-height:60px!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-transform:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159::before,
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159::after{
  content:"";
  position:absolute;
  top:0;
  width:0;
  height:0;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159::before{
  left:-15px;
  border-style:solid;
  border-width:0 17px 46px 0;
  border-color:transparent #418f09 transparent transparent;
}
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159::after{
  right:-15px;
  border-style:solid;
  border-width:46px 17px 0 0;
  border-color:#418f09 transparent transparent transparent;
}

@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-link-v159:hover,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-link-v159:focus-visible{
    transform:translateY(-2px);
    filter:drop-shadow(0 9px 14px rgba(65,143,9,.16));
  }
}

/* ==========================================================
   2) Nút Xem thêm: nền gradient tối, bo mềm và viền sáng chạy vòng
   khi hover; giữ nguyên href danh mục hiện có.
   ========================================================== */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-width:142px!important;
  width:auto!important;
  height:44px!important;
  padding:0 21px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  border:0!important;
  border-radius:16px!important;
  background:#2b2b4d!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
  box-shadow:
    0 -1px 2px rgba(179,173,173,.05),
    0 -2px 5px rgba(179,173,173,.04),
    0 4px 12px rgba(43,43,77,.16),
    inset 0 0 0 1px rgba(255,255,255,.40)!important;
  transform:translateY(0);
  transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease,filter .3s ease!important;
}

/* Dải sáng xoay, phần giữa được lớp ::after che lại nên chỉ còn viền chạy. */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159::before{
  content:"";
  position:absolute;
  z-index:0;
  top:50%;
  left:50%;
  width:190%;
  aspect-ratio:1;
  background:conic-gradient(
    from 0deg,
    transparent 0deg 72deg,
    rgba(255,255,255,.12) 86deg,
    rgba(255,255,255,1) 102deg,
    rgba(255,255,255,.18) 119deg,
    transparent 136deg 360deg
  );
  opacity:0;
  transform:translate(-50%,-50%) rotate(0deg);
  pointer-events:none;
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:2px;
  border-radius:14px;
  background:linear-gradient(135deg,#2b2b4d 0%,#55556f 54%,#848498 100%);
  pointer-events:none;
  transition:filter .3s ease,background .3s ease;
}

body:not(.admin-body) .vtw-home-more-label-v159,
body:not(.admin-body) .vtw-home-more-icon-v159{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body:not(.admin-body) .vtw-home-more-icon-v159{
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
body:not(.admin-body) .vtw-home-more-icon-v159 i{
  padding:0!important;
  font-size:15px!important;
  line-height:1!important;
}

@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:hover,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:focus-visible{
    color:#fff!important;
    transform:translateY(-2px) scale(1.018);
    filter:saturate(1.08);
    box-shadow:
      0 8px 22px rgba(43,43,77,.23),
      inset 0 0 0 1px rgba(255,255,255,.55)!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:hover::before,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:focus-visible::before{
    opacity:1;
    animation:vtwHomeMoreBorderSpinV159 1.28s linear infinite;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:hover::after,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:focus-visible::after{
    filter:brightness(1.08);
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:hover .vtw-home-more-icon-v159,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:focus-visible .vtw-home-more-icon-v159{
    transform:translateX(4px);
  }
}

@keyframes vtwHomeMoreBorderSpinV159{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

/* Tablet/mobile: giữ nhãn một dòng, thu kích thước cân đối. */
@media (max-width:767.98px){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-header-v159{
    height:46px!important;
    margin:24px 0 27px!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159{
    top:-21px!important;
    line-height:52px!important;
    max-width:calc(100vw - 68px)!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159::before,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159::after{
    border-width:0 23px 21px 23px;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159::before{left:-35px}
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159::after{right:-35px}

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159{
    min-width:250px!important;
    max-width:calc(100vw - 68px)!important;
    padding:0 20px!important;
    border-bottom-left-radius:22px!important;
    border-bottom-right-radius:22px!important;
    font-size:clamp(14px,4.2vw,18px)!important;
    line-height:52px!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159::before{
    left:-13px;
    border-width:0 15px 40px 0;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159::after{
    right:-13px;
    border-width:40px 15px 0 0;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159{
    height:42px!important;
    padding:0 18px!important;
    border-radius:15px!important;
    font-size:13px!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159::after{
    border-radius:13px;
  }
}

@media (max-width:359.98px){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v159,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159{
    max-width:calc(100vw - 56px)!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-title-v159{
    min-width:230px!important;
    padding:0 15px!important;
    font-size:13px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-more-icon-v159,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-link-v159{
    transition:none!important;
  }
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159::before{
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v160.css ===== */
/* V160 — tinh chỉnh trang chủ:
   - Đưa mũi tên carousel ra ngoài lề, không che nút giỏ hàng.
   - Căn giữa và thu gọn thanh tìm kiếm.
   - Nút Xem tất cả luôn có viền sáng chuyển động.
   - Nhãn danh mục dùng chính cấu trúc/kích thước của nhãn bán chạy. */

/* ==========================================================
   1) Thanh tìm kiếm: ngắn hơn, căn giữa rõ và tách khỏi nhãn dưới.
   ========================================================== */
body:not(.admin-body) .vtw-home-search-wrap-v148{
  padding:16px 0 40px!important;
  display:flex!important;
  justify-content:center!important;
  background:#fff!important;
}
body:not(.admin-body) .vtw-home-search-wrap-v148 > .container{
  display:flex!important;
  justify-content:center!important;
}
body:not(.admin-body) .vtw-home-search-v148{
  width:min(720px,calc(100% - 24px))!important;
  min-height:44px!important;
  height:44px!important;
  margin:0 auto!important;
  border-radius:9px!important;
}
body:not(.admin-body) .vtw-home-search-v148 input,
body:not(.admin-body) .vtw-home-search-v148 button{
  height:44px!important;
}
body:not(.admin-body) .vtw-home-search-v148 input{
  padding:0 16px!important;
  font-size:15px!important;
}
body:not(.admin-body) .vtw-home-search-v148 button{
  min-width:92px!important;
  padding:0 17px!important;
  font-size:14px!important;
}

/* ==========================================================
   2) Mũi tên carousel: vùng bấm nằm hoàn toàn ngoài lưới sản phẩm.
   ========================================================== */
body:not(.admin-body) .vtw-best-sellers-carousel-v158{
  overflow:visible!important;
}
body:not(.admin-body) .vtw-best-sellers-arrow-v158{
  top:50%!important;
  bottom:auto!important;
  width:34px!important;
  height:128px!important;
  min-width:34px!important;
  transform:translateY(-50%)!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:auto!important;
}
body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-prev{
  left:-42px!important;
}
body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-next{
  right:-42px!important;
}
body:not(.admin-body) .vtw-best-sellers-arrow-v158 i{
  font-size:28px!important;
}

@media (min-width:768px) and (max-width:1399.98px){
  body:not(.admin-body) .vtw-best-sellers-arrow-v158{
    width:28px!important;
    min-width:28px!important;
    height:112px!important;
  }
  body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-prev{left:-28px!important}
  body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-next{right:-28px!important}
}

@media (max-width:767.98px){
  body:not(.admin-body) .vtw-best-sellers-arrow-v158{
    width:20px!important;
    min-width:20px!important;
    height:88px!important;
  }
  body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-prev{left:-18px!important}
  body:not(.admin-body) .vtw-best-sellers-arrow-v158.is-next{right:-18px!important}
  body:not(.admin-body) .vtw-best-sellers-arrow-v158 i{
    font-size:20px!important;
    opacity:.24!important;
  }
}

/* ==========================================================
   3) Nhãn danh mục: dùng trực tiếp CSS của nhãn bán chạy.
   Chỉ bổ sung đường ngang và khoảng cách giữa các khu.
   ========================================================== */
body:not(.admin-body) .vtw-home-category-header-v160{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:50px!important;
  margin:30px 0 32px!important;
  border-top:1px solid #ebe4dd!important;
  overflow:visible!important;
}
body:not(.admin-body) .vtw-home-category-box-v160{
  z-index:4!important;
}
body:not(.admin-body) .vtw-home-category-link-v160{
  display:block!important;
  color:#fff!important;
  text-decoration:none!important;
  outline:none!important;
  transition:transform .26s cubic-bezier(.22,.72,.25,1),filter .26s ease!important;
}
body:not(.admin-body) .vtw-home-category-title-v160{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  color:#fff!important;
  white-space:nowrap!important;
}

@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-home-category-link-v160:hover,
  body:not(.admin-body) .vtw-home-category-link-v160:focus-visible{
    transform:none!important;
    filter:brightness(1.04) drop-shadow(0 8px 13px rgba(65,143,9,.14));
  }
}

@media (max-width:991.98px){
  body:not(.admin-body) .vtw-home-category-header-v160{
    height:66px!important;
    margin:28px 0 18px!important;
    border-top:0!important;
  }
  body:not(.admin-body) .vtw-home-category-header-v160::before{
    content:""!important;
    position:absolute!important;
    top:24px!important;
    left:0!important;
    width:100%!important;
    height:1px!important;
    background:#dfe5e1!important;
    z-index:0!important;
    pointer-events:none!important;
  }
  body:not(.admin-body) .vtw-home-category-title-v160{
    width:min(430px,calc(100vw - 84px))!important;
    max-width:none!important;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-home-category-header-v160{
    height:62px!important;
    margin:26px 0 16px!important;
  }
  body:not(.admin-body) .vtw-home-category-header-v160::before{
    top:22px!important;
  }
  body:not(.admin-body) .vtw-home-category-title-v160{
    width:min(312px,calc(100vw - 64px))!important;
  }
}

@media (max-width:359.98px){
  body:not(.admin-body) .vtw-home-category-title-v160{
    width:calc(100vw - 58px)!important;
  }
}

/* ==========================================================
   4) Nút Xem tất cả: viền sáng luôn chạy, hover tăng nhịp và nâng nhẹ.
   ========================================================== */
body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159::before{
  opacity:1!important;
  animation:vtwHomeMoreBorderSpinV159 2.45s linear infinite!important;
}
@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:hover::before,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:focus-visible::before{
    animation-duration:1.18s!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159::before{
    animation:none!important;
    opacity:.55!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v162.css ===== */
/* V162 — đồng bộ các icon liên hệ/AI về hệ màu xanh lá nhận diện.
   Giữ nguyên chức năng, chỉ thay màu icon, viền, bóng và màu loang. */

body:not(.admin-body){
  --vtw-green:#418f09;
  --vtw-green-dark:#347507;
  --vtw-green-soft:#eff9e9;
  --vtw-teal:#13a67a;
  --vtw-violet:#5961d9;
}

/* Nút liên hệ nổi: viền, icon và hiệu ứng sóng đều chuyển sang xanh lá. */
body:not(.admin-body) .vt-contact-toggle{
  border-color:var(--vtw-green)!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(65,143,9,.18)!important;
}
body:not(.admin-body) .vt-contact-toggle:hover{
  border-color:var(--vtw-green-dark)!important;
  box-shadow:0 11px 25px rgba(65,143,9,.26)!important;
}
body:not(.admin-body) .vt-contact-toggle:focus-visible{
  outline-color:rgba(65,143,9,.28)!important;
}
body:not(.admin-body) .vt-contact-toggle-ring{
  background:linear-gradient(145deg,#fff 0%,#f3faef 58%,#edf8f2 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(65,143,9,.12)!important;
}
body:not(.admin-body) .vt-contact-cycle,
body:not(.admin-body) .vt-contact-close{
  color:var(--vtw-green)!important;
}
body:not(.admin-body) .vt-contact-toggle::before,
body:not(.admin-body) .vt-contact-toggle::after{
  border-color:rgba(65,143,9,.42)!important;
}

/* Bảng liên hệ: khung và trạng thái hover xanh lá nhạt. */
body:not(.admin-body) .vt-contact-panel{
  border-color:#d9e9cf!important;
  box-shadow:0 16px 38px rgba(65,143,9,.16)!important;
}
body:not(.admin-body) .vt-contact-panel::after{
  border-right-color:#d9e9cf!important;
  border-bottom-color:#d9e9cf!important;
}
body:not(.admin-body) .vt-contact-item:hover{
  background:#f3faef!important;
}

/* Icon điện thoại và email: xanh lá loang sang xanh ngọc, đồng bộ cùng một kiểu. */
body:not(.admin-body) .vt-contact-item-phone .vt-contact-item-icon,
body:not(.admin-body) .vt-contact-item-email .vt-contact-item-icon{
  border:1px solid rgba(52,117,7,.38)!important;
  background:linear-gradient(145deg,var(--vtw-green) 0%,#2f9b37 48%,var(--vtw-teal) 100%)!important;
  color:#fff!important;
  box-shadow:0 7px 16px rgba(65,143,9,.22)!important;
}
body:not(.admin-body) .vt-contact-item-phone:hover .vt-contact-item-icon,
body:not(.admin-body) .vt-contact-item-email:hover .vt-contact-item-icon{
  box-shadow:0 9px 20px rgba(65,143,9,.30)!important;
}

/* Icon AI: giữ màu loang nhưng lấy xanh lá làm màu chính, pha xanh ngọc và tím nhẹ. */
body:not(.admin-body) .vt-ai-toggle{
  border-color:var(--vtw-green)!important;
  background:linear-gradient(145deg,var(--vtw-green) 0%,var(--vtw-teal) 55%,var(--vtw-violet) 100%)!important;
  box-shadow:0 9px 22px rgba(65,143,9,.24)!important;
}
body:not(.admin-body) .vt-ai-toggle:hover{
  box-shadow:0 12px 28px rgba(65,143,9,.32)!important;
}
body:not(.admin-body) .vt-ai-toggle:focus-visible{
  outline-color:rgba(65,143,9,.28)!important;
}
body:not(.admin-body) .vt-ai-avatar{
  background:linear-gradient(145deg,var(--vtw-green) 0%,var(--vtw-teal) 58%,var(--vtw-violet) 100%)!important;
  box-shadow:0 7px 16px rgba(65,143,9,.22)!important;
}
body:not(.admin-body) .vt-ai-header{
  background:linear-gradient(135deg,#f2faed 0%,#edf9f4 58%,#f2f1ff 100%)!important;
  border-bottom-color:#dcebd3!important;
}
body:not(.admin-body) .vt-ai-panel{
  border-color:#d8e9ce!important;
  box-shadow:0 22px 56px rgba(65,143,9,.17)!important;
}

/* ===== Nguồn hợp nhất: theme-public-v163.css ===== */
/* V163 — mobile chỉ giữ một ô tìm kiếm trong header. */
@media (max-width:991.98px){
  body:not(.admin-body) .vtw-home-search-wrap-v148{
    display:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v164.css ===== */
/* V164 — chỉ đồng bộ giao diện mobile:
   - Nhãn danh mục dùng đúng hình học của nhãn “Sản phẩm bán chạy nhất”.
   - Đáy tam giác xám chạm sát đường kẻ ngang.
   - Nút Xem tất cả có khoảng cách trên/dưới cân đều. */

@media (max-width:575.98px){
  /* Nhãn danh mục: dùng cùng kích thước/vị trí với nhãn bán chạy. */
  body:not(.admin-body) .vtw-home-category-header-v160{
    position:relative!important;
    width:100%!important;
    height:62px!important;
    margin:26px 0 16px!important;
    border-top:0!important;
    overflow:visible!important;
  }

  /* Đường ngang đi đúng qua đáy tam giác như nhãn bán chạy. */
  body:not(.admin-body) .vtw-home-category-header-v160::before{
    content:""!important;
    position:absolute!important;
    top:15px!important;
    left:0!important;
    width:100%!important;
    height:1px!important;
    background:#dfe5e1!important;
    z-index:0!important;
    pointer-events:none!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160{
    position:absolute!important;
    top:22px!important;
    left:50%!important;
    width:min(312px,calc(100vw - 64px))!important;
    max-width:none!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
    line-height:52px!important;
    white-space:nowrap!important;
    z-index:4!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160::before,
  body:not(.admin-body) .vtw-home-category-box-v160::after{
    top:0!important;
    border-style:solid!important;
    border-width:0 20px 19px 20px!important;
    border-color:transparent transparent #d7d7d7 transparent!important;
    z-index:0!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160::before{
    left:-28px!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160::after{
    right:-28px!important;
  }

  body:not(.admin-body) .vtw-home-category-title-v160{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    white-space:nowrap!important;
    border-bottom-left-radius:22px!important;
    border-bottom-right-radius:22px!important;
    background:#418f09!important;
    color:#fff!important;
    font-size:clamp(12.5px,4.05vw,15px)!important;
    font-weight:700!important;
    line-height:52px!important;
    text-align:center!important;
    text-transform:none!important;
  }

  body:not(.admin-body) .vtw-home-category-title-v160::before{
    left:-11px!important;
    top:0!important;
    border-style:solid!important;
    border-width:0 13px 39px 0!important;
    border-color:transparent #418f09 transparent transparent!important;
  }

  body:not(.admin-body) .vtw-home-category-title-v160::after{
    right:-11px!important;
    top:0!important;
    border-style:solid!important;
    border-width:39px 13px 0 0!important;
    border-color:#418f09 transparent transparent transparent!important;
  }

  /* Nút Xem tất cả: cân đều khoảng trống phía trên và phía dưới. */
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:22px 0!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159{
    margin:0 auto!important;
  }
}

@media (max-width:359.98px){
  body:not(.admin-body) .vtw-home-category-box-v160{
    width:calc(100vw - 58px)!important;
  }
  body:not(.admin-body) .vtw-home-category-title-v160{
    padding:0 8px!important;
    font-size:12px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v166.css ===== */
/* V166 — mobile:
   - Mở hỗ trợ bằng hai nút Zalo/Messenger độc lập.
   - Khóa hình học tam giác nhãn danh mục khi hover. */

@media (max-width:767.98px){
  body:not(.admin-body) .vt-contact-panel{
    width:auto!important;
    padding:0!important;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body:not(.admin-body) .vt-contact-panel[hidden]{
    display:none!important;
  }

  body:not(.admin-body) .vt-contact-panel::after,
  body:not(.admin-body) .vt-contact-item-phone,
  body:not(.admin-body) .vt-contact-item-email{
    display:none!important;
  }

  body:not(.admin-body) .vt-contact-item-zalo,
  body:not(.admin-body) .vt-contact-item-messenger{
    width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:5px!important;
    display:flex!important;
    flex:0 0 48px!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #e5eaf1!important;
    border-radius:50%!important;
    background:#fff!important;
    color:inherit!important;
    box-shadow:0 8px 20px rgba(15,23,42,.16)!important;
    transform:none!important;
  }

  body:not(.admin-body) .vt-contact-item-zalo:hover,
  body:not(.admin-body) .vt-contact-item-zalo:focus-visible,
  body:not(.admin-body) .vt-contact-item-messenger:hover,
  body:not(.admin-body) .vt-contact-item-messenger:focus-visible{
    background:#fff!important;
    box-shadow:0 10px 24px rgba(15,23,42,.21)!important;
    transform:translateY(-1px)!important;
  }

  body:not(.admin-body) .vt-contact-item-zalo .vt-contact-item-icon,
  body:not(.admin-body) .vt-contact-item-messenger .vt-contact-item-icon{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body:not(.admin-body) .vt-contact-item-zalo .vt-contact-item-icon img,
  body:not(.admin-body) .vt-contact-item-messenger .vt-contact-item-icon img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }

  body:not(.admin-body) .vt-contact-item-zalo .vt-contact-item-copy,
  body:not(.admin-body) .vt-contact-item-messenger .vt-contact-item-copy{
    display:none!important;
  }
}

@media (max-width:575.98px){
  body:not(.admin-body) .vtw-home-category-link-v160,
  body:not(.admin-body) .vtw-home-category-link-v160:hover,
  body:not(.admin-body) .vtw-home-category-link-v160:focus,
  body:not(.admin-body) .vtw-home-category-link-v160:focus-visible{
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160::before,
  body:not(.admin-body) .vtw-home-category-box-v160::after,
  body:not(.admin-body) .vtw-home-category-title-v160::before,
  body:not(.admin-body) .vtw-home-category-title-v160::after{
    pointer-events:none!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v168.css ===== */
/* V168 — sửa vùng bấm và lớp hiển thị hai tam giác của nhãn danh mục. */

/* Toàn bộ nhãn, kể cả hai cánh tam giác xám, là một liên kết có con trỏ chọn. */
body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160,
body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160:hover,
body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160:focus,
body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160:focus-visible{
  display:inline-block!important;
  cursor:pointer!important;
  text-decoration:none!important;
  isolation:isolate!important;
  transform:translateX(-50%)!important;
}

body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160::before,
body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160::after{
  cursor:pointer!important;
  pointer-events:auto!important;
  z-index:0!important;
}

body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160 .vtw-home-category-title-v160{
  position:relative!important;
  z-index:2!important;
  cursor:pointer!important;
}

/* Tablet: đẩy cánh xám ra ngoài vừa đủ, không chồng lên cạnh xanh. */
@media (max-width:991.98px){
  body:not(.admin-body) .vtw-home-category-box-v160::before{
    left:-38px!important;
  }
  body:not(.admin-body) .vtw-home-category-box-v160::after{
    right:-38px!important;
  }
}

/* Mobile: giữ mép cánh xám sát cạnh xanh nhưng không đè lên phần xanh. */
@media (max-width:575.98px){
  body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160,
  body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160:hover,
  body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160:focus,
  body:not(.admin-body) .vtw-home-category-box-v160.vtw-home-category-link-v160:focus-visible{
    transform:translate(-50%,-50%)!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160::before{
    left:-32px!important;
  }
  body:not(.admin-body) .vtw-home-category-box-v160::after{
    right:-32px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v170.css ===== */
/* V170 — icon Zalo/Messenger dùng cùng kiểu: logo gốc nằm trong đĩa tròn trắng ở cả trong và ngoài nút hỗ trợ. */
body:not(.admin-body) .vt-contact-panel{
  width:310px;
  padding:8px;
}
body:not(.admin-body) .vt-contact-item-zalo,
body:not(.admin-body) .vt-contact-item-messenger{
  min-height:66px;
  padding:6px 8px;
}
body:not(.admin-body) .vt-contact-item-zalo .vt-contact-item-icon,
body:not(.admin-body) .vt-contact-item-messenger .vt-contact-item-icon{
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  padding:5px!important;
  border:1px solid #e3e8ef!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 5px 14px rgba(15,23,42,.12)!important;
  overflow:hidden!important;
}
body:not(.admin-body) .vt-contact-brand-disc-v170{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:2px;
  border-radius:50%;
  background:#fff;
  overflow:hidden;
}
body:not(.admin-body) .vt-contact-brand-disc-v170 img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
body:not(.admin-body) .vt-contact-toggle-ring{
  background:#fff!important;
  overflow:hidden!important;
}
body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="zalo"],
body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="messenger"]{
  padding:3px!important;
  background:#fff!important;
}
body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="zalo"] .vt-contact-brand-disc-v170,
body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="messenger"] .vt-contact-brand-disc-v170{
  padding:2px;
}

@media(max-width:767.98px){
  body:not(.admin-body) .vt-contact-panel{
    padding:0!important;
  }
  body:not(.admin-body) .vt-contact-item-zalo,
  body:not(.admin-body) .vt-contact-item-messenger{
    width:52px!important;
    height:52px!important;
    min-height:52px!important;
    flex-basis:52px!important;
    padding:4px!important;
  }
  body:not(.admin-body) .vt-contact-item-zalo .vt-contact-item-icon,
  body:not(.admin-body) .vt-contact-item-messenger .vt-contact-item-icon{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
    padding:4px!important;
  }
  body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="zalo"],
  body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="messenger"]{
    padding:3px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v172.css ===== */
/* V172 — chỉ cân lại nhịp dọc giữa các khu danh mục trên mobile.
   Không thay đổi thẻ sản phẩm, nhãn, hiệu ứng hoặc bản desktop. */

@media (max-width:575.98px){
  /* Loại bỏ phần đệm chồng giữa cuối khu trước và đầu khu kế tiếp. */
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69:first-child,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69:last-child{
    padding:4px 0 0!important;
  }

  /* Khu đầu tiên vẫn có khoảng thở với phần phía trên. */
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69:first-child{
    padding-top:22px!important;
  }

  /* Nhãn danh mục không cộng thêm khoảng cách trên riêng. */
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-header-v160{
    margin:0 0 16px!important;
  }

  /* Nút Xem tất cả nằm chính giữa khoảng trống: trên và dưới bằng nhau. */
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82{
    margin:0!important;
    padding:20px 0!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159{
    margin:0 auto!important;
  }

  /* Khu cuối có khoảng cách đáy tương đương để không sát phần kế tiếp. */
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-product-zone-v69:last-child .vtw-home-zone-more-v82{
    padding-bottom:22px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v175.css ===== */
/* V175 — khôi phục Điện thoại/Email trong hỗ trợ; bỏ vòng xanh mờ ngoài icon. */

body:not(.admin-body) .vt-contact-toggle::before,
body:not(.admin-body) .vt-contact-toggle::after{
  content:none!important;
  display:none!important;
  animation:none!important;
  opacity:0!important;
}

body:not(.admin-body) .vt-contact-toggle{
  box-shadow:0 7px 18px rgba(15,23,42,.14)!important;
}
body:not(.admin-body) .vt-contact-toggle:hover{
  box-shadow:0 9px 21px rgba(15,23,42,.18)!important;
}

body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="phone"],
body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="email"]{
  color:#418f09!important;
  background:#fff!important;
  font-size:20px!important;
}

body:not(.admin-body) .vt-contact-item-phone .vt-contact-item-icon,
body:not(.admin-body) .vt-contact-item-email .vt-contact-item-icon{
  background:linear-gradient(145deg,#418f09 0%,#2f9b37 55%,#13a67a 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 5px 14px rgba(15,23,42,.12)!important;
}

@media (max-width:767.98px){
  body:not(.admin-body) .vt-contact-item-phone,
  body:not(.admin-body) .vt-contact-item-email{
    width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:5px!important;
    display:flex!important;
    flex:0 0 48px!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #e5eaf1!important;
    border-radius:50%!important;
    background:#fff!important;
    color:inherit!important;
    box-shadow:0 8px 20px rgba(15,23,42,.16)!important;
    transform:none!important;
  }

  body:not(.admin-body) .vt-contact-item-phone:hover,
  body:not(.admin-body) .vt-contact-item-phone:focus-visible,
  body:not(.admin-body) .vt-contact-item-email:hover,
  body:not(.admin-body) .vt-contact-item-email:focus-visible{
    background:#fff!important;
    box-shadow:0 10px 24px rgba(15,23,42,.21)!important;
    transform:translateY(-1px)!important;
  }

  body:not(.admin-body) .vt-contact-item-phone .vt-contact-item-icon,
  body:not(.admin-body) .vt-contact-item-email .vt-contact-item-icon{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    padding:0!important;
    border:0!important;
    font-size:18px!important;
    box-shadow:none!important;
  }

  body:not(.admin-body) .vt-contact-item-phone .vt-contact-item-copy,
  body:not(.admin-body) .vt-contact-item-email .vt-contact-item-copy{
    display:none!important;
  }

  body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="phone"],
  body:not(.admin-body) .vt-contact-cycle[data-contact-cycle="email"]{
    font-size:18px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v176.css ===== */
/* V176 — Trang chi tiết sản phẩm: viền gradient nhiều màu chạy khi rê chuột vào ảnh (chỉ desktop). */

@property --vtw-detail-ring-angle-v176{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}

@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44{
    --vtw-ring-c1-v176:#ff4d6d;
    --vtw-ring-c2-v176:#ffb703;
    --vtw-ring-c3-v176:#38d996;
    --vtw-ring-c4-v176:#22b8f0;
    --vtw-ring-c5-v176:#7c5cff;
    --vtw-ring-c6-v176:#f15bb5;
    transition:box-shadow .28s ease,filter .28s ease!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:9;
    border:3px solid transparent;
    border-radius:inherit;
    background:conic-gradient(
      from var(--vtw-detail-ring-angle-v176),
      var(--vtw-ring-c1-v176),
      var(--vtw-ring-c2-v176),
      var(--vtw-ring-c3-v176),
      var(--vtw-ring-c4-v176),
      var(--vtw-ring-c5-v176),
      var(--vtw-ring-c6-v176),
      var(--vtw-ring-c1-v176)
    ) border-box;
    -webkit-mask:
      linear-gradient(#000 0 0) padding-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover::after,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible::after{
    opacity:1;
    animation:vtwDetailGradientRingV176 1.75s linear infinite;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible{
    box-shadow:
      0 0 0 1px rgba(255,255,255,.72),
      0 12px 32px rgba(34,184,240,.15),
      0 8px 24px rgba(241,91,181,.12)!important;
  }
}

@keyframes vtwDetailGradientRingV176{
  to{--vtw-detail-ring-angle-v176:360deg}
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v177.css ===== */
/* V177 — tăng tốc vệt sáng ảnh liên quan/nổi bật và đổi viền ảnh chính thành một điểm màu chạy. */

/* Hai khu Sản phẩm liên quan / Sản phẩm nổi bật dùng cùng tốc độ quét nhanh. */
@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-card-v28:hover .thumb::after,
  body:not(.admin-body) .vtw-bottom-products-v126 .vtw-related-card-v28:focus-within .thumb::after{
    animation:vtwRelatedImageShineV177 .52s cubic-bezier(.22,.61,.36,1) 1!important;
  }
}

@keyframes vtwRelatedImageShineV177{
  0%{left:-72%;opacity:0;}
  10%{opacity:.96;}
  100%{left:132%;opacity:0;}
}

/* Ảnh chính: chỉ một màu ngẫu nhiên, một điểm sáng chạy quanh viền. */
@property --vtw-detail-point-angle-v177{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}

@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44{
    --vtw-detail-point-color-v177:#4f8cff;
    transition:box-shadow .24s ease,filter .24s ease!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:9;
    border:3px solid transparent;
    border-radius:inherit;
    background:conic-gradient(
      from var(--vtw-detail-point-angle-v177),
      transparent 0deg 318deg,
      color-mix(in srgb,var(--vtw-detail-point-color-v177) 20%,transparent) 328deg,
      color-mix(in srgb,var(--vtw-detail-point-color-v177) 58%,transparent) 338deg,
      var(--vtw-detail-point-color-v177) 346deg 352deg,
      color-mix(in srgb,var(--vtw-detail-point-color-v177) 42%,transparent) 358deg,
      transparent 360deg
    ) border-box!important;
    -webkit-mask:
      linear-gradient(#000 0 0) padding-box,
      linear-gradient(#000 0 0)!important;
    -webkit-mask-composite:xor!important;
    mask-composite:exclude!important;
    opacity:0;
    pointer-events:none;
    filter:drop-shadow(0 0 3px var(--vtw-detail-point-color-v177));
    transition:opacity .16s ease!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover::after,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible::after{
    opacity:1;
    animation:vtwDetailPointRunV177 1.18s linear infinite!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible{
    box-shadow:
      0 0 0 1px rgba(255,255,255,.72),
      0 10px 28px color-mix(in srgb,var(--vtw-detail-point-color-v177) 16%,transparent)!important;
  }
}

@keyframes vtwDetailPointRunV177{
  to{--vtw-detail-point-angle-v177:360deg;}
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v179.css ===== */
/* V179 — ảnh sản phẩm chính: hai điểm góc chớp nhẹ, màu đổi ngẫu nhiên. */

@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44{
    --vtw-corner-top-v179:#35b96f;
    --vtw-corner-bottom-v179:#4f8cff;
    transition:box-shadow .28s ease!important;
  }

  /* Tắt hoàn toàn viền/điểm chạy của các bản trước. */
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::before,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    content:"";
    position:absolute;
    z-index:9;
    pointer-events:none;
    opacity:0;
    animation:none!important;
    filter:none!important;
    border:0!important;
    border-radius:inherit;
    -webkit-mask:none!important;
    mask:none!important;
    transition:opacity .28s ease!important;
  }

  /* Góc trái trên: nét mảnh, màu đậm ở góc rồi mờ dần theo hai cạnh. */
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::before{
    top:0;
    left:0;
    width:38%;
    height:34%;
    background:
      linear-gradient(90deg,
        var(--vtw-corner-top-v179) 0%,
        color-mix(in srgb,var(--vtw-corner-top-v179) 68%,transparent) 34%,
        transparent 100%) top left / 100% 2px no-repeat,
      linear-gradient(180deg,
        var(--vtw-corner-top-v179) 0%,
        color-mix(in srgb,var(--vtw-corner-top-v179) 68%,transparent) 34%,
        transparent 100%) top left / 2px 100% no-repeat;
    filter:drop-shadow(0 0 3px color-mix(in srgb,var(--vtw-corner-top-v179) 45%,transparent))!important;
  }

  /* Góc phải dưới: cùng kiểu nhưng chạy mờ dần ngược hướng. */
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    right:0;
    bottom:0;
    width:38%;
    height:34%;
    background:
      linear-gradient(270deg,
        var(--vtw-corner-bottom-v179) 0%,
        color-mix(in srgb,var(--vtw-corner-bottom-v179) 68%,transparent) 34%,
        transparent 100%) bottom right / 100% 2px no-repeat,
      linear-gradient(0deg,
        var(--vtw-corner-bottom-v179) 0%,
        color-mix(in srgb,var(--vtw-corner-bottom-v179) 68%,transparent) 34%,
        transparent 100%) bottom right / 2px 100% no-repeat;
    filter:drop-shadow(0 0 3px color-mix(in srgb,var(--vtw-corner-bottom-v179) 45%,transparent))!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover::before,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible::before{
    animation:vtwCornerSoftBlinkTopV179 1.55s ease-in-out infinite!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover::after,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible::after{
    animation:vtwCornerSoftBlinkBottomV179 1.55s ease-in-out .34s infinite!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible{
    box-shadow:
      0 12px 30px rgba(15,23,42,.08),
      -5px -5px 18px color-mix(in srgb,var(--vtw-corner-top-v179) 10%,transparent),
      5px 5px 18px color-mix(in srgb,var(--vtw-corner-bottom-v179) 10%,transparent)!important;
  }
}

@keyframes vtwCornerSoftBlinkTopV179{
  0%,100%{opacity:.18;}
  45%{opacity:.95;}
  70%{opacity:.42;}
}

@keyframes vtwCornerSoftBlinkBottomV179{
  0%,100%{opacity:.16;}
  45%{opacity:.9;}
  70%{opacity:.38;}
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::before,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    animation:none!important;
  }
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover::before,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover::after,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible::before,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible::after{
    opacity:.62!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v181.css ===== */
/* V181 — ảnh sản phẩm chính: trở lại viền gradient chạy quanh khung như V176,
   nhưng viền cực mỏng, chuyển động chậm và ánh sáng nhẹ nhàng. */

@property --vtw-detail-ring-angle-v181{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}

@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44{
    --vtw-ring-c1-v181:#ff5d8f;
    --vtw-ring-c2-v181:#ffb84d;
    --vtw-ring-c3-v181:#58d68d;
    --vtw-ring-c4-v181:#55b7ff;
    --vtw-ring-c5-v181:#8c72ff;
    --vtw-ring-c6-v181:#e56bda;
    transition:box-shadow .55s ease,filter .55s ease!important;
  }

  /* Tắt hai nét góc của V179. */
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::before{
    content:none!important;
    display:none!important;
    animation:none!important;
  }

  /* Một viền gradient cực mỏng chạy đều quanh toàn bộ khung. */
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:9!important;
    width:auto!important;
    height:auto!important;
    border:1px solid transparent!important;
    border-radius:inherit!important;
    background:conic-gradient(
      from var(--vtw-detail-ring-angle-v181),
      color-mix(in srgb,var(--vtw-ring-c1-v181) 62%,transparent),
      color-mix(in srgb,var(--vtw-ring-c2-v181) 58%,transparent),
      color-mix(in srgb,var(--vtw-ring-c3-v181) 60%,transparent),
      color-mix(in srgb,var(--vtw-ring-c4-v181) 60%,transparent),
      color-mix(in srgb,var(--vtw-ring-c5-v181) 58%,transparent),
      color-mix(in srgb,var(--vtw-ring-c6-v181) 60%,transparent),
      color-mix(in srgb,var(--vtw-ring-c1-v181) 62%,transparent)
    ) border-box!important;
    -webkit-mask:
      linear-gradient(#000 0 0) padding-box,
      linear-gradient(#000 0 0)!important;
    -webkit-mask-composite:xor!important;
    mask-composite:exclude!important;
    opacity:0!important;
    pointer-events:none!important;
    filter:none!important;
    transition:opacity .5s ease!important;
    animation:none!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover::after,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible::after{
    opacity:.78!important;
    animation:vtwDetailGradientRingV181 5.8s linear infinite!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible{
    box-shadow:
      0 0 0 1px rgba(255,255,255,.5),
      0 10px 28px rgba(34,184,240,.055),
      0 8px 22px rgba(241,91,181,.045)!important;
    filter:none!important;
  }
}

@keyframes vtwDetailGradientRingV181{
  to{--vtw-detail-ring-angle-v181:360deg;}
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v183.css ===== */
/* V183 — chỉ khôi phục độ sáng và bóng màu của hiệu ứng ảnh sản phẩm như V176.
   Giữ nguyên viền 1px và tốc độ chạy chậm 5.8s của V181. */

@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    background:conic-gradient(
      from var(--vtw-detail-ring-angle-v181),
      var(--vtw-ring-c1-v181),
      var(--vtw-ring-c2-v181),
      var(--vtw-ring-c3-v181),
      var(--vtw-ring-c4-v181),
      var(--vtw-ring-c5-v181),
      var(--vtw-ring-c6-v181),
      var(--vtw-ring-c1-v181)
    ) border-box!important;
    transition:opacity .22s ease!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover::after,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible::after{
    opacity:1!important;
  }

  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:hover,
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44:focus-visible{
    box-shadow:
      0 0 0 1px rgba(255,255,255,.72),
      0 12px 32px rgba(34,184,240,.15),
      0 8px 24px rgba(241,91,181,.12)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v184.css ===== */
/* V184 — chỉ tăng nhẹ độ dày viền hiệu ứng ảnh sản phẩm chính trên desktop. */
@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-media-viewer-v44::after{
    border-width:2px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v186.css ===== */
/* V186 — liên kết Plugin bản quyền giá rẻ dùng URL danh mục sạch và hover xanh dương. */
.vt-footer-v51 .vt-footer-category-link-v58.is-plugin-license-link-v186,
.vt-footer-v51 .vt-footer-category-link-v58.is-plugin-license-link-v186 .vt-footer-link-prefix-v58{
  color:#111!important;
  text-decoration:none!important;
  transition:color .18s ease, text-decoration-color .18s ease;
}

.vt-footer-v51 .vt-footer-category-link-v58.is-plugin-license-link-v186:hover,
.vt-footer-v51 .vt-footer-category-link-v58.is-plugin-license-link-v186:focus-visible,
.vt-footer-v51 .vt-footer-category-link-v58.is-plugin-license-link-v186:hover .vt-footer-link-prefix-v58,
.vt-footer-v51 .vt-footer-category-link-v58.is-plugin-license-link-v186:focus-visible .vt-footer-link-prefix-v58{
  color:#1676b8!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}

/* ===== Nguồn hợp nhất: theme-public-v187.css ===== */
/* V187 — cân đều khoảng cách trên/dưới thanh tìm kiếm trang chủ ở desktop. */
@media (min-width:992px){
  body:not(.admin-body) .vtw-home-search-wrap-v148{
    padding:28px 0!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v189.css ===== */
/* V189 — chỉ cân lại khoảng cách desktop khi khu bán chạy đang tắt.
   Khoảng cách từ thanh tìm kiếm xuống nhãn danh mục đầu tiên bằng khoảng cách phía trên thanh tìm kiếm. */
@media (min-width:992px){
  body:not(.admin-body) .vtw-home-search-wrap-v148 + .vtw-home-product-zones-v69 > .vtw-home-product-zone-v69:first-child{
    padding-top:25px!important;
  }

  body:not(.admin-body) .vtw-home-search-wrap-v148 + .vtw-home-product-zones-v69 > .vtw-home-product-zone-v69:first-child > .container > .vtw-home-category-header-v160{
    margin-top:0!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v191.css ===== */
/* V191 — cân lại trang Liên hệ: khung hỗ trợ cao hơn, nội dung đầy đặn và khoảng trống trên/dưới hợp lý. */

@media (min-width:992px){
  body:not(.admin-body) > .main-content:has(> .vtw-contact-page-v120){
    justify-content:center!important;
  }

  body:not(.admin-body) .vtw-contact-page-v120{
    width:100%!important;
    padding:30px 0 36px!important;
  }

  body:not(.admin-body) .vtw-contact-container-v120{
    max-width:1220px!important;
  }

  body:not(.admin-body) .vtw-contact-layout-v120{
    grid-template-columns:minmax(370px,.84fr) minmax(620px,1.16fr)!important;
    gap:46px!important;
    align-items:stretch!important;
  }

  body:not(.admin-body) .vtw-contact-copy-v120{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:22px 0!important;
  }

  body:not(.admin-body) .vtw-contact-form-wrap-v120{
    display:flex!important;
    align-items:stretch!important;
  }

  body:not(.admin-body) .contact-form-card-v6.vtw-contact-form-card-v120{
    min-height:352px!important;
    padding:25px 24px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  body:not(.admin-body) .vtw-contact-form-heading-v120{
    margin-bottom:18px!important;
  }

  body:not(.admin-body) .vtw-contact-form-card-v120 form{
    width:100%!important;
  }

  body:not(.admin-body) .vtw-contact-form-grid-v120{
    grid-template-columns:minmax(225px,.82fr) minmax(320px,1.18fr)!important;
    gap:18px!important;
  }

  body:not(.admin-body) .vtw-contact-fields-v120{
    gap:12px!important;
  }

  body:not(.admin-body) .vtw-contact-message-v120{
    gap:12px!important;
  }

  body:not(.admin-body) .vtw-contact-form-card-v120 .form-control{
    min-height:43px!important;
    padding:9px 11px!important;
  }

  body:not(.admin-body) .vtw-contact-form-card-v120 textarea.form-control{
    min-height:146px!important;
  }

  body:not(.admin-body) .vtw-contact-form-card-v120 .vtw-contact-submit-v117{
    min-height:41px!important;
    padding:8px 16px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v197.css ===== */
/* V197 — làm mới nút nổi Trợ Lý AI bằng hiệu ứng viền sáng chuyển động.
   Không dùng màu tím/xám của nút “Xem tất cả”. */

body:not(.admin-body) .vt-ai-toggle{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  width:58px!important;
  height:58px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:
    0 11px 27px rgba(0,116,126,.25),
    0 5px 13px rgba(255,159,28,.12)!important;
  transform:translateY(0) scale(1)!important;
  transition:
    transform .28s cubic-bezier(.22,.72,.25,1),
    box-shadow .28s ease,
    filter .28s ease!important;
}

/* Điểm sáng nhiều sắc chạy liên tục quanh viền, cùng nguyên lý với nút Xem tất cả. */
body:not(.admin-body) .vt-ai-toggle::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:50%!important;
  left:50%!important;
  width:185%!important;
  aspect-ratio:1!important;
  background:conic-gradient(
    from 0deg,
    transparent 0deg 54deg,
    rgba(39,241,216,.22) 69deg,
    #31f1d1 83deg,
    #3db8ff 96deg,
    #ffd166 109deg,
    #ff7b54 121deg,
    rgba(255,255,255,.88) 132deg,
    transparent 148deg 360deg
  )!important;
  opacity:1!important;
  transform:translate(-50%,-50%) rotate(0deg)!important;
  animation:vtAiBorderSpinV197 2.75s linear infinite!important;
  pointer-events:none!important;
}

/* Mặt nút xanh ngọc – vàng cam, khác hoàn toàn màu nút Xem tất cả. */
body:not(.admin-body) .vt-ai-toggle::after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:2px!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 28% 22%,rgba(255,255,255,.30),transparent 25%),
    linear-gradient(145deg,#063b54 0%,#007f89 39%,#0da989 68%,#e5a51f 100%)!important;
  background-size:140% 140%!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -9px 18px rgba(0,44,61,.20)!important;
  animation:vtAiSurfaceFlowV197 4.8s ease-in-out infinite alternate!important;
  pointer-events:none!important;
}

body:not(.admin-body) .vt-ai-toggle > i,
body:not(.admin-body) .vt-ai-toggle > span{
  position:relative!important;
  z-index:2!important;
  color:#fff!important;
}

body:not(.admin-body) .vt-ai-toggle > i{
  font-size:21px!important;
  line-height:1!important;
  text-shadow:
    0 0 8px rgba(255,255,255,.64),
    0 2px 8px rgba(0,44,61,.30)!important;
  animation:vtAiStarPulseV197 2.25s ease-in-out infinite!important;
}

body:not(.admin-body) .vt-ai-toggle > span{
  margin-top:3px!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.045em!important;
  text-shadow:0 2px 7px rgba(0,44,61,.34)!important;
}

@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vt-ai-toggle:hover,
  body:not(.admin-body) .vt-ai-toggle:focus-visible{
    transform:translateY(-3px) scale(1.055)!important;
    filter:saturate(1.13) brightness(1.045)!important;
    box-shadow:
      0 16px 34px rgba(0,116,126,.34),
      0 7px 18px rgba(255,159,28,.20)!important;
  }

  body:not(.admin-body) .vt-ai-toggle:hover::before,
  body:not(.admin-body) .vt-ai-toggle:focus-visible::before{
    animation-duration:1.18s!important;
  }

  body:not(.admin-body) .vt-ai-toggle:hover > i,
  body:not(.admin-body) .vt-ai-toggle:focus-visible > i{
    animation-duration:.95s!important;
  }
}

body:not(.admin-body) .vt-ai-toggle:focus-visible{
  outline:3px solid rgba(49,241,209,.30)!important;
  outline-offset:4px!important;
}

body:not(.admin-body) .vt-ai-widget.is-busy .vt-ai-toggle > i{
  animation:vtAiBusyPulseV197 .78s ease-in-out infinite!important;
}

@keyframes vtAiBorderSpinV197{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

@keyframes vtAiSurfaceFlowV197{
  0%{background-position:15% 20%}
  100%{background-position:85% 80%}
}

@keyframes vtAiStarPulseV197{
  0%,100%{transform:scale(1) rotate(-2deg);filter:brightness(1)}
  50%{transform:scale(1.13) rotate(4deg);filter:brightness(1.18)}
}

@keyframes vtAiBusyPulseV197{
  0%,100%{transform:scale(.92);opacity:.72}
  50%{transform:scale(1.15);opacity:1}
}

@media (max-width:767.98px){
  body:not(.admin-body) .vt-ai-toggle{
    width:52px!important;
    height:52px!important;
    box-shadow:
      0 9px 23px rgba(0,116,126,.24),
      0 4px 11px rgba(255,159,28,.11)!important;
  }
  body:not(.admin-body) .vt-ai-toggle > i{font-size:19px!important}
  body:not(.admin-body) .vt-ai-toggle > span{font-size:10px!important;margin-top:2px!important}
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vt-ai-toggle::before,
  body:not(.admin-body) .vt-ai-toggle::after,
  body:not(.admin-body) .vt-ai-toggle > i{
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v199.css ===== */
/* V199 — viền màu Trợ lý AI chuyển động rõ quanh icon, giữ bảng màu riêng. */
body:not(.admin-body) .vt-ai-toggle{
  overflow:hidden!important;
  isolation:isolate!important;
  background:transparent!important;
  box-shadow:
    0 12px 28px rgba(0,121,135,.27),
    0 5px 15px rgba(255,155,37,.16)!important;
}

/* Một dải sáng bất đối xứng quay thật quanh chu vi để mắt luôn nhận thấy chuyển động. */
body:not(.admin-body) .vt-ai-toggle::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  inset:-52%!important;
  width:auto!important;
  height:auto!important;
  aspect-ratio:auto!important;
  top:-52%!important;
  right:-52%!important;
  bottom:-52%!important;
  left:-52%!important;
  background:conic-gradient(
    from 0deg,
    transparent 0deg 188deg,
    rgba(37,239,210,.16) 202deg,
    #25efd2 218deg,
    #32adff 232deg,
    #ffd15c 246deg,
    #ff7659 258deg,
    rgba(255,255,255,.96) 269deg,
    transparent 286deg 360deg
  )!important;
  transform:rotate(0deg)!important;
  transform-origin:50% 50%!important;
  animation:vtAiOrbitV199 2.2s linear infinite!important;
  filter:drop-shadow(0 0 3px rgba(48,222,214,.45))!important;
  opacity:1!important;
  pointer-events:none!important;
}

body:not(.admin-body) .vt-ai-toggle::after{
  inset:3px!important;
  z-index:1!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 28% 22%,rgba(255,255,255,.32),transparent 25%),
    linear-gradient(145deg,#063b54 0%,#007f89 38%,#0da989 67%,#e5a51f 100%)!important;
  animation:vtAiSurfaceFlowV199 4.6s ease-in-out infinite alternate!important;
}

@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vt-ai-toggle:hover::before,
  body:not(.admin-body) .vt-ai-toggle:focus-visible::before{
    animation-duration:1.05s!important;
    filter:drop-shadow(0 0 5px rgba(48,222,214,.62))!important;
  }
}

@keyframes vtAiOrbitV199{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

@keyframes vtAiSurfaceFlowV199{
  0%{background-position:12% 18%}
  100%{background-position:88% 82%}
}

/* Vẫn giữ chuyển động viền khi hệ điều hành bật giảm chuyển động vì đây là trạng thái nhận diện của nút. */
@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vt-ai-toggle::before{animation:vtAiOrbitV199 3.6s linear infinite!important}
  body:not(.admin-body) .vt-ai-toggle::after{animation:none!important}
}

/* ===== Nguồn hợp nhất: theme-public-v200.css ===== */
/* V200 — chỉ sửa nhãn danh mục trên mobile:
   kéo đường kẻ ngang dài hết bề ngang màn hình như desktop và giữ nguyên
   màu sắc, hình học, khoảng cách dọc, hiệu ứng cùng các phần khác. */
@media (max-width:575.98px){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-header-v160{
    overflow:visible!important;
  }

  /* Không phụ thuộc chiều rộng .container: đường ngang luôn chạy hết màn hình. */
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-header-v160::before{
    left:50%!important;
    right:auto!important;
    width:100vw!important;
    max-width:none!important;
    transform:translateX(-50%)!important;
  }

  /* Thu đúng phần thân nhãn vừa đủ nội dung để hai đoạn kẻ hai bên hiện rõ như desktop. */
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v160{
    width:min(280px,calc(100vw - 88px))!important;
  }
}

@media (max-width:359.98px){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v160{
    width:calc(100vw - 88px)!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v202.css ===== */
/* V202 — icon AI dùng viền nhiều màu cố định; trang chủ hỗ trợ lưới 8 sản phẩm cố định. */
body:not(.admin-body) .vt-ai-toggle::before{
  background:conic-gradient(
    from 0deg,
    #28e2cf 0deg 58deg,
    #2c9cff 58deg 118deg,
    #7868ff 118deg 176deg,
    #ff5f8f 176deg 232deg,
    #ff9a3d 232deg 286deg,
    #ffd45e 286deg 330deg,
    #28e2cf 330deg 360deg
  )!important;
  animation:none!important;
  transform:rotate(0deg)!important;
  filter:drop-shadow(0 0 3px rgba(49,210,206,.38))!important;
}
body:not(.admin-body) .vt-ai-toggle:hover::before,
body:not(.admin-body) .vt-ai-toggle:focus-visible::before,
body:not(.admin-body) .vt-ai-widget.is-busy .vt-ai-toggle::before{
  animation:none!important;
  transform:rotate(0deg)!important;
}
body:not(.admin-body) .vtw-home-fixed-grid-v202{
  width:100%;
  min-width:0;
}

/* ===== Nguồn hợp nhất: theme-public-v203.css ===== */
/* V203 — chi tiết sản phẩm co giãn theo chiều cao màn hình để luôn thấy nút Hướng dẫn/Demo. */

/*
 * Từ iPad trở lên, chỉ thu gọn khung ảnh khi sản phẩm thật sự có nút
 * Hướng dẫn hoặc Demo. Khung vẫn giữ tỷ lệ vuông, ảnh không méo/cắt và
 * chiều rộng được giới hạn theo chiều cao khả dụng của màn hình.
 */
@media (min-width:768px){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203{
    width:100%!important;
    height:auto!important;
    max-width:min(100%,clamp(360px,calc(100vh - 250px),680px))!important;
    max-width:min(100%,clamp(360px,calc(100svh - 250px),680px))!important;
    margin-inline:auto!important;
    align-self:flex-start!important;
    flex:0 0 auto!important;
  }
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203 .vtw-media-viewer-v44{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1 / 1!important;
    flex:0 0 auto!important;
  }
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203 .vtw-media-actions-v36{
    width:100%!important;
    flex:0 0 auto!important;
    margin-top:12px!important;
  }
}

/* Laptop có chiều cao trình duyệt thấp: ưu tiên giữ trọn ảnh và hai nút trong vùng nhìn. */
@media (min-width:768px) and (max-height:760px){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203{
    max-width:min(100%,clamp(320px,calc(100vh - 220px),560px))!important;
    max-width:min(100%,clamp(320px,calc(100svh - 220px),560px))!important;
  }
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203 .vtw-media-actions-v36 a{
    min-height:42px!important;
    padding-block:8px!important;
  }
}

/* iPhone và mobile: giữ nguyên bố cục một cột, ảnh vừa đúng chiều ngang máy. */
@media (max-width:767.98px){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin-inline:0!important;
  }
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203 .vtw-media-viewer-v44{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1 / 1!important;
  }
}

/* Điện thoại xoay ngang: tiếp tục giữ hai cột nhưng thu gọn đủ để thấy nút Demo. */
@media (min-width:768px) and (max-height:520px){
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203{
    max-width:min(46vw,clamp(220px,calc(100vh - 145px),360px))!important;
    max-width:min(46vw,clamp(220px,calc(100svh - 145px),360px))!important;
  }
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203 .vtw-media-actions-v36{
    gap:6px!important;
    margin-top:8px!important;
  }
  body:not(.admin-body) .vtw-product-detail-v20 .vtw-detail-media-shell-v7.has-media-actions-v203 .vtw-media-actions-v36 a{
    min-height:36px!important;
    padding:6px!important;
    font-size:.76rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v205.css ===== */
/* V205 — Desktop: đưa tìm kiếm lên thanh menu, bỏ khoảng trắng tìm kiếm riêng trên trang chủ. */
@media (min-width: 992px) {
  body:not(.admin-body) .main-navbar > .container {
    flex-wrap: nowrap;
    gap: 14px;
  }

  body:not(.admin-body) .main-navbar #mainNav {
    min-width: 0;
    gap: 12px;
  }

  body:not(.admin-body) .main-navbar #mainNav .main-menu {
    flex: 0 0 auto;
    margin-right: 0 !important;
  }

  body:not(.admin-body) .main-navbar .desktop-header-search-v205 {
    flex: 1 1 290px;
    width: clamp(210px, 20vw, 330px);
    max-width: 330px;
    min-width: 190px;
    height: 40px;
    margin: 0 4px 0 auto;
    border: 1.5px solid #418f09;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 22px rgba(65, 143, 9, .09);
  }

  body:not(.admin-body) .main-navbar .desktop-header-search-v205 input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    border: 0;
    outline: 0;
    padding: 0 14px;
    color: #111827;
    background: transparent;
    font-size: 14px;
    font-weight: 400;
  }

  body:not(.admin-body) .main-navbar .desktop-header-search-v205 input::placeholder {
    color: #8a9390;
    opacity: 1;
  }

  body:not(.admin-body) .main-navbar .desktop-header-search-v205 button {
    flex: 0 0 76px;
    height: 100%;
    border: 0;
    background: #418f09;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    transition: background-color .2s ease;
  }

  body:not(.admin-body) .main-navbar .desktop-header-search-v205 button:hover,
  body:not(.admin-body) .main-navbar .desktop-header-search-v205 button:focus {
    background: #347607;
  }

  body:not(.admin-body) .main-navbar .desktop-header-search-v205:focus-within {
    box-shadow: 0 0 0 3px rgba(65, 143, 9, .13), 0 8px 22px rgba(65, 143, 9, .10);
  }
}

@media (min-width: 992px) and (max-width: 1279.98px) {
  body:not(.admin-body) .main-navbar > .container { gap: 8px; }
  body:not(.admin-body) .main-navbar #mainNav { gap: 7px; }
  body:not(.admin-body) .main-navbar .desktop-header-search-v205 {
    width: 205px;
    min-width: 170px;
    max-width: 220px;
  }
  body:not(.admin-body) .main-navbar .desktop-header-search-v205 button {
    flex-basis: 48px;
  }
  body:not(.admin-body) .main-navbar .desktop-header-search-v205 button span {
    display: none;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v209.css ===== */
/* V209 — sidebar sản phẩm liên quan bên phải và ô tìm kiếm desktop rộng hơn. */
@media (min-width: 992px) {
  body:not(.admin-body) .vtw-product-content-grid-v40 {
    align-items: flex-start !important;
  }

  body:not(.admin-body) .vtw-product-content-grid-v40 > .vtw-product-description-column-v40 {
    flex: 1 1 0;
    width: auto;
    max-width: none;
    min-width: 0;
  }

  body:not(.admin-body) .vtw-product-content-grid-v40 > .vtw-product-sidebar-column-v40 {
    flex: 0 0 300px;
    width: 300px;
    max-width: 300px;
    min-width: 0;
  }

  body:not(.admin-body) .vtw-sidebar-related-panel-v29 {
    padding: 18px;
    border-radius: 20px;
  }

  body:not(.admin-body) .vtw-sidebar-panel-head-v29 {
    padding-bottom: 12px;
    margin-bottom: 12px;
  }

  body:not(.admin-body) .vtw-sidebar-panel-head-v29 .vtw-related-section-title-v262 {
    font-size: 1.05rem;
    text-transform: uppercase;
  }

  body:not(.admin-body) .main-navbar .desktop-header-search-v205 {
    flex-basis: 350px;
    width: clamp(260px, 23vw, 390px);
    max-width: 390px;
    min-width: 230px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  body:not(.admin-body) .vtw-product-content-grid-v40 > .vtw-product-sidebar-column-v40 {
    flex-basis: 280px;
    width: 280px;
    max-width: 280px;
  }

  body:not(.admin-body) .main-navbar .desktop-header-search-v205 {
    width: 235px;
    min-width: 205px;
    max-width: 260px;
  }
}

@media (max-width: 991.98px) {
  body:not(.admin-body) .vtw-product-sidebar-column-v40 {
    width: 100%;
    max-width: 100%;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v210.css ===== */
/* =============================================================
   Themes Văn Thế Web V210 — ổn định bảng menu mobile trên iPhone
   - Menu luôn là lớp trắng kín toàn màn hình, không xuyên nội dung.
   - Mở từ đầu bảng, khóa cuộn trang và tôn trọng vùng an toàn iOS.
   - Ẩn các nút hỗ trợ nổi khi menu đang mở.
   ============================================================= */
@media (max-width: 991.98px){
  html.mobile-nav-open-v210,
  body:not(.admin-body).mobile-nav-open-v127{
    width:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }

  body:not(.admin-body).mobile-nav-open-v127 .main-navbar{
    z-index:20050!important;
  }

  body:not(.admin-body) .main-navbar #mainNav{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    inset:0!important;
    z-index:20060!important;
    box-sizing:border-box!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:
      max(14px, env(safe-area-inset-top))
      max(16px, env(safe-area-inset-right))
      calc(24px + env(safe-area-inset-bottom))
      max(16px, env(safe-area-inset-left))!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    background-color:#fff!important;
    background-image:none!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:none!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    isolation:isolate!important;
  }

  body:not(.admin-body) .main-navbar #mainNav.collapsing,
  body:not(.admin-body) .main-navbar #mainNav.show{
    display:block!important;
    width:100vw!important;
    height:100dvh!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }

  body:not(.admin-body) .main-navbar #mainNav:not(.show):not(.collapsing){
    display:none!important;
  }

  body:not(.admin-body) .main-navbar #mainNav::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:#fff;
    pointer-events:none;
  }

  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-overlay-head-v127{
    display:flex!important;
    min-height:58px!important;
    margin:0!important;
    padding:0 48px 8px!important;
    background:#fff!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-overlay-logo-v127{
    min-width:0!important;
    max-width:205px!important;
  }

  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-overlay-logo-v127 img{
    max-width:100%!important;
    height:44px!important;
  }

  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-close-v127{
    top:2px!important;
    right:0!important;
    z-index:3!important;
  }

  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-search-v127{
    display:grid!important;
    width:100%!important;
    margin:6px 0 16px!important;
    background:#fff!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body:not(.admin-body) .main-navbar #mainNav .main-menu{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body:not(.admin-body) .main-navbar #mainNav .main-menu>.nav-item{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    animation:none!important;
    background:#fff!important;
  }

  body:not(.admin-body) .main-navbar #mainNav .main-menu>.nav-item>.nav-link{
    min-height:56px!important;
    padding:0 2px!important;
    background:#fff!important;
  }

  body:not(.admin-body).mobile-nav-open-v127 .vt-contact-widget,
  body:not(.admin-body).mobile-nav-open-v127 .vt-ai-widget,
  body:not(.admin-body).mobile-nav-open-v127 .vt-ai-runtime-toast-v72{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

@media (max-width: 430px){
  body:not(.admin-body) .main-navbar #mainNav{
    padding-left:max(14px, env(safe-area-inset-left))!important;
    padding-right:max(14px, env(safe-area-inset-right))!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-overlay-head-v127{
    min-height:54px!important;
    padding-bottom:6px!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-overlay-logo-v127{
    max-width:190px!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-overlay-logo-v127 img{
    height:42px!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-search-v127{
    height:48px!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    margin-bottom:14px!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-search-v127 input{
    height:46px!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .mobile-nav-search-v127 button{
    width:52px!important;
    height:48px!important;
  }
  body:not(.admin-body) .main-navbar #mainNav .main-menu>.nav-item>.nav-link{
    min-height:54px!important;
    font-size:.98rem!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v211.css ===== */
/* V211 — đồng bộ vệt sáng ảnh của sản phẩm liên quan trong sidebar. */
body:not(.admin-body) .vtw-sidebar-related-card-v29 .thumb{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}

body:not(.admin-body) .vtw-sidebar-related-card-v29 .thumb::after{
  content:"";
  position:absolute;
  z-index:2;
  top:-45%;
  bottom:-45%;
  left:-72%;
  width:48%;
  pointer-events:none;
  opacity:0;
  transform:skewX(-22deg);
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.18) 28%,
    rgba(255,255,255,.78) 52%,
    rgba(255,255,255,.18) 76%,
    rgba(255,255,255,0)
  );
}

@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-sidebar-related-card-v29:hover .thumb::after,
  body:not(.admin-body) .vtw-sidebar-related-card-v29:focus-within .thumb::after{
    opacity:1;
    animation:vtwSidebarRelatedImageShineV211 .52s cubic-bezier(.22,.61,.36,1) 1;
  }
}

@keyframes vtwSidebarRelatedImageShineV211{
  0%{left:-72%;opacity:0;}
  10%{opacity:.96;}
  100%{left:132%;opacity:0;}
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vtw-sidebar-related-card-v29 .thumb::after{
    display:none!important;
    animation:none!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v213.css ===== */
/* V213 — Cân lại cụm tìm kiếm/biểu tượng header và popup responsive. */

@media (min-width: 992px) {
  body:not(.admin-body) .main-navbar > .container {
    max-width: 1500px;
  }

  body:not(.admin-body) .main-navbar #mainNav {
    gap: 5px !important;
  }

  body:not(.admin-body) .main-navbar .desktop-header-search-v205 {
    margin-right: 3px !important;
  }

  body:not(.admin-body) .main-navbar .public-cart-hover,
  body:not(.admin-body) .main-navbar .public-notification-dropdown-desktop {
    margin-right: 4px !important;
  }

  body:not(.admin-body) .main-navbar .public-user-dropdown {
    margin-left: 0 !important;
  }

  /* Các bảng xổ xuống luôn vừa khung nhìn, không tràn cạnh màn hình. */
  body:not(.admin-body) .main-navbar .public-cart-preview {
    width: clamp(330px, 28vw, 390px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 92px);
  }

  body:not(.admin-body) .main-navbar .public-cart-preview-list {
    max-height: min(350px, calc(100dvh - 280px)) !important;
  }

  body:not(.admin-body) .main-navbar .public-notification-menu {
    width: clamp(350px, 30vw, 420px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 92px) !important;
  }

  body:not(.admin-body) .main-navbar .public-notification-list {
    max-height: min(410px, calc(100dvh - 275px)) !important;
  }

  body:not(.admin-body) .main-navbar .public-user-menu {
    width: clamp(278px, 22vw, 320px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 92px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
}

/* Màn hình web rộng: tăng chiều dài ô tìm kiếm nhưng vẫn chừa đủ chỗ cho icon/tài khoản. */
@media (min-width: 1400px) {
  body:not(.admin-body) .main-navbar .desktop-header-search-v205 {
    flex: 1 1 455px !important;
    width: clamp(390px, 27vw, 500px) !important;
    min-width: 360px !important;
    max-width: 500px !important;
  }
}

@media (min-width: 1280px) and (max-width: 1399.98px) {
  body:not(.admin-body) .main-navbar .desktop-header-search-v205 {
    flex-basis: 330px !important;
    width: clamp(285px, 25vw, 370px) !important;
    min-width: 270px !important;
    max-width: 370px !important;
  }
}

@media (min-width: 992px) and (max-width: 1279.98px) {
  body:not(.admin-body) .main-navbar #mainNav {
    gap: 3px !important;
  }

  body:not(.admin-body) .main-navbar .public-cart-hover,
  body:not(.admin-body) .main-navbar .public-notification-dropdown-desktop {
    margin-right: 2px !important;
  }
}

@media (max-width: 991.98px) {
  /* Popup thông báo và tài khoản dùng theo chiều rộng thực tế của điện thoại/tablet. */
  body:not(.admin-body) .main-navbar .public-notification-menu {
    top: max(66px, calc(env(safe-area-inset-top, 0px) + 58px)) !important;
    right: max(8px, env(safe-area-inset-right, 0px)) !important;
    left: max(8px, env(safe-area-inset-left, 0px)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - max(78px, calc(env(safe-area-inset-top, 0px) + 70px))) !important;
    overflow: hidden !important;
  }

  body:not(.admin-body) .main-navbar .public-notification-list {
    max-height: calc(100dvh - max(250px, calc(env(safe-area-inset-top, 0px) + 238px))) !important;
  }

  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-user-menu {
    position: fixed !important;
    top: max(66px, calc(env(safe-area-inset-top, 0px) + 58px)) !important;
    right: max(8px, env(safe-area-inset-right, 0px)) !important;
    left: auto !important;
    width: min(320px, calc(100vw - 16px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - max(78px, calc(env(safe-area-inset-top, 0px) + 70px))) !important;
    margin: 0 !important;
    transform: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
}

@media (max-width: 430px) {
  body:not(.admin-body) .main-navbar .public-user-dropdown-mobile .public-user-menu {
    right: 6px !important;
    width: min(306px, calc(100vw - 12px)) !important;
    max-width: calc(100vw - 12px) !important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v217.css ===== */
/* V217 — chia 24 sản phẩm liên quan thành 12 sidebar + 12 cuối trang. */
body:not(.admin-body) .vtw-related-bottom-v217{
  margin-top:24px;
  padding:20px;
  border:1px solid #dbe8f6;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(28,72,118,.05);
}
body:not(.admin-body) .vtw-related-bottom-head-v217{
  padding-bottom:12px;
  margin-bottom:14px;
  border-bottom:1px solid #e4edf7;
}
body:not(.admin-body) .vtw-related-bottom-head-v217 .vtw-related-section-title-v262{
  margin:0;
  color:#172033;
  font-size:1.15rem;
  font-weight:650;
  text-transform:uppercase;
}
body:not(.admin-body) .vtw-related-bottom-grid-v217{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
body:not(.admin-body) .vtw-related-bottom-card-v217{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:11px;
  align-items:center;
  min-width:0;
  padding:10px;
  border:1px solid #dfe9f6;
  border-radius:16px;
  background:#f9fbfe;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
body:not(.admin-body) .vtw-related-bottom-card-v217:hover{
  transform:translateY(-1px);
  border-color:#bdd4ed;
  box-shadow:0 8px 20px rgba(30,79,136,.07);
}
body:not(.admin-body) .vtw-related-bottom-card-v217 .thumb{
  position:relative;
  isolation:isolate;
  display:block;
  width:86px;
  height:86px;
  overflow:hidden;
  border-radius:13px;
  background:#eef4fb;
}
body:not(.admin-body) .vtw-related-bottom-card-v217 .thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
body:not(.admin-body) .vtw-related-bottom-card-v217 .thumb>span{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  color:#6d86aa;
  font-size:22px;
}
body:not(.admin-body) .vtw-related-bottom-card-v217 .copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
}
body:not(.admin-body) .vtw-related-bottom-card-v217 .copy>a{
  color:#17375f;
  text-decoration:none;
  font-size:.9rem;
  font-weight:550;
  line-height:1.42;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
body:not(.admin-body) .vtw-related-bottom-card-v217 .copy>a:hover{color:#418f09;}
body:not(.admin-body) .vtw-related-bottom-card-v217 .copy strong{
  color:#0d713a;
  font-size:.9rem;
  font-weight:600;
}
body:not(.admin-body) .vtw-related-bottom-card-v217 .thumb::after{
  content:"";
  position:absolute;
  z-index:2;
  top:-45%;
  bottom:-45%;
  left:-72%;
  width:48%;
  pointer-events:none;
  opacity:0;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.18) 28%,rgba(255,255,255,.78) 52%,rgba(255,255,255,.18) 76%,rgba(255,255,255,0));
}
@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-related-bottom-card-v217:hover .thumb::after,
  body:not(.admin-body) .vtw-related-bottom-card-v217:focus-within .thumb::after{
    opacity:1;
    animation:vtwRelatedBottomShineV217 .52s cubic-bezier(.22,.61,.36,1) 1;
  }
}
@keyframes vtwRelatedBottomShineV217{
  0%{left:-72%;opacity:0;}
  10%{opacity:.96;}
  100%{left:132%;opacity:0;}
}
@media (max-width:1199.98px){
  body:not(.admin-body) .vtw-related-bottom-grid-v217{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:991.98px){
  body:not(.admin-body) .vtw-related-bottom-grid-v217{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:575.98px){
  body:not(.admin-body) .vtw-related-bottom-v217{padding:14px;border-radius:16px;}
  body:not(.admin-body) .vtw-related-bottom-grid-v217{gap:10px;}
  body:not(.admin-body) .vtw-related-bottom-card-v217{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:8px;
    gap:8px;
  }
  body:not(.admin-body) .vtw-related-bottom-card-v217 .thumb{
    width:100%;
    height:auto;
    aspect-ratio:1/1;
  }
  body:not(.admin-body) .vtw-related-bottom-card-v217 .copy>a{
    font-size:.82rem;
    line-height:1.35;
    -webkit-line-clamp:2;
  }
  body:not(.admin-body) .vtw-related-bottom-card-v217 .copy strong{font-size:.84rem;}
}
@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vtw-related-bottom-card-v217 .thumb::after{display:none!important;animation:none!important;}
}

/* ===== Nguồn hợp nhất: theme-public-v218.css ===== */
/* V218 — bốn kiểu hiển thị sản phẩm liên quan và cân dòng tiêu đề. */
body:not(.admin-body) .vtw-related-title-v218{
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
body:not(.admin-body) .vtw-sidebar-related-card-v29 .vtw-related-title-v218.is-medium{
  font-size:.86rem;
  line-height:1.38;
}
body:not(.admin-body) .vtw-sidebar-related-card-v29 .vtw-related-title-v218.is-long{
  font-size:.81rem;
  line-height:1.36;
}
body:not(.admin-body) .vtw-related-bottom-card-v217 .vtw-related-title-v218.is-medium{
  font-size:.86rem;
  line-height:1.38;
}
body:not(.admin-body) .vtw-related-bottom-card-v217 .vtw-related-title-v218.is-long{
  font-size:.81rem;
  line-height:1.35;
}
@media (min-width:1400px){
  body:not(.admin-body) .vtw-related-bottom-grid-v217{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:575.98px){
  body:not(.admin-body) .vtw-related-bottom-card-v217 .vtw-related-title-v218{
    min-height:2.7em;
  }
  body:not(.admin-body) .vtw-related-bottom-card-v217 .vtw-related-title-v218.is-medium,
  body:not(.admin-body) .vtw-related-bottom-card-v217 .vtw-related-title-v218.is-long{
    font-size:.78rem;
    line-height:1.34;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v220.css ===== */
/* V220 — Icon thông báo là liên kết trực tiếp; popup chỉ mở bằng hover/focus trên desktop. */
body:not(.admin-body) .main-navbar .public-notification-btn{
  text-decoration:none!important;
  cursor:pointer;
}

/* ===== Nguồn hợp nhất: theme-public-v221.css ===== */
/* =============================================================
   Themes Văn Thế Web V221
   - Mobile: đổi thứ tự nút nổi, AI ở trên và Zalo/liên hệ ở dưới.
   - Khi bảng liên hệ mở, nút đóng có viền màu quay và nhịp sáng nhẹ.
   ============================================================= */

@media (max-width:767.98px){
  body:not(.admin-body) .vt-ai-widget{
    left:auto!important;
    right:14px!important;
    bottom:calc(132px + env(safe-area-inset-bottom, 0px))!important;
    align-items:flex-end!important;
    z-index:1094!important;
  }

  body:not(.admin-body) .vt-contact-widget{
    left:auto!important;
    right:14px!important;
    bottom:calc(70px + env(safe-area-inset-bottom, 0px))!important;
    align-items:flex-end!important;
    z-index:1093!important;
  }

  body:not(.admin-body) .vt-contact-panel,
  body:not(.admin-body) .vt-ai-panel{
    transform-origin:right bottom!important;
  }
}

/* Trạng thái đóng bảng liên hệ: giữ dấu X rõ, thêm viền vòng chuyển động vừa phải. */
body:not(.admin-body) .vt-contact-widget.is-open .vt-contact-toggle{
  overflow:visible!important;
  border:0!important;
  background:#fff!important;
  box-shadow:
    0 12px 28px rgba(65,143,9,.24),
    0 0 0 1px rgba(65,143,9,.12)!important;
}

body:not(.admin-body) .vt-contact-widget.is-open .vt-contact-toggle::before{
  content:""!important;
  position:absolute!important;
  inset:-4px!important;
  z-index:0!important;
  padding:2px!important;
  border:0!important;
  border-radius:50%!important;
  opacity:1!important;
  background:conic-gradient(
    from 0deg,
    #418f09 0deg,
    #20b56a 82deg,
    #22b7c8 146deg,
    #5d75e8 216deg,
    #f0a026 286deg,
    #418f09 360deg
  )!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  transform:rotate(0deg)!important;
  transform-origin:50% 50%!important;
  animation:vtContactCloseOrbitV221 2.8s linear infinite!important;
  filter:drop-shadow(0 0 3px rgba(65,143,9,.26))!important;
  pointer-events:none!important;
}

body:not(.admin-body) .vt-contact-widget.is-open .vt-contact-toggle::after{
  content:""!important;
  position:absolute!important;
  inset:-7px!important;
  z-index:-1!important;
  border:1.5px solid rgba(65,143,9,.34)!important;
  border-radius:50%!important;
  background:transparent!important;
  opacity:.48!important;
  transform:scale(.96)!important;
  animation:vtContactClosePulseV221 1.75s ease-in-out infinite!important;
  pointer-events:none!important;
}

body:not(.admin-body) .vt-contact-widget.is-open .vt-contact-toggle-ring{
  position:relative!important;
  z-index:2!important;
  background:#fff!important;
  box-shadow:
    inset 0 0 0 1px rgba(65,143,9,.12),
    0 4px 12px rgba(65,143,9,.10)!important;
}

body:not(.admin-body) .vt-contact-widget.is-open .vt-contact-close{
  color:#418f09!important;
  text-shadow:0 1px 7px rgba(65,143,9,.16)!important;
}

@keyframes vtContactCloseOrbitV221{
  to{transform:rotate(360deg)}
}

@keyframes vtContactClosePulseV221{
  0%,100%{transform:scale(.96);opacity:.32}
  50%{transform:scale(1.09);opacity:.62}
}

@media (prefers-reduced-motion:reduce){
  body:not(.admin-body) .vt-contact-widget.is-open .vt-contact-toggle::before{
    animation-duration:5.6s!important;
  }
  body:not(.admin-body) .vt-contact-widget.is-open .vt-contact-toggle::after{
    animation:none!important;
    transform:scale(1)!important;
    opacity:.38!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v222.css ===== */
/* =============================================================
   Themes Văn Thế Web V222
   - Mobile: đặt nút Zalo/liên hệ bên trái nút AI trên cùng một hàng.
   - Giữ khoảng cách an toàn, không che nội dung và không đổi desktop.
   ============================================================= */

@media (max-width:767.98px){
  /* AI nằm ngoài cùng bên phải. */
  body:not(.admin-body) .vt-ai-widget{
    left:auto!important;
    right:14px!important;
    bottom:calc(70px + env(safe-area-inset-bottom, 0px))!important;
    align-items:flex-end!important;
    z-index:1094!important;
  }

  /* Zalo/liên hệ nằm bên trái AI, cùng một hàng và căn giữa theo chiều dọc. */
  body:not(.admin-body) .vt-contact-widget{
    left:auto!important;
    right:82px!important;
    bottom:calc(75px + env(safe-area-inset-bottom, 0px))!important;
    align-items:flex-end!important;
    z-index:1095!important;
  }

  body:not(.admin-body) .vt-contact-panel{
    width:min(300px,calc(100vw - 28px))!important;
    max-width:calc(100vw - 28px)!important;
    transform-origin:right bottom!important;
  }

  body:not(.admin-body) .vt-contact-panel::after{
    right:12px!important;
    left:auto!important;
  }

  body:not(.admin-body) .vt-ai-panel{
    transform-origin:right bottom!important;
  }
}

/* Màn hình rất hẹp: thu khoảng cách vừa đủ nhưng vẫn giữ hai nút tách biệt. */
@media (max-width:374.98px){
  body:not(.admin-body) .vt-ai-widget{
    right:10px!important;
  }

  body:not(.admin-body) .vt-contact-widget{
    right:76px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v224.css ===== */
/* =============================================================
   Themes Văn Thế Web V224
   - Mobile: riêng nút Zalo/liên hệ căn sát lề trái như desktop.
   - Nút AI giữ bên phải; hai nút không che nhau hoặc nội dung.
   ============================================================= */

@media (max-width:767.98px){
  /* Zalo/liên hệ nằm ở lề trái, cùng cao độ với nút AI bên phải. */
  body:not(.admin-body) .vt-contact-widget{
    left:14px!important;
    right:auto!important;
    bottom:calc(75px + env(safe-area-inset-bottom, 0px))!important;
    align-items:flex-start!important;
    z-index:1095!important;
  }

  /* Bảng liên hệ mở từ lề trái và luôn nằm gọn trong màn hình. */
  body:not(.admin-body) .vt-contact-panel{
    width:min(300px,calc(100vw - 28px))!important;
    max-width:calc(100vw - 28px)!important;
    transform-origin:left bottom!important;
  }

  body:not(.admin-body) .vt-contact-panel::after{
    left:12px!important;
    right:auto!important;
  }

  /* AI tiếp tục nằm bên phải, cùng hàng với Zalo/liên hệ. */
  body:not(.admin-body) .vt-ai-widget{
    left:auto!important;
    right:14px!important;
    bottom:calc(70px + env(safe-area-inset-bottom, 0px))!important;
    align-items:flex-end!important;
  }
}

@media (max-width:374.98px){
  body:not(.admin-body) .vt-contact-widget{
    left:10px!important;
  }

  body:not(.admin-body) .vt-ai-widget{
    right:10px!important;
  }
}

/* ===== Nguồn hợp nhất: theme-public-v226.css ===== */
/* =============================================================
   Themes Văn Thế Web V226
   - Mobile: bảng liên hệ đầy đủ như desktop, không còn chỉ hiện icon.
   - Trang chi tiết: Tool AI chỉ có Hướng dẫn; Demo theo đúng dữ liệu.
   - Một nút Hướng dẫn được căn giữa ảnh; hai nút giữ 2 cột đồng đều.
   ============================================================= */

/* Nút media dưới ảnh sản phẩm. */
body:not(.admin-body) .vtw-media-actions-v36.has-two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body:not(.admin-body) .vtw-media-actions-v36.has-one{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
}
body:not(.admin-body) .vtw-media-actions-v36.has-one > a{
  width:min(58%,380px)!important;
  min-width:230px!important;
}

@media (max-width:767.98px){
  /* Khôi phục bảng liên hệ dạng đầy đủ như desktop. */
  body:not(.admin-body) .vt-contact-panel{
    display:block!important;
    width:min(340px,calc(100vw - 28px))!important;
    max-width:calc(100vw - 28px)!important;
    max-height:calc(100dvh - 165px)!important;
    padding:12px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    border:1px solid #dcebd3!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 18px 42px rgba(36,77,19,.18)!important;
    transform-origin:left bottom!important;
  }
  body:not(.admin-body) .vt-contact-panel[hidden]{
    display:none!important;
  }
  body:not(.admin-body) .vt-contact-panel::after{
    display:block!important;
    left:30px!important;
    right:auto!important;
    bottom:-10px!important;
    width:20px!important;
    height:20px!important;
    background:#fff!important;
    border-right:1px solid #dcebd3!important;
    border-bottom:1px solid #dcebd3!important;
  }

  body:not(.admin-body) .vt-contact-item,
  body:not(.admin-body) .vt-contact-item-zalo,
  body:not(.admin-body) .vt-contact-item-messenger,
  body:not(.admin-body) .vt-contact-item-phone,
  body:not(.admin-body) .vt-contact-item-email{
    display:flex!important;
    width:100%!important;
    height:auto!important;
    min-height:66px!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:13px!important;
    padding:7px 8px!important;
    border:0!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body:not(.admin-body) .vt-contact-item:hover,
  body:not(.admin-body) .vt-contact-item:focus-visible{
    background:#f7fbf4!important;
    box-shadow:none!important;
    transform:translateX(2px)!important;
  }

  body:not(.admin-body) .vt-contact-item .vt-contact-item-icon,
  body:not(.admin-body) .vt-contact-item-zalo .vt-contact-item-icon,
  body:not(.admin-body) .vt-contact-item-messenger .vt-contact-item-icon,
  body:not(.admin-body) .vt-contact-item-phone .vt-contact-item-icon,
  body:not(.admin-body) .vt-contact-item-email .vt-contact-item-icon{
    display:flex!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    flex:0 0 52px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:5px!important;
    border-radius:50%!important;
    font-size:23px!important;
    box-shadow:0 5px 14px rgba(15,23,42,.11)!important;
  }
  body:not(.admin-body) .vt-contact-item-phone .vt-contact-item-icon,
  body:not(.admin-body) .vt-contact-item-email .vt-contact-item-icon{
    padding:0!important;
  }
  body:not(.admin-body) .vt-contact-item .vt-contact-item-copy,
  body:not(.admin-body) .vt-contact-item-zalo .vt-contact-item-copy,
  body:not(.admin-body) .vt-contact-item-messenger .vt-contact-item-copy,
  body:not(.admin-body) .vt-contact-item-phone .vt-contact-item-copy,
  body:not(.admin-body) .vt-contact-item-email .vt-contact-item-copy{
    display:flex!important;
    min-width:0!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    gap:2px!important;
    text-align:left!important;
  }
  body:not(.admin-body) .vt-contact-item-copy strong{
    display:block!important;
    font-size:17px!important;
    line-height:1.25!important;
    color:#0b172a!important;
  }
  body:not(.admin-body) .vt-contact-item-copy small{
    display:block!important;
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.35!important;
    color:#64748b!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Mobile vẫn giữ hai nút trên một hàng khi có Demo. */
  body:not(.admin-body) .vtw-media-actions-v36.has-two{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body:not(.admin-body) .vtw-media-actions-v36.has-two > a{
    min-width:0!important;
    padding:10px 7px!important;
    font-size:.86rem!important;
    white-space:nowrap!important;
  }
  body:not(.admin-body) .vtw-media-actions-v36.has-one > a{
    width:min(82%,320px)!important;
    min-width:0!important;
  }
}

@media (max-width:359.98px){
  body:not(.admin-body) .vt-contact-panel{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    padding:10px!important;
  }
  body:not(.admin-body) .vt-contact-item{
    gap:10px!important;
  }
  body:not(.admin-body) .vt-contact-item-copy strong{
    font-size:16px!important;
  }
  body:not(.admin-body) .vtw-media-actions-v36.has-two > a{
    font-size:.78rem!important;
    gap:5px!important;
  }
}

/* ===== Themes Văn Thế Web V228 =====
   Thu gọn chiều cao nhãn danh mục trang chủ trên desktop/laptop.
   Giữ nguyên màu xanh, hai cánh xám và đường kẻ ngang. */
@media (min-width:992px){
  body:not(.admin-body) .vtw-home-category-header-v160{
    height:40px!important;
    margin:24px 0 25px!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160{
    top:-20px!important;
    line-height:44px!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160::before,
  body:not(.admin-body) .vtw-home-category-box-v160::after{
    border-width:0 26px 20px 26px!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160::before{
    left:-39px!important;
  }

  body:not(.admin-body) .vtw-home-category-box-v160::after{
    right:-39px!important;
  }

  body:not(.admin-body) .vtw-home-category-title-v160{
    height:44px!important;
    min-height:44px!important;
    padding:0 26px!important;
    border-bottom-left-radius:19px!important;
    border-bottom-right-radius:19px!important;
    line-height:44px!important;
  }

  body:not(.admin-body) .vtw-home-category-title-v160::before{
    left:-12px!important;
    border-width:0 14px 34px 0!important;
  }

  body:not(.admin-body) .vtw-home-category-title-v160::after{
    right:-12px!important;
    border-width:34px 14px 0 0!important;
  }
}

/* ===== Themes Văn Thế Web V229 =====
   - Đưa đường kẻ ngang xuyên đúng vị trí cánh nhãn như mẫu cũ.
   - Giữ nguyên hình dáng nút Xem tất cả, chỉ đổi sang tông đỏ gradient. */
@media (min-width:992px){
  body:not(.admin-body) .vtw-home-category-header-v160{
    border-top:0!important;
  }

  body:not(.admin-body) .vtw-home-category-header-v160::before{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:1px!important;
    background:#ebe4dd!important;
    z-index:0!important;
    pointer-events:none!important;
  }

  /* .vtw-best-sellers-box-v148 còn margin-top:-25px từ hình học gốc.
     top:9px giúp đường ngang đi qua phần trên của nhãn thay vì nằm dưới đáy. */
  body:not(.admin-body) .vtw-home-category-box-v160{
    top:9px!important;
  }
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159{
  background:#b51224!important;
  box-shadow:
    0 -1px 2px rgba(255,255,255,.08),
    0 -2px 5px rgba(255,255,255,.05),
    0 4px 12px rgba(181,18,36,.20),
    inset 0 0 0 1px rgba(255,255,255,.42)!important;
}

body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159::after{
  background:linear-gradient(135deg,#8f0d1c 0%,#c9182b 48%,#f04b58 100%)!important;
}

@media (hover:hover) and (pointer:fine){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:hover,
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159:focus-visible{
    box-shadow:
      0 8px 22px rgba(181,18,36,.30),
      inset 0 0 0 1px rgba(255,255,255,.58)!important;
  }
}


/* ===== Themes Văn Thế Web V231 =====
   Căn lại nhãn danh mục để hai tam giác xám chạm sát đường kẻ ngang
   như các bản cũ, đồng thời cân lại khoảng cách với nút “Xem tất cả”. */
@media (min-width:992px){
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-header-v160{
    height:44px!important;
    margin:18px 0 24px!important;
    border-top:0!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-header-v160::before{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:1px!important;
    background:#dfe5e1!important;
    z-index:0!important;
    pointer-events:none!important;
  }

  /* margin-top gốc vẫn là -25px; top:5px đưa mép tam giác về sát đường kẻ ngang. */
  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-category-box-v160{
    top:5px!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82{
    margin:0!important;
    padding:18px 0 16px!important;
  }
}


/* ===== Themes Văn Thế Web V236 =====
   Chuẩn hóa định dạng nội dung mô tả sản phẩm theo yêu cầu mới. */
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h1,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h1 *{
  color:#418f09!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:25px!important;
  font-weight:700!important;
  line-height:1.32!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h2,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h2 *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h3,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h3 *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h4,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h4 *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h5,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h5 *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h6,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h6 *{
  color:#418f09!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 p,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 li,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 blockquote,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 td,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 th{
  font-size:17px!important;
  line-height:1.65!important;
}
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 p *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 li *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 blockquote *{
  font-size:inherit!important;
  line-height:inherit!important;
}

body:not(.admin-body) .vtw-tab-content-v20 .vtw-tab-subsection-v20>h2,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-tab-subsection-v20>h2 *{
  color:#418f09!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* Giữ toàn bộ cụm từ đầu đến A‑Z trên cùng một dòng, rồi xuống dòng. */
body:not(.admin-body) .vtw-product-title-v48 .vtw-product-title-lead-v236{
  display:inline-block!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
body:not(.admin-body) .vtw-product-title-v48 .vtw-product-title-break-v236{
  display:block!important;
}


/* ===== Themes Văn Thế Web V238 =====
   Phân cấp đúng nội dung mô tả sản phẩm:
   - H2: tiêu đề nhóm lớn 25px.
   - H3-H6: mục đánh số/tiêu đề con 20px.
   - Nội dung thường: 17px. */
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h2,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h2 *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-tab-subsection-v20>h2,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-tab-subsection-v20>h2 *{
  color:#418f09!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:25px!important;
  font-weight:700!important;
  line-height:1.32!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h3,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h3 *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h4,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h4 *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h5,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h5 *,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h6,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 h6 *{
  color:#418f09!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 p,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 li,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 blockquote,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 td,
body:not(.admin-body) .vtw-tab-content-v20 .vtw-rich-content-exact-v45 th{
  font-size:17px!important;
  line-height:1.65!important;
}


/* ===== Themes Văn Thế Web V241 =====
   Bộ đếm số lượng sản phẩm cạnh từng danh mục trong menu công khai. */
body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .public-category-count-v241{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:34px!important;
  margin-left:auto!important;
  color:#667085!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item:hover .public-category-count-v241,
body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item:focus .public-category-count-v241{
  color:#418f09!important;
}


/* ===== Themes Văn Thế Web V243 =====
   Sắp xếp sản phẩm dùng select gốc của trình duyệt để hoạt động ổn định
   tại mọi danh mục, không phụ thuộc dropdown Bootstrap hoặc menu header. */
body:not(.admin-body) .product-catalog-v6 .catalog-sort-form-v243{
  position:relative!important;
  z-index:20!important;
  flex:0 0 236px!important;
  width:236px!important;
  min-width:236px!important;
  max-width:236px!important;
  margin:0!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-control-v243{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 36px 0 12px!important;
  border:1px solid #cfd8d2!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-label-v243{
  flex:0 0 auto!important;
  margin-right:7px!important;
  color:#111!important;
  font-size:13px!important;
  line-height:1!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-select-v243{
  position:relative!important;
  z-index:2!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#111!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:42px!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-select-v243:focus{
  outline:0!important;
  box-shadow:none!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-control-v243:focus-within{
  border-color:#418f09!important;
  box-shadow:0 0 0 3px rgba(65,143,9,.12)!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-select-v243 option{
  color:#202420!important;
  background:#fff!important;
  font-weight:500!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-arrow-v243{
  position:absolute!important;
  z-index:1!important;
  top:50%!important;
  right:13px!important;
  transform:translateY(-50%)!important;
  color:#27302a!important;
  font-size:12px!important;
  pointer-events:none!important;
}


/* ===== Themes Văn Thế Web V244 =====
   - Tên mục quản trị sản phẩm liên quan rõ nghĩa hơn.
   - Giữ tên danh mục và bộ đếm trên cùng một hàng. */
body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:8px!important;
  white-space:nowrap!important;
}
body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item > span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.admin-body) .main-navbar .public-category-dropdown-v11 .dropdown-item > .public-category-count-v241{
  grid-column:3!important;
  grid-row:1!important;
  min-width:auto!important;
  margin-left:4px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* ===== Themes Văn Thế Web V245 =====
   Khi chỉ có một thông tin ngày/phiên bản, khung không kéo dài toàn hàng. */
body:not(.admin-body) .vtw-detail-info-column-v26 .vtw-source-meta-v20.has-one-v245{
  width:50%!important;
  grid-auto-flow:row!important;
  grid-template-columns:minmax(0,1fr)!important;
}
body:not(.admin-body) .vtw-detail-info-column-v26 .vtw-source-meta-v20.has-one-v245 > *{
  width:100%!important;
}


/* ===== Themes Văn Thế Web V247 =====
   Hover icon giỏ hàng/thông báo dùng nền xanh nhạt; không còn trạng thái
   nền đen bị giữ lại sau khi rời chuột hoặc khi dropdown vừa đóng. */
body:not(.admin-body) .main-navbar .nav-cart-btn,
body:not(.admin-body) .main-navbar .public-notification-btn{
  background:#fff!important;
  border-color:#418f09!important;
  color:#418f09!important;
  filter:none!important;
}
body:not(.admin-body) .main-navbar .nav-cart-btn:hover,
body:not(.admin-body) .main-navbar .nav-cart-btn:focus,
body:not(.admin-body) .main-navbar .nav-cart-btn:focus-visible,
body:not(.admin-body) .main-navbar .nav-cart-btn:active,
body:not(.admin-body) .main-navbar .public-notification-btn:hover,
body:not(.admin-body) .main-navbar .public-notification-btn:focus,
body:not(.admin-body) .main-navbar .public-notification-btn:focus-visible,
body:not(.admin-body) .main-navbar .public-notification-btn:active,
body:not(.admin-body) .main-navbar .public-notification-btn[aria-expanded="true"]{
  background:#eff9e9!important;
  border-color:#418f09!important;
  color:#347507!important;
  box-shadow:0 7px 18px rgba(65,143,9,.16)!important;
  filter:none!important;
}
body:not(.admin-body) .main-navbar .public-notification-btn:not(:hover):not(:focus):not(:focus-visible)[aria-expanded="false"],
body:not(.admin-body) .main-navbar .nav-cart-btn:not(:hover):not(:focus):not(:focus-visible){
  background:#fff!important;
  color:#418f09!important;
  box-shadow:0 4px 12px rgba(65,143,9,.08)!important;
}


/* ===== Themes Văn Thế Web V248 =====
   Đồng bộ tiêu đề khu sản phẩm liên quan cuối trang. */
body:not(.admin-body) .vtw-related-bottom-head-v217 .vtw-related-section-title-v262,
body:not(.admin-body) #vtwRelatedBottomTitleV217{
  margin:0!important;
  color:#418f09!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:25px!important;
  font-weight:700!important;
  line-height:1.3!important;
  text-transform:none!important;
  letter-spacing:0!important;
}

/* ===== Themes Văn Thế Web V262 =====
   Tiêu đề giao diện phụ dùng span thay H2, giữ nguyên bố cục hiển thị. */
.vt-footer-v51 .vt-footer-v51-column .vt-footer-v51-heading,
body:not(.admin-body) .vtw-sidebar-panel-head-v29 .vtw-related-section-title-v262,
body:not(.admin-body) .vtw-related-bottom-head-v217 .vtw-related-section-title-v262{
  display:block;
}

/* V270 — Tool của tôi: đúng 4 nút luôn xếp 2 cột × 2 hàng. */
.account-product-actions-v19.has-four-actions-v270{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 12px!important;
  width:100%!important;
  max-width:360px!important;
  align-items:stretch!important;
  justify-content:start!important;
}
.account-product-actions-v19.has-four-actions-v270>a{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  justify-content:center!important;
  white-space:nowrap!important;
}

/* V272 — Tool của tôi: nút Thao tác nhỏ gọn; 3 nút xếp 2 + 1, 4 nút xếp 2 × 2. */
.account-product-actions-v19.has-three-actions-v272,
.account-product-actions-v19.has-four-actions-v272{
  display:grid!important;
  grid-template-columns:repeat(2,112px)!important;
  gap:7px!important;
  width:auto!important;
  max-width:none!important;
  align-items:stretch!important;
  justify-content:start!important;
}
.account-product-actions-v19.has-three-actions-v272>a,
.account-product-actions-v19.has-four-actions-v272>a{
  width:112px!important;
  min-width:0!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 9px!important;
  flex:none!important;
  justify-content:center!important;
  white-space:nowrap!important;
  font-size:11px!important;
}


/* ===== Themes Văn Thế Web V279 =====
   Desktop: cân đều khoảng cách phía trên và phía dưới nút “Xem tất cả”.
   Loại bỏ phần đệm chồng giữa cuối khu sản phẩm trước và nhãn danh mục kế tiếp. */
@media (min-width:992px){
  body:not(.admin-body) .vtw-home-product-zones-v69 > .vtw-home-product-zone-v69{
    padding-bottom:0!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 > .vtw-home-product-zone-v69 + .vtw-home-product-zone-v69{
    padding-top:0!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 > .vtw-home-product-zone-v69 + .vtw-home-product-zone-v69 > .container > .vtw-home-category-header-v160{
    margin-top:0!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:22px 0!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 .vtw-home-zone-more-v82 a.vtw-home-more-button-v159{
    margin:0 auto!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 > .vtw-home-product-zone-v69:last-child{
    padding-bottom:30px!important;
  }
}

/* ===== V280 — Lịch sử đơn hàng: hiển thị đầy đủ từng sản phẩm, mỗi sản phẩm một dòng. ===== */
body:not(.admin-body) .account-order-products-cell-v19 .account-order-product-list-v280{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body:not(.admin-body) .account-order-products-cell-v19 .account-order-product-list-v280 li{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0 0 0 14px!important;
  color:#1d2921!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.45!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body:not(.admin-body) .account-order-products-cell-v19 .account-order-product-list-v280 li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:#418f09;
  font-weight:800;
}
@media(max-width:991.98px){
  body:not(.admin-body) .account-order-products-cell-v19 .account-order-product-list-v280{
    gap:6px!important;
  }
  body:not(.admin-body) .account-order-products-cell-v19 .account-order-product-list-v280 li{
    font-size:13px!important;
    line-height:1.45!important;
  }
}


/* ===== Themes Văn Thế Web V282 =====
   Desktop: cân bằng khoảng trống nhìn thấy phía trên và phía dưới nút “Xem tất cả”.
   Nhãn danh mục kế tiếp nhô lên 20px, vì vậy cộng bù đúng 20px ở đáy khu nút. */
@media (min-width:992px){
  body:not(.admin-body) .vtw-home-product-zones-v69 > .vtw-home-product-zone-v69:not(:last-child) .vtw-home-zone-more-v82{
    padding:22px 0 42px!important;
  }

  body:not(.admin-body) .vtw-home-product-zones-v69 > .vtw-home-product-zone-v69:last-child .vtw-home-zone-more-v82{
    padding:22px 0!important;
  }
}

/* ===== Themes Văn Thế Web V285 =====
   Bảng sắp xếp tùy chỉnh: cùng chiều rộng với nút mở, không dùng popup select
   mặc định của trình duyệt nên giao diện đồng bộ trên mọi thiết bị. */
body:not(.admin-body) .product-catalog-v6 .catalog-sort-menu-v285{
  position:relative!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-summary-v285{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 38px 0 13px!important;
  border:1px solid #418f09!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#111!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
  list-style:none!important;
  user-select:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-summary-v285::-webkit-details-marker{
  display:none!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-summary-v285::marker{
  content:""!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-summary-v285:hover,
body:not(.admin-body) .product-catalog-v6 .catalog-sort-summary-v285:focus-visible,
body:not(.admin-body) .product-catalog-v6 .catalog-sort-menu-v285[open]>.catalog-sort-summary-v285{
  border-color:#418f09!important;
  background:#fbfef9!important;
  box-shadow:0 0 0 3px rgba(65,143,9,.12)!important;
  outline:0!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-label-v285{
  flex:0 0 auto!important;
  margin-right:8px!important;
  color:#263027!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-value-v285{
  min-width:0!important;
  overflow:hidden!important;
  color:#111!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-arrow-v285{
  position:absolute!important;
  top:50%!important;
  right:14px!important;
  transform:translateY(-50%) rotate(0deg)!important;
  color:#27302a!important;
  font-size:12px!important;
  pointer-events:none!important;
  transition:transform .18s ease!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-menu-v285[open] .catalog-sort-arrow-v285{
  transform:translateY(-50%) rotate(180deg)!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-options-v285{
  position:absolute!important;
  z-index:1200!important;
  top:calc(100% + 7px)!important;
  left:0!important;
  right:0!important;
  display:grid!important;
  gap:3px!important;
  width:100%!important;
  min-width:100%!important;
  margin:0!important;
  padding:6px!important;
  border:1px solid #d6e2d8!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(20,45,25,.16)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-option-v285{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  min-height:38px!important;
  padding:8px 11px!important;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#202420!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.25!important;
  text-align:left!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-option-v285:hover,
body:not(.admin-body) .product-catalog-v6 .catalog-sort-option-v285:focus-visible{
  background:#eef7e9!important;
  color:#2f7607!important;
  outline:0!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-option-v285.is-active{
  background:#418f09!important;
  color:#fff!important;
  font-weight:700!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-option-v285.is-active:hover,
body:not(.admin-body) .product-catalog-v6 .catalog-sort-option-v285.is-active:focus-visible{
  background:#367a08!important;
  color:#fff!important;
}
body:not(.admin-body) .product-catalog-v6 .catalog-sort-option-v285 i{
  flex:0 0 auto!important;
  font-size:14px!important;
}

/* ===== Themes Văn Thế Web V291 =====
   Sản phẩm của tôi: đồng bộ toàn bộ nút trong cột Thao tác theo kích thước
   nhỏ gọn của hàng chỉ có “Mở tool” và “Chi tiết”. */
body:not(.admin-body) .account-products-card-v19 .account-product-actions-v19{
  display:grid!important;
  grid-template-columns:repeat(2,112px)!important;
  gap:7px!important;
  width:auto!important;
  max-width:100%!important;
  align-items:stretch!important;
  justify-content:start!important;
  justify-self:start!important;
}
body:not(.admin-body) .account-products-card-v19 .account-product-actions-v19>a{
  width:112px!important;
  min-width:0!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 9px!important;
  flex:none!important;
  justify-content:center!important;
  white-space:nowrap!important;
  font-size:11px!important;
}


/* V296 — Menu tài khoản desktop mở ổn định khi rê chuột, không mất khi di chuyển xuống bảng. */
@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-lg-block{
    position:relative;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-lg-block::after{
    content:"";
    position:absolute;
    z-index:999;
    top:100%;
    right:0;
    width:max(100%,320px);
    height:12px;
    pointer-events:auto;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-lg-block>.public-user-menu{
    top:calc(100% + 6px)!important;
    z-index:1001!important;
    right:0!important;
    left:auto!important;
    margin-top:0!important;
  }
}

/* V297 — Nút tài khoản không có viền đen; bảng chỉ tồn tại khi con trỏ còn ở nút hoặc trong bảng. */
@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block > .public-avatar-btn,
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block > .public-avatar-btn:hover,
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block > .public-avatar-btn:focus,
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block > .public-avatar-btn:focus-visible,
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block > .public-avatar-btn:active,
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block > .public-avatar-btn.show,
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block > .public-avatar-btn[aria-expanded="true"]{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block:not(:hover) > .public-avatar-btn{
    background:transparent!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block:hover > .public-avatar-btn{
    background:#f1f5f9!important;
  }
}


/* ===== Themes Văn Thế Web V336 =====
   - Menu tài khoản desktop chỉ mở khi rê đúng nút tài khoản.
   - Trang thông báo có nút đánh dấu tất cả đã đọc trên web/mobile. */
@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block::after{
    display:none!important;
    content:none!important;
    pointer-events:none!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block:hover > .public-user-menu:not(.show){
    display:none!important;
  }
  body:not(.admin-body) .main-navbar .public-user-dropdown.d-none.d-lg-block > .public-user-menu.show{
    display:block!important;
  }
}
.profile-notifications-page-v348 .profile-notification-heading-v336{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.profile-notifications-page-v348 .profile-notification-mark-all-v336{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  margin-left:8px;
  padding:8px 13px;
  border:1px solid #bcd4f5;
  border-radius:9px;
  background:#f2f7ff;
  color:#1769d2;
  font-size:13px;
  font-weight:500;
  line-height:1.2;
  white-space:nowrap;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
}
.profile-notifications-page-v348 .profile-notification-mark-all-v336:hover:not(:disabled){
  border-color:#8eb8ef;
  background:#e7f1ff;
  color:#0b58b6;
}
.profile-notifications-page-v348 .profile-notification-mark-all-v336:disabled{
  opacity:.48;
  cursor:default;
}
.profile-notifications-page-v348 .profile-notification-item-v263.is-unread{
  cursor:pointer;
}
.profile-notifications-page-v348 .profile-notification-item-v263.is-marking-read-v336{
  opacity:.82;
}
@media(max-width:991.98px){
  .profile-notifications-page-v348 .profile-notification-heading-v336{
    width:100%;
    align-items:flex-start;
    justify-content:space-between;
  }
  .profile-notifications-page-v348 .profile-notification-mark-all-v336{
    flex:0 0 auto;
    margin-left:auto;
  }
}
@media(max-width:575.98px){
  .profile-notifications-page-v348 .profile-notification-heading-v336{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
  }
  .profile-notifications-page-v348 .profile-notification-mark-all-v336{
    width:100%;
    margin:0;
  }
}

/* ===== Themes Văn Thế Web V380 =====
   Sản phẩm của tôi: thu gọn đồng đều chiều ngang toàn bộ nút thao tác. */
body:not(.admin-body) .account-products-card-v19 .account-product-actions-v19{
  grid-template-columns:repeat(2,104px)!important;
  gap:7px!important;
  width:auto!important;
  max-width:100%!important;
}
body:not(.admin-body) .account-products-card-v19 .account-product-actions-v19>a,
body:not(.admin-body) .account-products-card-v19 .account-product-actions-v19>.account-license-toggle-v369{
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  min-height:34px!important;
  padding:7px 7px!important;
  margin:0!important;
  justify-content:center!important;
  white-space:nowrap!important;
  font-size:11px!important;
  line-height:1.1!important;
}
