@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

@import url('https://fonts.cdnfonts.com/css/source-sans-pro?styles=14484,14489,14486,14490,14491,14485,14483,14482,14488,14487,14493,14492');

@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@import url("./icons.css");

:root {
  /* Overwrite Bootstrap - Màu chính */
  --bs-primary: #1759ca;
  --bs-secondary: #21935C;

  /* Overwrite Bootstrap - Màu phụ */
  --bs-success: #83b828;
  --bs-danger: #ff0000;
  --bs-warning: #ffba30;
  --bs-info: #e2f8ff;
  --bs-light: #f8f9fa;
  --bs-dark: #343a40;
  --bs-orange: #fd781e;
  --bs-light-grey: #E6E6E6;
  --bs-shadow-color: #00000026;
  --bs-dark-blue: #0033a0;
  --bs-light-blue: #a8ddfc;
  --bs-light-blue2: rgba(203, 234, 252, 0.4);
  --bs-linear-color1: #00c7f7;
  --bs-linear-color2: #005aff;
  --bs-linear-color3: #24c4a0;
  --bs-linear-color4: #b0f6be;
  --bs-text-color: #1E1E1E;

  /* Option 1 */
  /* --font-name: 'Source Sans Pro', sans-serif; */
  /* Option 2 */
  --font-name: "Be Vietnam Pro", sans-serif;
  --font-size-mini: 10px;
  --font-size-small: 12px;
  --font-size-normal: 14px;
  --font-size-large: 16px;
  --font-size-big: 18px;

  /* Màu của Theme */
  --theme-primary-1: #2F9C00;
  --theme-primary-2: #71BB00;
  --theme-primary-3: #A3CF6E;
  --theme-secondary-1: #575D56;
  --theme-secondary-2: #262626;
  --theme-secondary-3: #1A1c1b;
  --theme-tertiary-1: #B3B3B3;
  --theme-tertiary-2: #EBFFEE;
  --theme-tertiary-3: #383838;
  --theme-warning-1: #BF6A02;
  --theme-warning-2: #FFF1C2;
  --theme-danger-1: #900B09;
  --theme-neutral: #f3f3f3;
  --theme-white: #fff;
  --theme-black: #000;

  /* Màu nền */
  --bg-normal: #f5f5f5;
  --bg-normal-2: #E6E6E6;
  --bg-linear: linear-gradient(to right, #F6F6F6, #F1FFF2);

  /* Ghi đè Bootstrap 2 */
  --bs-primary: var(--theme-secondary-1);
  --bs-danger: var(--theme-danger-1);

  /* Linear Color */
  --linear-element: linear-gradient(180deg, #589C00 0%, #1E1E1E 85.42%);

  /* Box Shadow */
  --box-shadow-1: 1px 1px 5px #ccc;
}

body {
  font-family: var(--font-name);
  font-size: var(--font-size-normal);
  background: var(--bg-normal);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

p {
  margin-bottom: 0.8em;
}

input,
select {
  border-radius: 5px;
}

.text-dark {
  color: var(--theme-secondary-2) !important;
}

.bg-dark-blue {
  background-color: var(--theme-secondary-1);
}

.text-dark-blue {
  color: var(--bs-dark-blue);
}

.text-light-blue,
.text-light-blue * {
  color: var(--theme-primary-2);
}

.text-light {
  color: var(--bs-light);
}

.form-control:focus {
  box-shadow: none;
  border-color: var(--bs-border-color);
}

input.error,
.form-control.error .custom-input-group>.form-control.error {
  border: 1px solid var(--bs-danger);
  border-right-color: var(--bs-danger) !important;
}

.text-primary {
  color: var(--theme-primary-1) !important;
}

.text-danger {
  color: var(--theme-danger-1) !important;
}

.text-success {
  color: var(--theme-primary-1) !important;
}

.border-primary {
  border-color: var(--theme-secondary-1) !important;
}
.bg-normal{
    background-color: var(--bg-normal)!important;
}
.btn {
  border-radius: 5px !important;
}

.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
  background-color: transparent;
}

.btn-primary {
  --bs-btn-color: var(--theme-white) !important;
  --bs-btn-bg: var(--theme-primary-1);
  --bs-btn-border-color: var(--theme-primary-1);
  --bs-btn-hover-color: var(--theme-primary-2) !important;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: var(--theme-primary-2);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: var(--theme-primary-2) !important;
  --bs-btn-active-bg: var(--theme-primary-1);
  --bs-btn-active-border-color: var(--theme-primary-2);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--theme-secondary-1);
  --bs-btn-disabled-bg: var(--theme-primary-1);
  --bs-btn-disabled-border-color: var(--theme-primary-1);
}

.btn-outline-primary {
  --bs-btn-color: var(--theme-primary-1);
  --bs-btn-border-color: var(--theme-primary-1);
  --bs-btn-hover-color: var(--theme-primary-2) !important;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: var(--theme-primary-2);
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: var(--theme-primary-1);
  --bs-btn-active-bg: transparent;
  --bs-btn-active-border-color: var(--theme-primary-1);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--theme-secondary-1);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--theme-secondary-1);
  --bs-gradient: none;
  border: 2px solid var(--theme-primary-1);
}

.btn-secondary {
  --bs-btn-color: var(--theme-white);
  --bs-btn-bg: var(--theme-primary-2);
  --bs-btn-border-color: var(--theme-primary-2);
  --bs-btn-hover-color: var(--theme-primary-2) !important;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: var(--theme-primary-2);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: var(--theme-primary-2) !important;
  --bs-btn-active-bg: transparent;
  --bs-btn-active-border-color: var(--theme-primary-2);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--theme-secondary-1);
  --bs-btn-disabled-bg: var(--theme-secondary-3);
  --bs-btn-disabled-border-color: var(--theme-secondary-1);
}

.btn-outline-secondary {
  --bs-btn-color: var(--theme-secondary-2);
  --bs-btn-border-color: var(--theme-secondary-2);
  --bs-btn-hover-color: var(--theme-white);
  --bs-btn-hover-bg: var(--theme-secondary-2);
  --bs-btn-hover-border-color: var(--theme-secondary-2);
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: var(--theme-secondary-2);
  --bs-btn-active-bg: var(--theme-secondary-2);
  --bs-btn-active-border-color: var(--theme-secondary-2);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--theme-secondary-2);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--theme-secondary-2);
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: var(--theme-warning-1);
  --bs-btn-bg: var(--theme-warning-2);
  --bs-btn-border-color: var(--theme-warning-1);
  --bs-btn-hover-color: var(--theme-warning-1) !important;
  border: 2px solid var(--theme-warning-1);
}

.btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #424649;
    --bs-btn-hover-border-color: #373b3e;
    --bs-btn-focus-shadow-rgb: 66, 70, 73;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4d5154;
    --bs-btn-active-border-color: #373b3e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #212529;
    --bs-btn-disabled-border-color: #212529;
}

a.btn-secondary:hover,
a.btn-primary:hover {
  color: var(--bs-btn-hover-color) !important;
}

.input-group-text {
  background-color: transparent;
}

.form-check-input:checked {
  background-color: var(--theme-primary-1);
  border-color: var(--theme-primary-1);
}

.nav-link:focus, .nav-link:hover {
  color: var(--theme-primary-1);
}

.bg-theme2 {
  background-color: var(--theme-primary-2);
  color: var(--theme-secondary-2);
}
.bg-primary {
    background-color: var(--theme-primary-1)!important;
}
.bg-tertiary2 {
    background-color: var(--theme-tertiary-2);
}
.btn.disabled{
    opacity: 0.6;
}
/*-------------------- Header ------------------*/
header {
  background-color: var(--theme-primary-1);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
}

header.text-white a {
  color: var(--theme-neutral);
}

header #site-logo {
  height: 100%;
  max-width: 100px;
}

header .input-group {
  width: 328px;
  height: 40px;
}

header .input-group input {
  font-size: 13px;
}

header .search-form .search-suggestions {
  font-size: 13px;
}

header .search-form .search-suggestions .search-price .new {
  font-size: 13px;
  font-weight: normal;
}

header .search-form-mobile {
  margin-top: 10px;
  width: 100%;
}

/* header .search-form-mobile input {
  width: 80% !important;
  height: 100%;
} */

header button.btn {
  width: 40px;
  height: 40px;
  background-color: var(--theme-primary-3);
  padding: 0;
}

header button.btn:hover {
  background-color: var(--theme-primary-2);
}

header input~button.btn {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

header .search-form-mobile {
  display: none;
}

header .search-form-mobile.active {
  display: flex;
}

.icon-listbox {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 25px;
}

.icon-listbox .icon {
  font-size: 1rem;
}

.icon-listbox a {
  display: flex;
  text-decoration: none;
  align-items: center;
  text-align: left;
  transition: all 0.3s;
}

.icon-listbox a:hover * {
  color: var(--theme-white);
  transition: all 0.3s linear;
}

.icon-listbox.big-icon .icon {
  font-size: 2rem;
}

.icon-listbox a span {
  text-transform: capitalize;
  padding-top: 2px;
}

header .icon-listbox.call-center {
  font-size: var(--font-size-mini);
}

.icon-gradient .icon {
  background: linear-gradient(90deg,
      var(--theme-primary-2),
      var(--theme-primary-1));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

header .quick-links {
  display: flex;
  /*justify-content: space-between;*/
  column-gap: 10px;
}

header .quick-links a {
  font-size: var(--font-size-mini);
  text-decoration: none;
  font-style: italic;
  text-transform: lowercase;
}

header .quick-links a:hover {
  text-decoration: underline;
}

.header-nav {
  background-color: var(--theme-secondary-3);
}

header .account-action {
  display: none;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  z-index: 100;
  flex-direction: column;
  background-color: var(--theme-white);
  box-shadow: var(--box-shadow-1);
  border-radius: 5px;
  overflow: hidden;
}

header .icon-listbox li:hover .account-action {
  display: flex;
}

header .account-action svg {
  margin-right: 10px;
}

header .account-action a {
  color: var(--theme-black);
  padding: 8px 10px;
}

header .account-action a:hover {
  background-color: var(--theme-primary-1);
}

header .account-action a:hover svg g {
  fill: var(--theme-white);
}

.main-menu {
  display: flex;
  list-style: none;
  /*justify-content: space-between;*/
  align-items: center;
  line-height: 1rem;
  padding: 0px;
  margin: 0px;
}

.main-menu li.menu-item>a {
  text-decoration: none;
  display: block;
  padding: 10px;
  line-height: 125%;
  position: relative;
  z-index: 10;
}

/* Nếu là phần tử đầu tiên → bỏ padding trái */
.main-menu>li.menu-item:first-child>a {
  /* padding-left: 0; */
}

/* Nếu là phần tử cuối cùng → bỏ padding phải */
.main-menu>li.menu-item:last-child>a {
  /* padding-right: 0; */
}

.main-menu li.menu-item>a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: var(--theme-secondary-2);
  /*background: linear-gradient(*/
  /*  90deg,*/
  /*  var(--bs-linear-color1),*/
  /*  var(--bs-linear-color2)*/
  /*);*/
  opacity: 0;
  z-index: -1;
  transition: all 0.3s ease-in-out;
}

.main-menu li.menu-item.active a::before,
.main-menu li.menu-item.current-menu-item>a::before,
.main-menu li.menu-item>a:hover::before,
.main-menu .custom-submenu .sub-menu li:hover>a::before {
  width: 100%;
  opacity: 1;
}

.main-menu .sub-menu-item {
  display: grid;
  grid-template-rows: 0fr;
  transition: all 0.3s ease-in-out;
  width: 100%;
  position: absolute;
  left: 0;
  z-index: 99999;
  background-color: var(--theme-white);
  color: var(--bs-text-color);
}

.main-menu .custom-submenu {
  display: grid;
  grid-template-rows: 0fr;
  transition: all 0.3s ease-in-out;
  position: absolute;
  background-color: var(--theme-white);
  z-index: 9999;
  box-shadow: 1px 1px 5px #ccc;
  max-width: 400px;
  width: max-content;
}

.main-menu .custom-submenu .sub-menu {
  padding: 0;
}

.main-menu .custom-submenu .sub-menu .custom-submenu {
  /*display: none;*/
  left: 100%;
  top: 0;
}

.main-menu .custom-submenu .sub-menu li {
  background-color: var(--theme-white);
}

.main-menu .custom-submenu .sub-menu li a {
  color: var(--bs-primary);
  transition: all 0.3s ease-in-out;
}

.main-menu .custom-submenu .sub-menu li.current-menu-item>a {
  color: var(--theme-white);
}

.main-menu .custom-submenu .sub-menu li:hover>a {
  color: var(--theme-white);
}

.main-menu .sub-menu-item>div,
.main-menu .custom-submenu>div {
  overflow: hidden;
}

.main-menu li.menu-item:hover .sub-menu-item,
.main-menu li.menu-item:hover>.custom-submenu {
  grid-template-rows: 1fr;
}

.menu-item-has-children>a {
  position: relative;
  /*padding-right: 20px; */
}

.menu-item-has-children>a::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;   /* chỉnh theo kích thước icon thật */
  height: 20px;
  background-image: url("../images/svg/keyboard_arrow_down.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  pointer-events: none;
  filter: brightness(0) invert(1); /* nếu muốn đổi màu trắng */
}

.sub-menu .menu-item-has-children>a::after {
  color: var(--bs-text-color);
  transform: rotate(-90deg);
  top: 25%;
}

.menu-item-has-children:hover>a::after {
  color: var(--theme-white);
}

.breadcrumbs {
  margin: 5px 0;
  opacity: 0.8;
}

.breadcrumbs a {
  text-decoration: none;
  color: var(--bs-body-color)!important;
}

.breadcrumbs a:hover {
  color: var(--theme-primary-1) !important;
}

/****** MEGA Menu ************/
.megamenu-html-block {
  padding: 25px 40px;
    border-bottom: 1px solid #ececec;
}

.megamenu-html-block ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.megamenu-html-block ul li {
  /*margin-left: 15px;*/
  /*margin-bottom: 10px;*/
}

.megamenu-html-block ul.mega-menu-list a {
  padding: 6px 0;
  /*color: unset!important;*/
  text-decoration: none;
  color: var(--bs-primary);
  font-weight: normal;
}

.megamenu-html-block ul.mega-menu-list li.menu-item.current-menu-item>a::before {
  display: none;
}

ul.mega-menu-list a:hover::before {
  display: none;
}

ul.mega-menu-list>li.menu-item {
  width: 19%;
}

ul.mega-menu-list>li.menu-item>a {
  color: var(--theme-primary-1);
  font-weight: bold;
  font-size: 1rem;
  border-bottom: 2px solid var(--theme-primary-3);
  /*padding: 0 0 6px 0;*/
  margin: 0 0 6px 0;
}

ul.mega-menu-list>li.menu-item>a::after {
  display: none;
}

ul.mega-menu-list>li.menu-item>.sub-menu li a:before {
  display: block;
  height: 1px;
  bottom: 0;
  top: unset;
  background-color: var(--theme-primary-1);
  transition: all 0.5s ease-in-out;
}

ul.mega-menu-list>li.menu-item>.sub-menu li a {
  text-transform: capitalize;
  font-size: 1rem;
  font-weight: normal;
}

ul.mega-menu-list {
  gap: 25px;
  display: flex;
  flex-wrap: wrap;
  max-height: 400px;
  overflow-y: auto;
}

ul.mega-menu-list a:hover::before {
  display: none;
}

ul.mega-menu-list>li.menu-item {
  width: 15%;
}

ul.mega-menu-list>li.menu-item>.sub-menu li a:before {
  display: block;
  height: 1px;
  bottom: 0;
  top: unset;
  background-color: var(--theme-primary-1);
  transition: all 0.5s ease-in-out;
}

ul.mega-menu-list>li.menu-item>.sub-menu li a {
  text-transform: capitalize;
  font-size: 13px;
}
.mega-menu .mega-menu-list .toggle-submenu-btn{
    background-color: transparent;
    border:0;
    padding: 0;
    color: var(--theme-primary-1);
}

/*------------ Banner ----------------*/
.main-banner {
  height: auto;
  background-color: var(--theme-secondary-1);
}

.main-banner .carousel-item {
  width: 100%;
  height: 485px;
}

.main-banner .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.main-menu {
  justify-content: space-between;
}

.banner-footer {
  min-height: 50px;
  transform: translateY(-100%);
  position: relative;
  z-index: 20;
  /*overflow: hidden;*/
  display: flex;
  /*padding: 0;*/
}

.banner-footer .swiper {
  margin-right: -15px;
  padding-right: 15px;
  margin-left: -15px;
  padding-left: 15px;
}

.banner-footer div[class^="swiper-button-"] {
  width: 15px;
  font-size: 15px;
  background-color: var(--bs-light-blue);
  height: 100%;
  top: 0;
  margin: 0;
}

.banner-footer .swiper-button-next {
  right: 10px;
}

.banner-footer .swiper-button-prev {
  left: -10px;
}

.banner-footer div[class^="swiper-button-"]::after {
  font-size: 15px;
  font-weight: 900;
}

.info-box {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  border-left: solid 3px var(--theme-primary-2);
  position: relative;
  cursor: pointer;
  background-color: var(--theme-secondary-2);
  z-index: 1;
  width: 100%;
}

.info-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg,
      var(--theme-secondary-1),
      var(--theme-secondary-2));
  opacity: 0;
  z-index: -1;
  transition: all 0.3s ease-in-out;
}

.info-box:hover::before {
  width: 100%;
  opacity: 1;
}

.info-box:nth-of-type(1) {
  border: 0;
}

.info-box .box-icon {
  max-width: 35px;
  min-width: 35px;
  margin-right: 10px;
}

.info-box .box-desc a {
  color: var(--bs-light);
  margin: 0;
  line-height: 1rem;
  font-size: 12px;
  /*display: block;*/
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.info-box .box-desc .lead {
  padding: 0;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 500;
  /*margin-bottom: 3px;*/
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*-------- Features --------*/
.icon-box-wrapper {
  gap: 12px 0px;
  justify-content: center;
  align-items: center;
  background-color: #FFFBEB;
  font-size: var(--font-size-big);
  padding: 32px 40px;
}

.icon-box {
  color: var(--theme-primary-1);
}

.icon-box .icon {
  font-size: 28px;
  margin-bottom: 10px;
}

.icon-box .svg-icon svg {
  /*stroke: var(--theme-white);*/
  fill: var(--theme-primary-1);
}

.icon-box p {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0;
  line-height: 125%;
  margin: 0;
  font-weight: bold;
  text-align: left;
}

.icon-box p span:first-child {
  background: var(--linear-element);
  ;
  -webkit-background-clip: text;
  /* áp background vào text */
  -webkit-text-fill-color: transparent;
  /* làm text trong suốt để thấy background */
  background-clip: text;
  color: transparent;
  /* fallback */
}

.ads-voucher p {
  padding: 0;
  margin: 0;
}

.ads-voucher p.lead {
  font-size: 24px;
  font-weight: 600;
}

.flashSale-wrapper .flashSale-head {
  position: relative;
}

.flashSale-wrapper .flashSale-head img.head-bg {
  object-fit: contain;
  width: 100%;
}

.flashSale-wrapper .flashSale-head .flashSale-head-content {
  display: flex;
  justify-content: space-between;
  padding: 15px 10%;
  transform: translateY(-100%);
  position: absolute;
  width: 100%;
}

.flashSale-wrapper .flashSale-head .flashSale-head-content .box-count-down {
  font-size: var(--font-size-large);
  font-weight: 600;
  color: var(--bs-light);
}

.flashSale-wrapper .flashSale-head .flashSale-head-content .box-count-down span {
  padding: 5px;
  background-color: var(--bs-danger);
  color: var(--bs-light);
  font-size: var(--font-size-big);
  font-weight: 600;
  letter-spacing: 2px;
  border-radius: 5px;
  min-width: 40px;
  display: inline-block;
  text-align: center;
}

.flashSale-wrapper .flashSale-head .flashSale-head-content .event-info {
  font-weight: 500;
  border-radius: 25px;
  padding: 5px 5%;
  line-height: 2em;
}

.flashSale-wrapper .flashSale-head .flashSale-head-content .event-info.current-event {
  background-color: var(--bs-orange);
  color: var(--bs-light);
}

.flashSale-wrapper .flashSale-head .flashSale-head-content .event-info.next-event {
  color: var(--bs-orange);
  background-color: var(--bs-light);
}

.flashSale-wrapper .flashSale-body {
  min-height: 200px;
  background-color: var(--bs-danger);
  /*padding: 10px 40px;*/
}

.flashSale-wrapper .carousel-control-next,
.flashSale-wrapper .carousel-control-prev {
  color: var(--bs-danger);
  font-size: 30px;
  width: auto;
}

.flashSale-wrapper .carousel-control-next {
  transform: translateX(90%);
}

.flashSale-wrapper .carousel-control-prev {
  transform: translateX(-90%);
}

.flashSale-wrapper .carousel-control-icon {
  background-color: var(--theme-white);
  background-image: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flashSale-wrapper .carousel-control-icon i.bi::before {
  vertical-align: 0 !important;
}

.product-list-flashsale {
  padding-bottom: 0 !important;
}

.product-list-flashsale .swiper {
  padding-bottom: 15px;
}

.product-list-flashsale .swiper .swiper-pagination {
  bottom: 0;
}

/* product grid */
.product-grid {
  display: grid;
  grid-template-columns: auto auto auto auto auto;
}

.product-grid.flashSale {
  /*grid-template-columns: auto auto auto auto auto auto;*/
  grid-template-columns: repeat(6, 1fr);
}

/* Product Item */
.product-grid .product-item,
.product-item.swiper-slide {
  position: relative;
  background-color: var(--theme-white);
  opacity: 1;
  transform: translateY(0);
  transition: all 0.3s ease, transform 0.3s ease;
  display: flex;
  border-bottom: 3px solid transparent;
}

.product-grid .product-item:hover,
.product-item.swiper-slide:hover {
  box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
  border-bottom: 3px solid var(--theme-primary-1);
}

.product-item.hidden {
  display: none !important;
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.shadow-item .product-item {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.product-item .text-badge:has(> .badge) {
  display: flex;
  gap: 5px 10px;
}

.product-item .badge.sale-percent,
.product-item .badge.top {
  position: absolute;
  z-index: 99;
    top: 5px;
}

.product-item .badge.top {
  right: 10px;
}

.product-item .badge.text-label {
  text-transform: uppercase;
  font-size: var(--font-size-mini);
  font-weight: 500;
  background-color: var(--bs-primary);
  z-index: 999;
  line-height: 12px;
}
.product-item .badge.free-item {
    text-transform: uppercase;
    font-size: var(--font-size-big);
    font-weight: 500;
    background-color: #fff;
    z-index: 999;
    line-height: 12px;
    color: var(--theme-primary-2);
    right: 5px;
    top:5px;
    padding:5px;
}

.product-item .text-label.giam-gia-manh {
  background-color: var(--bs-danger);
}

.product-item .text-label.gia-moi-sieu-toc {
  background-color: var(--bs-orange);
}

.product-item .text-label.giam-gia-manh::before,
.product-item .text-label.chinh-hang::before {
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-style: normal;
  font-weight: 400 !important;
  font-variant: normal;
  text-transform: none;
  line-height: 12px;
  font-size: 15px;
  vertical-align: -4px;
  margin-right: 3px;
  margin-left: -3px;
}

.product-item .text-label.giam-gia-manh::before {
  content: "\f119";
}

.product-item .text-label.chinh-hang::before {
  content: "\F270";
}

.product-item .text-label.gia-moi-sieu-toc::before {
  content: "\e90a";
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 12px;
  font-size: 15px;
  vertical-align: -3px;
  margin-right: 3px;
  margin-left: -3px;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.product-item .badge.sieu-sale {
  background-color: var(--bs-warning);
  border-radius: 3px !important;
  line-height: 11px;
  padding-left: 3px;
  font-weight: 900;
  font-style: italic;
  letter-spacing: 1px;
}

.product-item .badge.sieu-sale .date {
  background: rgb(228, 0, 0);
  background: linear-gradient(90deg,
      rgba(228, 0, 0, 1) 0%,
      rgba(255, 140, 0, 1) 50%,
      rgba(228, 0, 0, 1) 100%);
  padding: 4px 6px;
  font-size: 11px;
  letter-spacing: 1px;
  border-radius: 3px;
  position: relative;
  /*display: inline-block;*/
}

.product-item .badge.sieu-sale .date::before,
.product-item .badge.sieu-sale .date::after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: -1px;
  width: 4px;
  height: calc(100% - 4px);
  background-color: var(--bs-warning);
  border-radius: 2px;
  -webkit-box-shadow: inset -8px 0px 5px -9px rgb(24, 0, 0);
  -moz-box-shadow: inset -8px 0px 5px -9px rgb(24, 0, 0);
  box-shadow: inset -8px 0px 5px -9px rgb(24, 0, 0);
}

.product-item .badge.sieu-sale .date::after {
  right: -1px;
  left: unset;
  -webkit-box-shadow: inset 8px 0px 5px -9px rgb(24, 0, 0);
  -moz-box-shadow: inset 8px 0px 5px -9px rgb(24, 0, 0);
  box-shadow: inset 8px 0px 5px -9px rgb(24, 0, 0);
}

.product-item .badge.sieu-sale .date i {
  color: yellow;
}

.product-item .badge.san-pham-cao-cap {
  border-radius: 0px !important;
  color: #000;
  font-weight: 900;
  background: linear-gradient(to right,
      #bf953f,
      #fcf6ba,
      #b38728,
      #fbf5b7,
      #aa771c);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 10% 100%);
  padding-left: 20px;
}

.product-item .badge.san-pham-cao-cap::before {
  content: "\e908";
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 12px;
  font-size: 15px;
  vertical-align: -1px;
  margin-right: 3px;
  margin-left: -3px;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.product-item .content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  height: max-content;
  letter-spacing: 1px;
  padding: 12px;
}

.product-grid .product-item .image,
.product-item.swiper-slide .image {
  text-align: center;
  position: relative;
  display: flex;
  align-items: end;
  justify-content: center;
  border: 1px rgba(183, 183, 183, 0.4) dashed;
  width: 100%;
}

.product-item .image a {
  width: 100%;
}

.product-item .image img {
  width: 100%;
  object-fit: contain;
    display: block;
    height: 100%;
  aspect-ratio: 1/1;
}

.product-item .btn.OutStock {
  background-color: var(--theme-secondary-1);
  border-color: var(--theme-secondary-1);
  color: var(--theme-white);
  cursor: not-allowed;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.product-item .image img.image-transitioning {
  animation: fadeIn 0.4s ease-in-out forwards;
}

.product-item .title,
.product-item .title a {
  font-size: 15px;
  font-weight: 600;
  color: #000;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  min-height: 2.2rem;
  text-decoration: none;
  margin: 0;
}

.product-item .price {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 10px;
}

.product-item .price p,
.search-price p {
  margin: 0;
}

.product-item .price .new,
.search-price .new {
  color: var(--theme-primary-1);
  font-weight: bold;
  font-size: var(--font-size-normal);
  letter-spacing: 0px;
}

.single-product-box .price .new{
  font-size: 24px;  
}

.product-item .price .old,
.search-price .old {
  opacity: 0.8;
  font-size: 0.9em;
  text-decoration: line-through;
  color: var(--bs-text-color);
}

.product-item .price .discount {
  font-size: 0.9em;
  background-color: var(--bs-danger);
  padding: 3px 5px;
  color: var(--theme-white);
  border-radius: 30px;
}

.product-item .stock {
  margin-top: 10px;
  background-color: var(--bs-gray-400);
  border-radius: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 10;
  overflow: hidden;
  color: #000;
  font-weight: 600;
}

.product-item .stock::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(var(--stock) * 100 / var(--max-stock) * 1%);
  height: 100%;
  background-color: var(--bs-warning);
  z-index: -1;
}

.product-item .stock .stock-icon {
  color: var(--theme-white);
  display: block;
  width: 18px;
  height: 18px;
  line-height: 18px;
  font-size: 0.9em;
  background-color: var(--bs-danger);
  border-radius: 30px;
  text-align: center;
  position: absolute;
  left: 0;
}

.product-item .buttons {
}

.product-item .buttons .btn {
  padding: 8px 12px;
}

.product-item .buttons .qty-sold {
  font-size: 12px;
}

.product-item .buttons .btn:not(.search-compare) {
  transition: all 0.4s;
  color: var(--theme-white) !important;
}

.product-item .buttons .btn:hover {
  transform: translateY(-1px);

  box-shadow: 1px 1px 3px var(--bs-gray-500);
}

.flashSale .product-item .buttons button {
  width: 100%;
  background-color: var(--theme-white);
  color: var(--bs-text-color);
  border-color: var(--bs-text-color);
  font-weight: 500;
}

.product-grid.flashSale .product-item .price {
  display: block;
}

/*-------------------- Section Box ----------------------*/
section {
  margin-top: 24px;
}

.section-header {
  background-color: transparent !important;
  color: var(--theme-white);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 0;
  border-bottom: 2px solid #1E1E1E;
  margin-bottom: 24px;
}

.section-header .title {
  font-size: 28px;
  font-weight: bold;
  margin: 0;
  text-transform: capitalize;
  position: relative;
  z-index: 1;
  padding: 9px 80px 9px 15px;
  align-content: center;
  background: var(--linear-element);
  clip-path: polygon(0px 0px, calc(100% - 40px) 0px, 100% 102%, 0px 102%)
}

.section-header a {
  display: flex;
  align-items: center;
  color: var(--theme-primary-1);
  font-size: var(--font-size-large);
  font-weight: bold;
  text-decoration: none;
}

.section-header a span {
  padding-right: 4px;
}

.section-header.bg-none {
  background-color: transparent;
  border: 0;
  border-bottom: 0 !important;
}

.section-header.bg-none .title {
  color: var(--theme-secondary-2);
  font-size: 28px;
  padding: 0 !important;
  background: transparent;
  clip-path: none;
}

.section-footer {
  color: var(--bs-primary);
  margin-top: 15px;
  font-size: var(--font-size-normal);
  font-weight: 700;
}
.header-no-bg .section-header {
    border-bottom: 0 !important;
    margin-bottom: 10px !important
}
.header-no-bg .section-header .title {
    color: var(--bs-text-color);
    padding-left: 0!important;
    padding-right: 0!important;
    background: none;
    clip-path: none;
}
.header-no-bg .section-header a {
  color: var(--theme-secondary-1);
}
.header-no-bg .section-header .title::before { display: none; }

/*Slider*/

.product-slider-container {
  position: relative;
  width: 100%;
  margin: auto;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 5px 0px;
}

.product-slider-container .slider {
  width: 100%;
  overflow: hidden;
}

.product-slider-container .slider-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.product-slider-container .slide,
.product-slider-container .swiper-slide {
  /*text-align: center;*/
  /*background: #f2f2f2;*/
  border: 1px solid #ddd;
  margin: 0;
}

.product-slider-container button.slider-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--theme-white);
  color: var(--bs-danger);
  border: none;
  /*padding: 10px 15px;*/
  cursor: pointer;
  z-index: 999;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  font-size: 30px;
  opacity: 0.5;
  transition: all 0.3s linear;
}

.product-slider-container button.slider-control:hover {
  opacity: 1;
}

.product-slider-container button.slider-control i.bi::before {
  vertical-align: 0 !important;
}

.product-slider-container button.slider-control.prev {
  left: 5px;
}

.product-slider-container button.slider-control.next {
  right: 5px;
}

.product-slider-container button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

/*******************   product-list-filter        */
.product-list-filter .category-filter {
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 5px;
  margin: 0;
  padding: 0;
}

.product-list-filter .category-filter li {
  flex-grow: 1;
}

.product-list-filter .category-filter .btn-filter {
  text-decoration: none;
  font-size: var(--font-size-large);
  font-weight: 600;
  color: var(--theme-secondary-2);
  padding: 10px;
  width: 100%;
  display: block;
  text-align: center;
  border: 1px solid var(--bs-gray-200);
  background-color: white;
  transition: all 0.3s ease-in-out;
}

.product-list-filter .category-filter .btn-filter:hover,
.product-list-filter .category-filter .btn-filter.active {
  color: var(--theme-white);
  background-color: var(--theme-secondary-1);
}

/* ADS */
.ads_banner {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}

.ads_banner .ads-item a {
  /*flex-grow: 1;*/
  text-decoration: none;
}

.photo-box {
  display: grid;

  /*gap: 15px;*/
    --gap: 12px;
  /*display: flex;*/
  /*overflow-x: auto;*/
  gap: calc(var(--gap) * 2);
  padding-bottom: 8px;
  /*scroll-snap-type: x proximity;*/
    /*--item-width: calc(100% / var(--items-col) - var(--gap)*2);*/
    grid-template-columns: repeat(var(--items-col), 1fr);
}

.photo-box::-webkit-scrollbar {
  display: block;
  height: 6px;
}

.photo-box .photo-box-item a {
  text-decoration: none;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /*transition: all 0.5s ease-in-out;*/
  width: 100%;
  overflow: hidden;
  height: 100%;
  border: 2px solid transparent;
}

.photo-box .photo-box-item a img {
  object-fit: cover;
  width: 100%;
  transition: all 0.5s ease-in-out;
  height: 100%;
  max-height: 400px;
}

.photo-box .photo-box-item a span {
  position: absolute;
  font-size: 1.2rem;
  text-transform: capitalize;
  font-weight: 600;
  background: var(--bs-text-color);
  color: var(--theme-white);
  padding: 5px 15px;
  /*border-radius: 30px;*/
  bottom: 0;
  transition: all 0.3s ;
  text-align: center;
    width: 100%;
}

.photo-box .photo-box-item a:hover {
  border: 2px solid var(--theme-primary-1);
}

.photo-box .photo-box-item a:hover img {
  /*transform: scale(1.05);*/
}

.photo-box:not(.style-2) .photo-box-item a:hover span {
  /*bottom: 20%;*/
  background: var(--linear-element);
}

.photo-box.style-2 .photo-box-item a {
  flex-direction: column-reverse;
  align-items: flex-start;
  height: auto;
}

.photo-box.style-2 .photo-box-item a span {
  position: relative;
  color: var(--bs-primary);
  background: none;
  font-size: var(--font-size-large);
  font-weight: 700;
  padding-left: 0;
}

/*------------------- Swiper Style -------------------*/
.product-list-filter .swiper {
  position: relative;
  width: 100%;
  margin: auto;
  display: flex;
  align-items: center;
}

.product-list-filter .swiper-wrapper {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.product-item.swiper-slide {
  margin-left: 0;
}

.product-list-filter .swiper-slide {
  opacity: 1;
  transition: all 0.3s ease;
  transform: scale(1);
}

.product-list-filter .swiper-slide:not(.swiper-slide-visible) {
  opacity: 0;
  transform: scale(0.9);
}

/* Nút điều hướng */
.product-list-flashsale .swiper-button-next,
.product-list-flashsale .swiper-button-prev,
.product-list-filter .swiper-button-next,
.product-list-filter .swiper-button-prev,
.swiper .swiper-button-prev, .swiper .swiper-button-next
{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--theme-primary-1);
  border: 2px solid var(--theme-primary-1);
  cursor: pointer;
  z-index: 999;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  font-size: 30px;
  transition: all 0.3s linear;
}

.store-system .swiper-button-next,
.store-system .swiper-button-prev {
  background-color: var(--theme-primary-1);
  color: var(--theme-white);
  transform: unset;
}

.product-list-filter .swiper-button-next:hover,
.swiper-button-prev:hover {
  opacity: 1;
}

.product-list-flashsale .swiper-button-next,
.swiper .swiper-button-next,
.product-list-filter .swiper-button-next {
  right: 5px;
}

.swiper .swiper-button-prev,
.product-list-flashsale .swiper-button-prev,
.product-list-filter .swiper-button-prev {
  left: 5px;
}

.swiper .swiper-button-next::after,
.swiper .swiper-button-prev::after,
.product-list-flashsale .swiper-button-next::after,
.product-list-flashsale .swiper-button-prev::after,
.product-list-filter .swiper-button-next::after,
.product-list-filter .swiper-button-prev::after {
  font-size: var(--font-size-normal);
  font-weight: bold;
}
.swiper .swiper-button-disabled { opacity: 0.2; }

/* Pagination */
.product-list-filter .swiper-pagination {
  text-align: center;
  margin-top: 20px;
  bottom: -15px;
}

.product-list-flashsale .swiper-pagination-bullet,
.product-list-filter .swiper-pagination-bullet {
  width: 5px;
  height: 5px;
  background-color: var(--bs-primary);
  opacity: 0.3;
  border-radius: 50%;
  transition: all 0.3s;
}

.product-list-filter .swiper-pagination-bullet-active {
  background-color: var(--bs-danger);
  opacity: 1;
}

.news-nav,
.link-title {
  background-color: var(--theme-secondary-1);
  border-radius: 10px;
}

.news-nav .nav-item a {
  text-decoration: none;
  color: var(--theme-white);
  font-size: 13px;
  font-weight: 600;
}

.link-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--theme-white);
  /*min-height: 17px;*/
}

.link-title h5 {
  margin: 0;
  font-size: var(--font-size-normal);
  text-transform: uppercase;
  display: block;
  padding: 0.5rem 1rem;
}

.link-title a {
  padding: 0.5rem 1rem;
  color: var(--theme-white);
  font-style: italic;
  font-size: var(--font-size-mini);
}

.blog-post .post-title {
  margin-top: 10px;
  font-size: 1.3em;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

.blog-post .post-desc {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

article .post-item-time {
  font-size: var(--font-size-mini);
  font-style: italic;
  opacity: 0.8;
}

article a {
  color: var(--bs-body-color);
  text-decoration: none;
  margin-bottom: 8px;
}

.post-listing {
  flex: 1;
  gap: 15px;
  display: flex;
  flex-direction: column;
}

.post-listing.simple-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

article.post-item {
  display: flex;
  flex-direction: column;
  flex: 25%;
  gap: 8px;
  background: var(--theme-white);  
  padding: 8px;
}

article.post-item p {
  margin: 0;
}

article .post-item-image {
  width: 40%;
  max-height: 120px;
}

.post-listing.simple-list article .post-item-image {
  width: 30%;
  max-height: 100px;
}

article .post-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

article .post-item-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 5px;
  font-size: 13px;
}

article .post-item-title {
  font-size: var(--font-size-normal);
  font-weight: 600;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0;
}

article .post-item-meta {
  opacity: 0.9;
  margin: 0;
  font-weight: 600;
}

article.post-item .post-item-time {
  font-size: 0.6rem;
}

article .post-item-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.review-posts .post-item:first-child {
  flex-direction: column;
}

.review-posts .post-item:first-child .post-item-image {
  width: 100%;
  max-height: 200px;
}

.review-posts .post-item:first-child .post-item-title {
  font-size: 1.3em;
}

.review-posts .post-item:first-child .post-item-content {
  width: 100%;
}

.review-posts .post-item .post-item-content,
.review-posts .post-item-image {
  width: 50%;
  font-size: 0.8em;
}

/* --------------------- */
.viewed-products:not(.swiper-wrapper) {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.viewed-products .viewed-item {
  /*border: 1px solid var(--bs-gray-300);*/
  /*padding: 10px;*/
  display: flex;
  gap: 12px;
  align-items: center;
  position: relative;
}

.viewed-products .viewed-item .product-image {
  width: 100px;
  height: 60px;
  text-align: center;
}

.viewed-products .viewed-item .product-image img {
  height: 100%;
  width: 100%;
  object-fit: contain;
  font-size: 0px;
}

.viewed-products .viewed-item .product-content {
  padding-right: 20px;
}

.viewed-products .viewed-item .title a {
  font-size: 13px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  color: var(--bs-text-color);
}

.viewed-products .viewed-item .price {
  color: var(--bs-danger);
  font-weight: 800;
  margin-bottom: 0;
}

.viewed-products .viewed-item .remove-viewed-btn {
    position: absolute;
    top: -5px;
    right: 0;
    padding: 0;
    font-size: 1.3rem;
}
.search-tags {
  display: flex;
  flex-wrap: wrap;
}

.search-tags a {
  font-size: var(--font-size-normal);
  font-weight: normal;
  background-color: #e3e3e3;
  color: var(--theme-secondary-2);
  text-decoration: none;
  padding: 8px 12px;
  margin-right: 15px;
  margin-top: 15px;
  transition: all 0.3s;
  text-transform: lowercase;
}

.search-tags a:hover {
  font-style: italic;
  text-decoration: underline;
}

#searchResultsContainer {
  top: 100%;
  width: 100%;
  z-index: 1050;
  display: none;
  font-size: 13px;
  font-weight: normal;
  text-transform: none;
  padding: 10px;
}

#searchResultsContainer .list-group .list-group-item-action.active {
  background-color: #D8D8D8;
  border-color: #b7b7b7;
}

#searchResultsContainer .popular-items li{
 overflow: hidden;
}

#searchResultsContainer .badge {
  font-size: inherit;
  font-weight: normal;
  color: var(--theme-black);
  background: #e3e3e3;
  text-decoration: none;
  display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#searchResultsContainer .badge:hover {
  background-color: var(--theme-secondary-3);
  color: var(--theme-white);
}

/************  Footer ***************/
footer {
  background-color: var(--theme-black);
  color: var(--theme-white);
  padding: 40px;
}

footer .widget-box {
  padding: 0;
}

footer p {
  margin: 0;
}

footer .footer-top {
  height: 44px;
  display: flex;
  margin-bottom: 20px;
}

footer .footer-top .container {
  display: flex;
  align-items: center;
  /*background: no-repeat center right content-box url("../images/footer-bg.png");*/
  gap: 32px;
}

footer .footer-top .hight-light {
  color: var(--theme-primary-2);
}

footer .footer-logo,
footer .footer-logo img {
  height: 100%;
}

footer .footer-logo-2 {
  align-items: center;
  color: var(--theme-primary-3);
  font-size: 22px;
  font-weight: bold;
  height: 100%;
  align-content: center;
  line-height: 1;
}

footer .widget-box .title {
  color: var(--theme-primary-3);
  width: 100%;
}

footer .widget-box .title::after {
  background: var(--theme-secondary-1);
}

footer .footer-widgets:nth-child(even) .widget-box .title {
  color: var(--theme-tertiary-1)
}

footer .footer-widgets .widget-box .widget-body ul li {
  list-style: none;
  position: relative;
  transition: all 0.3s;
}

footer .footer-widgets .widget-box .widget-body ul li::before {
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  line-height: 0;
  top: 40%;
  /*background-color: var(--bs-primary);*/
  box-sizing: border-box;
  border: 1.5px solid var(--bs-primary);
}

footer .footer-widgets .widget-box .widget-body ul li:nth-of-type(2n)::before {
  border-color: var(--bs-danger);
}

footer .footer-widgets .widget-box .widget-body ul li a {
  text-decoration: none;
  color: var(--theme-white);
  transition: all 0.3s ease-in-out;
  display: block;
  font-weight: normal;
  padding: 6px 0;
}

footer .footer-widgets .widget-box .widget-body ul li a:hover {
  color: var(--theme-primary-3);
}

footer .footer-widgets .widget-box .widget-body ul li a span {
  color: var(--theme-primary-3);
}

footer .footer-widgets .widget-box .widget-body img {
  margin-top: 10px;
}

footer .footer-widgets #menu-cong-dong-votcaulongshop {
  display: grid;
  /* điền theo cột trước */
  grid-auto-flow: column;
  /* mỗi cột có 3 hàng */
  grid-template-rows: repeat(3, auto);
}

.footer-btn-hot_line {
  position: fixed;
  right: 5px;
  z-index: 9999999;
  height: 30px;
  width: 160px;
  color: var(--theme-white);
  padding: 3px 0 3px 12px;
  bottom: 10px;
  background: #1D86F3;
  border-radius: 50px;
  color: var(--theme-white);
  text-decoration: none;
}

.footer-btn-hot-line .hotline-no a {
  color: var(--theme-white) !important;
  text-decoration: none;
}

.footer-btn-cart {
  position: fixed;
  left: 5px;
  z-index: 9999999;
  height: 30px;
  width: 160px;
  color: var(--theme-white);
  padding: 3px 0 3px 12px;
  bottom: 10px;
  background: gray;
  border-radius: 50px;
  color: var(--theme-white);
  text-decoration: none;
}

.footer-btn-cart .cart-no a {
  color: var(--theme-white) !important;
  text-decoration: none;
}

.copyright {
  font-size: var(--font-size-normal);
  flex-wrap: wrap;
  margin-top: 20px;
}

/******************** Widget ****************/
#cateSidebarOffcanvas .widget-box{
    background-color: var(--theme-white);
}
.widget-box {
  margin-bottom: 12px;
    padding: 12px;
    gap:12px;
}

.widget-box .title {
  font-size: 1em;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--theme-secondary-1);
  /*background: linear-gradient(*/
  /*  90deg,*/
  /*  var(--theme-secondary-1),*/
  /*  var(--theme-secondary-3)*/
  /*);*/
  /*-webkit-background-clip: text;*/
  /*-webkit-text-fill-color: transparent;*/
  position: relative;
  display: inline-block;
  margin-bottom: 15px;
}

.widget-box .title::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  width: 100%;
  height: 2px;
  /*background-color: var(--bs-linear-color1);*/
  background: linear-gradient(90deg,
      var(--theme-primary-2),
      var(--theme-primary-1));
}

.widget-box .widget-head {
  display: flex;
  justify-content: space-between;

}

.widget-box .widget-head .widget-title,
.widget .widget-title {
  font-size: 16px;
  font-weight: 600;
}

.widget-box .widget-head .widget-title,
.widget .widget-title,
.widget-box .filter-cbox ul {
  padding-left: 2px;
}

.widget-box .widget-control {
  display: flex;
  align-items: center;
}

.widget-box .widget-control button {
  transition: all 0.3s ease-in-out;
  padding: 0 9.5px;
}

.widget-box .widget-control button i {
  display: flex;
  align-items: center;
}

.widget-box .widget-control button[aria-expanded="false"] {
  transform: rotate(180deg);
}

.filter-group .widget-box .widget-body {
  max-height: 185px;
  overflow: hidden;
}

.widget-box .widget-body {
    margin-top: 12px;
}
.widget-body .input-group {
  width: 100%;
}

.widget-body .input-group input {
 border-radius: 50px!important;
  padding-right: 25px;
  font-size: 13px;
}

.widget-body .input-group .input-group-text {
  background: none;
  opacity: 0.6;
  position: absolute;
  border: 0;
  z-index: 5;
  padding: 0;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 0.8;
}

.widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget li a {
  text-decoration: none;
  color: var(--bs-body-color);
  font-weight: 500;
  line-height: 1.8em;
  transition: all 0.3s ease-in-out;
}

.widget li a:hover {
  color: var(--bs-primary);
}

/************ Filter *************/
.filter-group .widget-box .widget-body ul {
  margin: 0;
  padding: 0;
  max-height: 165px;
  min-height: 80px;
  overflow-y: auto;
}

.filter-cbox label {
  cursor: pointer;
}

.filter-cbox ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.filter-cbox ul li {
  margin: 12px 0;
  /*text-transform: uppercase;*/
}

.filter-cbox ul li input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    width: 18px;
    height: 18px;
    border: 1px solid #ccc;
    border-radius: 0px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
    margin-right: 8px;
    background-color: #fff;
    transition: all 0.2s ease;
    top:-1px;
}
.filter-cbox ul li input[type="checkbox"]:checked {
    background-color: var(--theme-primary-1);
    border-color: var(--theme-primary-1);
}

.filter-cbox ul li input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 6px;
    width: 5px;
    height: 10px;
    border: 0 solid white;
    border-right-width: 2px;
    border-bottom-width: 2px;
    transform: rotate(45deg);
}

.filter-cbox ul li:first-child {
  margin-top: 0;
}

.filter-group .widget-box:first-child {
  margin-top: 0 !important;
}

.filter-group .widget-box {
  border-bottom: 1px dotted var(--bs-light-grey);
  padding-bottom: 15px;
}

.filter-group .widget-box:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.filter-with-image-box .filter-title {
  font-weight: 600;
  font-size: 1.5em;
  color: var(--bs-primary);
  margin: 15px 0;
}

.filter-with-image-body ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  justify-content: stretch;
}

.filter-with-image-body ul li.filter-with-image-item {
  list-style: none;
  margin: 0;
  display: flex;
  justify-content: stretch;
}

.filter-with-image-body ul li.filter-with-image-item label {
  padding: 5px;
  border: 1px solid var(--bs-gray-300);
  border-radius: 5px;
  max-width: 90px;
  transition: all 0.3s linear;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  cursor: pointer;
}

.filter-with-image-body ul li.filter-with-image-item:hover label,
.filter-with-image-body ul li.filter-with-image-item input[type="checkbox"]:checked+label {
  box-shadow: 1px 1px 3px var(--bs-linear-color2);
}

.filter-with-image-body ul li.filter-with-image-item label img {
  width: 80px;
  border-radius: 5px;
}

.filter-with-image-body ul li.filter-with-image-item label .title {
  color: var(--bs-primary);
  font-size: 1.1em;
  font-weight: 600;
  margin: 5px 0;
  height: 100%;
  align-items: center;
  display: flex;
  justify-content: center;
}

.filter-with-image-body ul li.filter-with-image-item input {
  display: none;
}

/* Price Filter */
/* Thanh trượt (track) */
#price-max-slider {
    appearance: none;
    width: 100%;
    height: 6px;
    background: #dcdcdc; /* màu nền track */
    border-radius: 6px;
    outline: none;
}

/* Track màu khi đã trượt (Chrome, Edge, Safari) */
#price-max-slider::-webkit-slider-runnable-track {
    height: 6px;
    background: linear-gradient(to right, #00b54a 0%, #00b54a var(--percent), #dcdcdc var(--percent), #dcdcdc 100%);
    border-radius: 6px;
}

/* Track Firefox */
#price-max-slider::-moz-range-track {
    height: 6px;
    background: #dcdcdc;
    border-radius: 6px;
}

/* Thumb (cái núm) – Chrome, Edge, Safari */
#price-max-slider::-webkit-slider-thumb {
    appearance: none;
    width: 18px;
    height: 18px;
    background: #00b54a;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 0 4px rgba(0,0,0,0.3);
    margin-top: -6px; /* chỉnh giữa track */
}

/* Thumb – Firefox */
#price-max-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: #00b54a;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 0 4px rgba(0,0,0,0.3);
}

#price-range-slider {
  height: 12px;
}

#price-range-slider .noUi-connect{
  background: var(--theme-primary-1);
}

#price-range-slider .noUi-handle {
  border-radius: 50px;
  width: 20px;
  height: 20px;
  top: -6px;
  right: -10px;
}

/* Brands Filter*/
.brands {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
  align-items: center;
}

.brands .brand-item label {
  padding: 0px;
  border: 1px solid var(--bs-gray-300);
  height: 40px;
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
  background-color: var(--theme-white);
}

.brands .brand-item label:hover {
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
  cursor: pointer;;
}

.brands .brand-item label:hover::after,
.brands .filter-checkbox:checked + .brand-filter-trigger::after {
    content: "";
    position: absolute;
    inset: 0; /* phủ toàn bộ label */
    border: 3px solid var(--theme-primary-3);
    background-color: var(--theme-primary-1); /* xanh lá trong suốt */
    opacity: .5;
    pointer-events: none;
}

.brands .brand-item img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  padding: 5px;
  max-height: 100%;
}

.brands.brand-slider .swiper-button-next,
.brands.brand-slider .swiper-button-prev {
  height: 50%;
  width: auto;
  aspect-ratio: 1/1;
  top: 80%;
  transform: none;
  background-color: var(--theme-primary-1);
  color: var(--theme-white);
}

.brands.brand-slider .swiper-button-next:after,
.brands.brand-slider .swiper-button-prev:after { 
  font-size: 10px;
}

.bct-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
}

.bct-chung-nhan p:last-child {
  color: var(--theme-tertiary-1);
}

.bct-ko-hang-gia {
  display: none;
}

.logo-ncsc {
  display: none;
}

.protected a {
  text-decoration: none;
  padding-left: 10px;
}

#scroll-to-top {
  position: fixed;
  padding: 0 5px;
  font-weight: 600;
  transition: all 0.3s ease-in-out;
  display: none;
  border-radius: 50% !important;
  background: var(--theme-primary-1);
  bottom: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  color: var(--theme-white);;
  border: 2px solid var(--theme-primary-1);
  font-size: 1.2rem;
  z-index: 1000;
}

#scroll-to-top:hover {
  background-color: transparent;
  color: var(--theme-primary-1);
}

#message-button {
  
}

/*********  category-product-listing   **************************/
.active-filters {
    display: flex;
    align-items: center;
    gap:12px;
    padding: 5px 0;
    /*overflow-x: auto ;*/
    flex-wrap: wrap;
}
.active-filters .clear-all-filters {
    text-decoration: underline;
    line-height: 1;
    white-space: nowrap;
    font-size: 13px;
}
.active-filter-tag.badge{
    background-color: #E6E6E6;
    color: var(--theme-secondary-2);
    font-size: 13px;
    font-weight: normal;
    --bs-badge-border-radius: 50px;
    padding: 8px;
}

.active-filter-tag.badge span{
    color:var(--theme-primary-1);
    font-weight: 600;
}
.category-product-listing {
  min-height: 50vh;
}

.category-product-listing .product-grid {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 10px;
}

.category-product-listing .product-grid .product-item {
  /*border: 1px solid #ddd;*/
}

.product-item .image-variations {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 5px;
  margin: 0;
  padding: 0px;
  position: absolute;
  transform: translateY(-100%);
  opacity: 1;
}

.product-item .image-variations .variation-photo:last-child {
  position: relative;
}

.product-item .image-variations.more-variations .variation-photo:last-child::after {
  content: var(--more-variations, "");
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--bs-light);
  font-weight: 500;
  font-size: 1.5em;
  text-transform: uppercase;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  opacity: 0.8;
}

.product-item .image-variations .variation-photo {
  display: block;
  border: 1px solid var(--bs-gray-200);
  padding: 5px;
  border-radius: 5px;
  cursor: pointer;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: var(--theme-white);
}

.product-item .image-variations .variation-photo:hover img {
  transform: scale(1.2);
}

.product-item .image-variations .variation-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease-in-out;
}

.product-sort-by {
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 15px;
}

.product-sort-by .sort-by-item label.btn-sort-by {
  background-color: var(--theme-white);
  color: var(--theme-secondary-2);
  padding: 5px 15px;
  font-weight: 500;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
  position: relative;
  text-align: center;
    border:1px solid var(--theme-primary-1);
}

.product-sort-by .sort-by-item input[type="radio"] {
  display: none;
}

.product-sort-by .sort-by-item label.btn-sort-by::after {
  /*content: "";*/
  /*position: absolute;*/
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 25px 20px 0;
  border-color: transparent var(--bs-primary) transparent transparent;
  z-index: 1;
  border-top-right-radius: 5px;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

/* Dấu checkmark trong tam giác */
.product-sort-by .sort-by-item label.btn-sort-by::before {
  content: "\F272";
  font-family: bootstrap-icons !important;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: var(--theme-white);
  position: absolute;
  top: 10px;
  left: 5px;
  font-size: 12px;
  /* Kích thước của dấu check */
  z-index: 2;
  font-weight: 600;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.product-sort-by .sort-by-item label.btn-sort-by:hover,
.product-sort-by .sort-by-item input[type="radio"]:checked~label.btn-sort-by {
  background-color: var(--theme-secondary-2);
    color: var(--theme-white);
    border-color: var(--theme-secondary-2);
  cursor: pointer;
}

.product-sort-by .sort-by-item input[type="radio"]:checked~label.btn-sort-by::before,
.product-sort-by .sort-by-item input[type="radio"]:checked~label.btn-sort-by::after {
  opacity: 1;
}
.product-sort-by .sort-by-item input[type="radio"]:checked~label.btn-sort-by{
    padding-left: 25px;
}
.product-pagination-small button {
  padding: 0px;
}

.product-pagination {
  text-align: center;
}

.product-pagination .pagination-btn {
  background-color: var(--bs-gray-200);
  margin: 0 5px;
  font-size: 12px;
  min-width: 35px;
  color: var(--theme-black);
}

.product-pagination .pagination-btn.active {
  border: 0;
  background-color: var(--theme-black);
  cursor: not-allowed;
  color: var(--theme-white);
}

.product-pagination .pagination-btn.disabled {
  border: 0;
}

.product-pagination .pagination-btn.more-pages {
  background: none;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 10px;
  padding: 0;
  margin-right: -5px;
}

.spinner-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 100;
  /*background-color: #9f9f9f;*/
  /*opacity: 0.8;*/
  padding-top: 150px;
  backdrop-filter: blur(4px);
}

#loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(91, 91, 91, 0.8);
  /* Nền mờ */
  /*display: none;*/
  z-index: 9000;
  /* Đảm bảo hiển thị trên cùng */
}

.loading-spinner {
  border: 4px solid var(--theme-neutral);
  /* Màu nền spinner */
  border-top: 4px solid #3498db;
  /* Màu spinner */
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
  /* Hiệu ứng quay */
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.custom-input-group {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.custom-input-group .input-group-text {
  position: absolute;
  display: flex;
  right: 0;
  z-index: 99;
  border: 0;
  background-color: transparent;
  height: 100%;
}

.col-form-label.error label {
  color: var(--bs-danger);
}

.btn:disabled {
  background-color: var(--bs-gray-400);
  border-color: var(--bs-gray-400);
  color: var(--bs-gray-dark);
}


#cateSidebarOffcanvas.offcanvas.offcanvas-start {
  position: static;
  transform: none;
  visibility: visible;
  display: block;
  /* Quan trọng: để col-md-3 có tác dụng */
  width: 25%;
  /* Bootstrap col-md-3 sẽ xử lý chiều rộng */
  border: none;
  /* HTML đã có class border-md-0 cho offcanvas-body */
  z-index: 1000;
}

#cateSidebarOffcanvas.offcanvas.offcanvas-start .offcanvas-body{
  overflow-y: scroll;
  height: 100vh;
  padding-right: 12px !important;
  position: sticky;
  top: 0;
  left: 0;
}

.rateit .rateit-selected {
  color: #FFC700;
}

.favourite-product>* {
  display: inline-block;
  position: relative;
  height: 24px;
  min-width: 16px;
  margin: 3px;
  border-radius: 3.33333px;
  border: 0;
  box-sizing: content-box;
  color: var(--theme-white);
  line-height: 1.5;
  transition: opacity .3s ease;
  vertical-align: middle;
  background-color: transparent;
  color: var(--bs-text-color);
  padding-right: 25px;
}

.favourite-product> ::after {
  display: inline-block;
  position: absolute;
  height: 20px;
  width: 20px;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  content: "";
  vertical-align: bottom;
  right: -25px;
  top: 2px;
}

.favourite-product .favourite-btn {
  padding: 0;
  margin: 0;
}

.favourite-product .favourite-btn:hover {
  opacity: 0.7;
}

.favourite-product .favourite-btn::after {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMiAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNDM2OTYgMUM3Ljk3NTY0IDEuMDAxODYgNy41MjE5NyAxLjExODA2IDcuMTE2NTUgMS4zMzgxOUM2LjcxMTE0IDEuNTU4MzIgNi4zNjY2MiAxLjg3NTUyIDYuMTEzODIgMi4yNjE0MUM1Ljc4MjY3IDEuNzYzODUgNS4zMDA1MiAxLjM4NTc1IDQuNzM4MzUgMS4xODI3OEM0LjE3NjE4IDAuOTc5ODAxIDMuNTYzNyAwLjk2MjY3NSAyLjk5MTA3IDEuMTMzOTJDMi40MTg0NCAxLjMwNTE2IDEuOTE1OTIgMS42NTU3MyAxLjU1NzQ4IDIuMTM0MDFDMS4xOTkwNCAyLjYxMjI5IDEuMDAzNjIgMy4xOTMwMSAxIDMuNzkwNjlDMSA3Ljk3NDI4IDYuMTEzODIgOS4zNjcxOSA2LjExMzgyIDkuMzY3MTlDNi4xMTM4MiA5LjM2NzE5IDExLjIyNzYgNy45NzQyOCAxMS4yMjc2IDMuNzkwNjlDMTEuMjI4MyAzLjQyNDAzIDExLjE1NjUgMy4wNjA4NSAxMS4wMTY1IDIuNzIxOThDMTAuODc2NSAyLjM4MzExIDEwLjY3MSAyLjA3NTIxIDEwLjQxMTcgMS44MTU5NUMxMC4xNTI0IDEuNTU2NjggOS44NDQ1MyAxLjM1MTE0IDkuNTA1NjYgMS4yMTExM0M5LjE2Njc5IDEuMDcxMTEgOC44MDM2MSAwLjk5OTM2MyA4LjQzNjk2IDFaIiBzdHJva2U9IiNGRjU4NjMiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPgo8L3N2Zz4K');
}

.favourite-product .favourite-btn.added::after {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMiAxMCIgZmlsbD0iI0ZGNTg2MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNDM2OTYgMUM3Ljk3NTY0IDEuMDAxODYgNy41MjE5NyAxLjExODA2IDcuMTE2NTUgMS4zMzgxOUM2LjcxMTE0IDEuNTU4MzIgNi4zNjY2MiAxLjg3NTUyIDYuMTEzODIgMi4yNjE0MUM1Ljc4MjY3IDEuNzYzODUgNS4zMDA1MiAxLjM4NTc1IDQuNzM4MzUgMS4xODI3OEM0LjE3NjE4IDAuOTc5ODAxIDMuNTYzNyAwLjk2MjY3NSAyLjk5MTA3IDEuMTMzOTJDMi40MTg0NCAxLjMwNTE2IDEuOTE1OTIgMS42NTU3MyAxLjU1NzQ4IDIuMTM0MDFDMS4xOTkwNCAyLjYxMjI5IDEuMDAzNjIgMy4xOTMwMSAxIDMuNzkwNjlDMSA3Ljk3NDI4IDYuMTEzODIgOS4zNjcxOSA2LjExMzgyIDkuMzY3MTlDNi4xMTM4MiA5LjM2NzE5IDExLjIyNzYgNy45NzQyOCAxMS4yMjc2IDMuNzkwNjlDMTEuMjI4MyAzLjQyNDAzIDExLjE1NjUgMy4wNjA4NSAxMS4wMTY1IDIuNzIxOThDMTAuODc2NSAyLjM4MzExIDEwLjY3MSAyLjA3NTIxIDEwLjQxMTcgMS44MTU5NUMxMC4xNTI0IDEuNTU2NjggOS44NDQ1MyAxLjM1MTE0IDkuNTA1NjYgMS4yMTExM0M5LjE2Njc5IDEuMDcxMTEgOC44MDM2MSAwLjk5OTM2MyA4LjQzNjk2IDFaIiBzdHJva2U9IiNGRjU4NjMiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPgo8L3N2Zz4K');
}

/* Bootstrap Icon */
.bi.bi-box-seam {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url('../images/svg/package.svg') no-repeat center/contain;
  font-size: 0; /* ẩn font icon */
}

.bi.bi-heart {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url('../images/svg/heart.svg') no-repeat center/contain;
  font-size: 0; /* ẩn font icon */
}

/***************** ShareOn ****************************/
.shareon>* {
  width: 24px;
  height: 24px;
  padding: 0;
}

.shareon> ::before {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 24px 24px;
}

.shareon>.messenger,
.shareon>.facebook,
.shareon>.pinterest,
.shareon>.twitter,
.shareon>.copy-url,
.shareon>.zalo,
.shareon>.tiktok {
  background-color: transparent;
}

.shareon>.messenger::before {
  background-image: url('../images/svg/messenger.svg');
}

.shareon>.facebook::before {
  background-image: url('../images/svg/facebook.svg');
}

.shareon>.pinterest::before {
  background-image: url('../images/svg/pinterest.svg');
}

.shareon>.twitter::before {
  background-image: url('../images/svg/x.svg');
}

.shareon>.zalo::before {
  background-image: url('../images/svg/zalo.svg');
}

.shareon>.tiktok::before {
  background-image: url('../images/svg/tiktok.svg');
}

.shareon>.youtube::before {
  background-image: url('../images/svg/youtube.svg');
}

/* Brand Quick Search */
.brand_search {
  position: relative;
}

#quickSearch_brand_results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--theme-white);
  border: 1px solid #ddd;
  border-top: none;
  z-index: 1000;
  display: none;
  max-height: 300px;
  overflow-y: auto;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#quickSearch_brand_results ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#quickSearch_brand_results li {
  border-bottom: 1px solid #eee;
  cursor: pointer;
}

#quickSearch_brand_results li:last-child {
  border-bottom: none;
}

#quickSearch_brand_results li a {
  text-decoration: none;
  color: #333;
  display: block;
  padding: 8px 12px;
}

#quickSearch_brand_results .result-item {
  display: flex;
  align-items: center;
}

#quickSearch_brand_results .result-thumbnail {
  margin-right: 12px;
  flex-shrink: 0;
}

#quickSearch_brand_results .result-thumbnail img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 4px;
}

#quickSearch_brand_results .result-title {
  font-weight: 500;
}

#quickSearch_brand_results li:hover {
  background-color: var(--bg-normal);
}

.shareon>.copy-url::before {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjI0MDcgOC44Mzc1NUM2LjMxMTU5IDguNzY2NjYgNi4zNjc4MiA4LjY4MjUxIDYuNDA2MTkgOC41ODk4OUM2LjQ0NDU2IDguNDk3MjcgNi40NjQzIDguMzk4IDYuNDY0MyA4LjI5Nzc1QzYuNDY0MyA4LjE5NzUgNi40NDQ1NiA4LjA5ODIzIDYuNDA2MTkgOC4wMDU2MUM2LjM2NzgyIDcuOTEyOTkgNi4zMTE1OSA3LjgyODgzIDYuMjQwNyA3Ljc1Nzk1QzYuMDQxNTQgNy41NTg4IDUuODgzNTYgNy4zMjIzNyA1Ljc3NTc3IDcuMDYyMTZDNS42Njc5OSA2LjgwMTk2IDUuNjEyNTIgNi41MjMwNyA1LjYxMjUyIDYuMjQxNDJDNS42MTI1MiA1Ljk1OTc4IDUuNjY3OTkgNS42ODA4OSA1Ljc3NTc3IDUuNDIwNjhDNS44ODM1NiA1LjE2MDQ4IDYuMDQxNTQgNC45MjQwNSA2LjI0MDcgNC43MjQ5TDguODExMzcgMi4xNTQ5NUM5LjAxMDUzIDEuOTU1NzkgOS4yNDY5NiAxLjc5NzgyIDkuNTA3MTYgMS42OTAwNEM5Ljc2NzM3IDEuNTgyMjYgMTAuMDQ2MyAxLjUyNjc4IDEwLjMyNzkgMS41MjY3OEMxMC42MDk1IDEuNTI2NzggMTAuODg4NCAxLjU4MjI2IDExLjE0ODYgMS42OTAwNEMxMS40MDg4IDEuNzk3ODIgMTEuNjQ1MyAxLjk1NTc5IDExLjg0NDQgMi4xNTQ5NUMxMi4wNDM2IDIuMzU0MSAxMi4yMDE2IDIuNTkwNTMgMTIuMzA5MyAyLjg1MDczQzEyLjQxNzEgMy4xMTA5NCAxMi40NzI2IDMuMzg5ODMgMTIuNDcyNiAzLjY3MTQ3QzEyLjQ3MjYgMy45NTMxMiAxMi40MTcxIDQuMjMyIDEyLjMwOTMgNC40OTIyMUMxMi4yMDE2IDQuNzUyNDIgMTIuMDQzNiA0Ljk4ODg0IDExLjg0NDQgNS4xODhMMTEuMDQ5OCA1Ljk4MTg4QzEwLjk3ODkgNi4wNTI3NyAxMC45MjI3IDYuMTM2OTMgMTAuODg0MyA2LjIyOTU0QzEwLjg0NiA2LjMyMjE2IDEwLjgyNjIgNi40MjE0MyAxMC44MjYyIDYuNTIxNjhDMTAuODI2MiA2LjYyMTkzIDEwLjg0NiA2LjcyMTIgMTAuODg0MyA2LjgxMzgyQzEwLjkyMjcgNi45MDY0NCAxMC45Nzg5IDYuOTkwNTkgMTEuMDQ5OCA3LjA2MTQ4QzExLjE5MyA3LjIwNDY0IDExLjM4NzEgNy4yODUwNyAxMS41ODk2IDcuMjg1MDdDMTEuNjg5OSA3LjI4NTA3IDExLjc4OTEgNy4yNjUzMyAxMS44ODE3IDcuMjI2OTZDMTEuOTc0NCA3LjE4ODYgMTIuMDU4NSA3LjEzMjM3IDEyLjEyOTQgNy4wNjE0OEwxMi45MjQgNi4yNjc1OUMxMy42MTI2IDUuNTc5MDYgMTMuOTk5NCA0LjY0NTIxIDEzLjk5OTQgMy42NzE0N0MxMy45OTk0IDIuNjk3NzQgMTMuNjEyNiAxLjc2Mzg4IDEyLjkyNCAxLjA3NTM1QzEyLjIzNTUgMC4zODY4MTUgMTEuMzAxNiAwIDEwLjMyNzkgMEM5LjM1NDE2IDAgOC40MjAzMSAwLjM4NjgxNSA3LjczMTc4IDEuMDc1MzVMNS4xNjExIDMuNjQ1M0M0LjgyMDE2IDMuOTg2MjIgNC41NDk3MSA0LjM5MDk2IDQuMzY1MTkgNC44MzY0QzQuMTgwNjcgNS4yODE4NSA0LjA4NTcgNS43NTkyNyA0LjA4NTcgNi4yNDE0MkM0LjA4NTcgNi43MjM1NyA0LjE4MDY3IDcuMjAxIDQuMzY1MTkgNy42NDY0NEM0LjU0OTcxIDguMDkxODkgNC44MjAxNiA4LjQ5NjYyIDUuMTYxMSA4LjgzNzU1QzUuNDU5MTcgOS4xMzU2MiA1Ljk0MjYzIDkuMTM1NjIgNi4yNDA3IDguODM3NTVaTTcuNzMxMDUgNS4xODhDNy42NjAxNiA1LjI1ODg4IDcuNjAzOTIgNS4zNDMwNCA3LjU2NTU2IDUuNDM1NjZDNy41MjcxOSA1LjUyODI4IDcuNTA3NDQgNS42Mjc1NCA3LjUwNzQ0IDUuNzI3OEM3LjUwNzQ0IDUuODI4MDUgNy41MjcxOSA1LjkyNzMyIDcuNTY1NTYgNi4wMTk5NEM3LjYwMzkyIDYuMTEyNTYgNy42NjAxNiA2LjE5NjcxIDcuNzMxMDUgNi4yNjc1OUM3LjkzMDIxIDYuNDY2NzUgOC4wODgxOSA2LjcwMzE3IDguMTk1OTcgNi45NjMzOEM4LjMwMzc1IDcuMjIzNTkgOC4zNTkyMyA3LjUwMjQ3IDguMzU5MjMgNy43ODQxMkM4LjM1OTIzIDguMDY1NzcgOC4zMDM3NSA4LjM0NDY1IDguMTk1OTcgOC42MDQ4NkM4LjA4ODE5IDguODY1MDcgNy45MzAyMSA5LjEwMTQ5IDcuNzMxMDUgOS4zMDA2NUw1LjE4NjU0IDExLjg0NTFDNC45ODg0NCAxMi4wNDkgNC43NTE4IDEyLjIxMTQgNC40OTAzOCAxMi4zMjI5QzQuMjI4OTYgMTIuNDM0NSAzLjk0Nzk3IDEyLjQ5MyAzLjY2Mzc1IDEyLjQ5NUMzLjM3OTUyIDEyLjQ5NyAzLjA5NzczIDEyLjQ0MjUgMi44MzQ3NiAxMi4zMzQ2QzIuNTcxNzkgMTIuMjI2OCAyLjMzMjg4IDEyLjA2NzcgMi4xMzE5MyAxMS44NjY3QzEuOTMwOTcgMTEuNjY1NyAxLjc3MTk3IDExLjQyNjggMS42NjQxNyAxMS4xNjM4QzEuNTU2MzggMTAuOTAwOCAxLjUwMTkzIDEwLjYxOSAxLjUwNDAxIDEwLjMzNDdDMS41MDYwOCAxMC4wNTA1IDEuNTY0NjMgOS43Njk1NCAxLjY3NjI2IDkuNTA4MTVDMS43ODc4OCA5LjI0Njc1IDEuOTUwMzUgOS4wMTAxNSAyLjE1NDIyIDguODEyMUwyLjg5OTQgOC4wNjY5MkMzLjA0MjU2IDcuOTIzNzYgMy4xMjI5OSA3LjcyOTU5IDMuMTIyOTkgNy41MjcxMkMzLjEyMjk5IDcuMzI0NjYgMy4wNDI1NiA3LjEzMDQ5IDIuODk5NCA2Ljk4NzMzQzIuNzU2MjMgNi44NDQxNiAyLjU2MjA2IDYuNzYzNzMgMi4zNTk2IDYuNzYzNzNDMi4xNTcxMyA2Ljc2MzczIDEuOTYyOTYgNi44NDQxNiAxLjgxOTggNi45ODczM0wxLjA3NTM1IDcuNzMyNUMwLjM4NjgxNSA4LjQyMTA0IDAgOS4zNTQ4OSAwIDEwLjMyODZDMCAxMS4zMDI0IDAuMzg2ODE1IDEyLjIzNjIgMS4wNzUzNSAxMi45MjQ3QzEuNzYzODggMTMuNjEzMyAyLjY5Nzc0IDE0LjAwMDEgMy42NzE0NyAxNC4wMDAxQzQuNjQ1MjEgMTQuMDAwMSA1LjU3OTA2IDEzLjYxMzMgNi4yNjc1OSAxMi45MjQ3TDguODEyMSAxMC4zODAyQzkuMTUzMDQgMTAuMDM5MyA5LjQyMzQ5IDkuNjM0NTkgOS42MDgwMSA5LjE4OTE0QzkuNzkyNTMgOC43NDM3IDkuODg3NSA4LjI2NjI3IDkuODg3NSA3Ljc4NDEyQzkuODg3NSA3LjMwMTk3IDkuNzkyNTMgNi44MjQ1NCA5LjYwODAxIDYuMzc5MUM5LjQyMzQ5IDUuOTMzNjUgOS4xNTMwNCA1LjUyODkyIDguODEyMSA1LjE4OEM4Ljc0MTIyIDUuMTE3MTEgOC42NTcwNiA1LjA2MDg3IDguNTY0NDQgNS4wMjI1QzguNDcxODIgNC45ODQxNCA4LjM3MjU1IDQuOTY0MzkgOC4yNzIzIDQuOTY0MzlDOC4xNzIwNSA0Ljk2NDM5IDguMDcyNzggNC45ODQxNCA3Ljk4MDE2IDUuMDIyNUM3Ljg4NzU0IDUuMDYwODcgNy44MDMzOSA1LjExNzExIDcuNzMyNSA1LjE4OEg3LjczMTA1WiIgZmlsbD0iIzVBNUE1QSIvPgo8L3N2Zz4K');
}

.shareon>.copy-url.done {
  padding: 0 3px;
  background-color: var(--bs-gray-500);
}

#compare-list {
  border-radius: 0;
  border-top: 2px solid var(--theme-primary-1);
  background: var(--theme-white);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, .12);
  padding: 24px 32px;
  flex-wrap: wrap-reverse;
  display: none;
}

#compare-list a.clearall {
  position: absolute;
  right: 0;
  top: -39px;
  padding: 10px;
  border-radius: 8px 8px 0 0;
  color: #000;
  background: var(--theme-white);
  box-shadow: 0 -8px 8px #0000001f;
}

#compare-list ul.listcompare {
  display: inline-flex;
  gap: 24px;
  border: unset;
  margin-bottom: 0;
  padding-left: 0;
  overflow-x: scroll;
}

#compare-list .listcompare li {
  width: 100%;
  padding-top: 0;
  overflow: visible;
  position: relative;
  margin: 0 auto;
  display: flex;
  align-content: center;
}

#compare-list .listcompare a {
  flex-flow: column;
  align-items: center;
  width: unset;
  cursor: pointer;
  display: flex;
  overflow: hidden;
  padding: 10px 0 5px;
  align-content: center;
  width: 296px;
}

#compare-list .listcompare li img,
.product-comparison-image {
  width: 144px;
  aspect-ratio: 1/1;
  margin-bottom: 12px;
  border: 1px solid #D9D9D9;
}

#compare-list .listcompare h3 {
  text-align: center;
  overflow: hidden;
  height: 42px;
  font-size: var(--font-size-normal);
  color: var(--theme-black);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  line-height: 1.5;
}

#compare-list .listcompare span {
  right: 10px;
  top: 10px;
  position: absolute;
  width: 24px;
  height: 24px;
  font-size: 1.3rem;
  cursor: pointer;
  transition: all 0.3s;
}

#compare-list .listcompare span svg:hover {
  transform: scale(1.2);
}

#compare-list .closecompare {
  vertical-align: middle;
  position: relative;
  text-align: center;
}

#compare-list a,
.formsg a {
  text-decoration: none;
}

#compare-list .closecompare a.txtremoveall {
  margin: auto;
  width: unset;
  padding: 0;
  display: block;
  text-align: center;
  border-radius: 10px;
  font-size: var(--font-size-normal);
  color: var(--bs-primary);
  padding-top: 5px;
}

#compare-list .closecompare a.doss.prevent {
  background: var(--bs-primary);
  color: var(--theme-white);
  opacity: 1;
  display: block;
  text-align: center;
  margin: 10px auto;
  width: 50%;
  padding: 12px 0;
  text-decoration: none;
}

#compare-list .closecompare .hide-compare-list-btn{
  color: var(--theme-black);
  margin-bottom: 30px;
  font-weight: bold;
}

#compare-list .listcompare .cp-plus,
.formsg .cp-plus,
.cp-item-col .cp-plus {
  font-size: var(--font-size-normal);
  color: var(--theme-primary-1);
}

#compare-list .listcompare .cp-plus span,
.formsg .cp-plus span,
.cp-item-col .cp-plus span {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 144px;
  height: 144px;
  border: 2px dashed #D9D9D9;
  margin-bottom: 12px;
}

#compare-list .listcompare li.formsg p,
.formsg p {
  display: block;
  font-size: var(--font-size-normal);
  text-align: center;
}

#compare-popup-btn {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 1040;
  border-radius: 50px;
  background: var(--theme-white);
  border: 1px solid #D9D9D9;
  padding: 10px 15px;
  overflow: hidden;
  display: none;
}

.btn.icon-showCompare {
  position: relative;
  padding: 0 0 0 25px;
  color: var(--bs-primary);
  font-weight: 500;
  font-size: var(--font-size-normal);
}

.icon-showCompare::before {
  display: inline-block;
  position: absolute;
  height: 20px;
  width: 20px;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  content: "";
  vertical-align: bottom;
  left: 0;
  background-image: url(../images/svg/bag.svg);
}


.compare-products-page #compare-list,
.compare-products-page #compare-popup-btn {
  display: none !important;
}

#cprPage-product-list {
  display: flex;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--bs-gray-300);

}

#cmpProduct-item {
  width: 75%;
  /*display: flex;*/
  margin: 0;
  padding: 0;
  border-left: 1px solid var(--bs-gray-300);
  /*justify-content: space-between;*/
  /*align-items: stretch;*/
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

#cmpProduct-item>* {
  /*Chọn tất cả các phần tử con trực tiếp*/
  display: flex;
  align-items: center;
  /*căn chỉnh nội dung của item con vào giữa theo chiều dọc*/
}

#cprPage-product-list .checkdiff {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#cprPage-product-list li {
  /*width: 33%;*/
  list-style: none;
  display: flex;
  border-right: 1px solid var(--bs-gray-200);
  padding: 15px 15px;
  padding-right: 25px;
  position: relative;

}

#cprPage-product-list li:last-child {
  border: 0;
}

#cmpProduct-item li img {
  max-width: 50px;
  padding: 5px;
  border: 1px dashed var(--bs-gray-300);
  border-radius: 5px;
  margin-right: 5px;
}

#cmpProduct-item li h3 {
  font-size: var(--font-size-normal);
}

.remove-ic-compare {
  position: absolute;
  right: 10px;
  top: 5px;
  cursor: pointer;
}

#cmpProduct-item .price p {
  margin-bottom: 0;
}

#cmpProduct-item .price .old {
  text-decoration: line-through;
  font-size: 0.7em;
}

#cmpProduct-item .price .new {
  color: var(--bs-danger);
  font-weight: 600;
  font-size: 0.8rem;
}

#cmpProduct-item .sale-title {
  position: absolute;
  top: 5px;
  background-color: var(--bs-danger);
  font-size: 0.65em;
  font-weight: 600;
  color: var(--bs-light);
  letter-spacing: 1px;
  padding: 0 5px;
  border-radius: 25px;
}

#searchProduct_modal .product-grid {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 10px;
}

#searchProduct_modal .product-item .price .old {
  display: none;
}

#siteNotify {
  --bs-toast-max-width: auto;
  min-width: max-content;
  background-color: #fff;
  --bs-toast-font-size: 0.9rem;
  max-width: 700px;
  min-height: 100px;
}

#siteNotify .toast-header {
  background-color: var(--bs-warning);
  color: var(--bs-light);
}

#fullCompare-head {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  padding: 0;
  width: 75%;
  border-left: 1px solid var(--bs-gray-300);
}

.fullCompare-title {
  width: 25%;
  border-left: 1px solid transparent;

}

#fullCompare-head .cp-item-col {
  /*width: 33%;*/
  border-right: 1px solid var(--bs-gray-300);
  padding: 15px;
  position: relative;
}

/*#fullCompare-head .cp-item-col:th{
  border:0;
}*/
#fullCompare-head .cp-item-col img {
  width: 100%;
}

.cp-item-col .price {
  display: flex;
  gap: 10px
}

.cp-item-col .price p {
  margin-bottom: 0;

}

.cp-item-col .price .old {
  text-decoration: line-through;
}

.cp-item-col .price .new {
  color: var(--bs-danger);
  font-weight: 600;
}

.cp-item-col .sale-title {
  background-color: var(--bs-danger);
  color: var(--bs-light);
  position: absolute;
  font-size: 0.8em;
  padding: 0 5px;
  border-radius: 25px;
  font-weight: 600;
  top: 5px;
}

.qty-sold {
  font-size: 0.8em;
}

.cp-item-col .cp-plus {
  text-decoration: none;
  text-align: center;
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.cp-item-col .cp-plus i {
  border: 2px dashed var(--bs-gray-400);
  padding: 15px;
  border-radius: 5px;
}

.compare-attributes-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* 4 cột bằng nhau */
  /*gap: 10px; !* Khoảng cách giữa các cột *!*/
  background-color: white;
}

.compare-attributes-grid .attribute-row {
  display: contents;
  /* Để các phần tử con trở thành phần tử lưới trực tiếp */
}

.compare-attributes-grid .attribute-name,
.compare-attributes-grid .attribute-value {
  padding: 15px;
  border: 1px solid var(--bs-gray-300);
  text-align: left;
  border-bottom: 0;
}

.compare-attributes-grid .attribute-name {
  /*background-color: #f2f2f2;*/
  font-weight: 600;
  font-size: var(--font-size-large);
}

#compareHead-top {
  display: none;
}

.sticky {
  position: sticky;
  top: 0;
  /* Điều chỉnh giá trị này nếu cần */
  z-index: 10;
  /* Đảm bảo #cprPage-product-list nằm trên các phần tử khác */
}

.product-meta-text.sku {
  font-size: 12px;
  font-weight: 500;
  color: var(--bs-gray-600);
}

#activeFilters:empty {
  display: none;
}

.free_items {
  list-style: none;
  margin: 0;
  font-size: 0.7rem;
  background-color: var(--bg-normal);
  padding: 3px;
  margin-bottom: 12px;
}

.free_items .free_item_line .qty {
  font-weight: 600;
  padding-right: 5px;
}

.brands-listing-wrapper {
  width: 100%;
}

.brands-listing {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  margin: 0 auto;
  /*padding: 0 16px;*/
}

.brands-listing .brand-item {
  background: var(--theme-white);
  border-radius: 18px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: box-shadow .2s;
  text-align: center;
  padding: 15px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 180px;
}

.brands-listing .brand-item:hover {
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

.brands-listing .brand-item a {
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  width: 100%;
}

.brands-listing .brand-item img {
  width: 80%;
  height: 90px;
  object-fit: contain;
  margin-bottom: 12px;
  /*background: #f0f0f0;*/
  border-radius: 12px;
  transition: transform .18s;
}

.brands-listing .brand-item:hover img {
  transform: scale(1.06) rotate(-2deg);
}

.brands-listing .brand-item h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  margin-top: 8px;
  color: #222;
  line-height: 1.28;
  letter-spacing: .01em;
  text-align: center;
  word-break: break-word;
  min-height: 2.6em;
}

/****** product-comparison ****************/

#quickCompare_modal .modal-dialog {
  max-width: 80vw;
}

#product-comparison-container {
  width: 100%;
  --cell-border-color: #dee2e6;
  margin-bottom: 15px;
}

/* Loading state */
#comparison-loading {
  text-align: center;
  padding: 40px;
  font-size: var(--font-size-large);
  color: #666;
}

/* Table wrapper */
.comparison-table-wrapper {
  overflow-x: auto;
  /*box-shadow: 0 2px 8px rgba(0,0,0,0.1);*/
  /*border-radius: 8px;*/
  background: white;
}

.comparison-table-wrapper .product-header-content {
  padding: 0;
}

.comparison-table-wrapper .product-image {
  margin: 0;
}

/* Main comparison table */
.product-comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-normal);
  color: var(--theme-secondary-2);
  line-height: 1.5;
  table-layout: fixed;
}

/* Header styles */
.product-comparison-table thead th {
  padding: 0;
  vertical-align: top;
  font-weight: 600;
  border-top: 0px;
}

.product-comparison-table thead th .cp-item-col {
  min-height: 200px;
  display: flex;
  justify-content: center;
}

.product-comparison-table .product-header {
  min-width: 250px;
  text-align: center;
}

.product-comparison-table .product-header-content {
  padding: 15px;
  position: relative;
}

.product-comparison-table .product-image img {
  margin-bottom: 20px;
}

.no-image {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f9fa;
  border: 1px solid var(--cell-border-color);
  border-radius: 4px;
  font-size: 12px;
  color: #6c757d;
  margin: 0 auto;
}

.product-price {
  font-size: var(--font-size-normal);
  margin-bottom: 5px;
  color: var(--bs-danger);
  line-height: 1.3;
}

.product-name {
  font-weight: 600;
  font-size: var(--font-size-normal);
  margin-bottom: 5px;
  color: #212529;
  line-height: 1.3;
}

.product-code {
  font-size: 12px;
  color: #6c757d;
  font-family: monospace;
  margin-bottom: 3px;
}

.product-brand {
  font-size: 12px;
  color: var(--bs-primary);
  font-weight: 500;
  text-transform: uppercase;
}

/* Remove product button */
.remove-product-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 24px;
  height: 24px;
  border: none;
  color: white;
  border-radius: 50%;
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  padding-bottom: 7px;
}

.remove-product-btn:hover {
  transform: scale(1.1);
}

.product-comparison-table .product-header-content .product-rating {
  font-size: 0.8rem;
  font-weight: normal;
}

.product-comparison-table .product-header-content .product-rating .average-rating-stars {
  font-size: 0.8rem;
}

/* Body styles */
.product-comparison-table tbody tr {
  border-bottom: 1px solid var(--cell-border-color);
}

.product-comparison-table tbody tr:hover td {
  background-color: #eeeeee6e;
}

.product-comparison-table td {
  border: 1px solid var(--cell-border-color);
  padding: 12px 15px;
  vertical-align: top;
}

.product-comparison-table td:first-child {
  /* position: sticky;
  z-index: 5;
  left: 0; */
}

/* Field name column */
.product-comparison-table .field-name {
  font-weight: 600;
  width: max-content;
  left: 0;
  z-index: 5;
  border-right: 2px solid var(--cell-border-color);
  background-color: var(--theme-tertiary-2);
  white-space: nowrap;
}

/* Field value column */
.product-comparison-table .field-value {
  border-width: 1px;
}

/* Section headers */
.product-comparison-table .section-header-row {
  background-color: #ececec;
  border: 1px solid var(--cell-border-color);
}

.product-comparison-table .section-header-row td {
  /*background: #007bff;*/
  font-weight: bold;
  text-align: left;
  padding: 10px;
  font-size: var(--font-size-large);
  border: none;
  text-transform: uppercase;
  position: sticky;
}

/* Attribute values */
.attribute-values {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.attribute-tag {
  display: inline-block;
  background: #e9ecef;
  color: #495057;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid var(--cell-border-color);
  height: fit-content;
}

/* Highlight differences */
.has-differences {
  position: relative;
}

.has-differences::before {
  /*content: '';*/
  /*position: absolute;*/
  /*left: 0;*/
  /*top: 0;*/
  /*bottom: 0;*/
  /*width: 3px;*/
  /*background: #ffc107;*/
}

.has-differences .field-name {
  /*background: var(--theme-white)3cd;*/
  /*border-color: #ffeaa7;*/
}

/* Error state */
.comparison-error {
  text-align: center;
  padding: 40px;
  color: #dc3545;
  font-size: var(--font-size-large);
}

.wpcf7-form {
  font-size: 1rem;
}

.wpcf7-form label {
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.wpcf7-form br {
  display: block;
  margin: 5px;
}

.wpcf7-form .wpcf7-not-valid-tip {
  font-size: 0.8rem;
}

.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-form .wpcf7-text {
  border-radius: 5px;
  padding: 5px 10px;
  border: 1px solid #bbb;
  max-width: 600px;
  width: 100%;
}

.wpcf7-form .wpcf7-text:active,
.wpcf7-form .wpcf7-text:focus {
  border-color: var(--theme-primary-1);
  outline: none;
}

.main-banner {
  height: auto;
}

.main-banner .swiper .swiper-button-prev,
.main-banner .swiper .swiper-button-next {
  color: var(--theme-white);
  border: none;
  background-color: var(--theme-primary-1);
}

.swiper-pagination-bullet {
  background-color: var(--theme-white);
}

.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--theme-primary-1);
  opacity: 1;
}

.main-menu {
  justify-content: space-between;
}

textarea {
  width: 100%;
  border-radius: 5px;
}

#review_form_wrapper {
  margin-top: 0px !important;
}

.vcl-icon-bell {
  display: none;
}

.main-banner .carousel-item {
  height: auto;
  max-height: 80vh;
}

._chatButton_1vho3_1 {
  animation: phone-vr-circle-fill 1s infinite ease-in-out;
}

._chatButton_1vho3_1._bottomRight_1vho3_25 {
  bottom: 84px;
  right: 24px !important;
  width: 48px;
  height: 48px;
  padding: 0;
}

._brandLogo_1vho3_45 {
 	width: 100%;
	height: 100%;
}

.quickcontact-icons {
  bottom: 144px !important;
}

.quickcontact-icons .icon-list li:hover span:not(#quick-cart-counter) {
	background: var(--theme-tertiary-2) !important;
}

.quickcontact-icons .icon-list #quick-cart-button {
  position: relative;
}

.quickcontact-icons .icon-list #quick-cart-button #quick-cart-counter {
  position: absolute;
  top: -4px;
  left: -4px;
  z-index: 1001;
  background-color: var(--theme-secondary-2);
  color: var(--theme-white);
  border-radius: 50px;
  min-width: 20px;
  padding: 1px 6px;
  text-align: center;
  font-size: var(--font-size-mini);
  font-weight: bold;
}

.menu-item-has-children>a::after {
  font-size: 12px;
}

.ads_banner {
  display: none;
}

.post-listing.simple-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.photo-box-item article .post-item-image {
  width: 100%;
  max-height: inherit;
}

.news .photo-box-item article .post-item-content {
  -webkit-box-flex: 1;
  flex-grow: 1;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  position: relative;
  margin-bottom: 20px;
}

.news .photo-box-item article .post-item-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid #ededed;
}

.news .photo-box-item article .post-item-time {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.news .photo-box-item article .post-item-time::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #83b828;
  top: 50%;
  left: 0;
  right: 0;
  bottom: 50%;
  z-index: 0;
}

.news .photo-box-item article .post-item-time span {
  font-size: 13px;
  padding: 2px 5px;
  border-radius: 15px;
  background-color: #83b828;
  color: var(--theme-white);
  font-style: normal;
  z-index: 2;
}

.news-categories .search-form {
  width: 300px;
}

.news-right article.card{
    display:flex;
    flex-direction:row;
    margin-bottom: 14px;
}
.news-right article.card:last-child {
    margin-bottom:0;
}

.news-right article.card .thumb-square {
  min-width: 150px;
}

.product-grid .product-item .image,
.product-item.swiper-slide .image {
  border: none;
}

.category-tin-tuc .widget_categories ul {
  height: 300px;
  overflow-y: scroll;
}

.wpcf7-form .wpcf7-submit {
  background-color: #61c169;
}

#productTabs-content #review h6 {
  margin-bottom: 0px !important;
}

#cateSidebarOffcanvas .filter-cbox ul {
  max-height: 200px;
  overflow-y: scroll;
}

input,
select {
  border-radius: 5px;
}

.main-menu {
  justify-content: space-between;
}

textarea {
  width: 100%;
  border-radius: 5px;
}

#review_form_wrapper {
  margin-top: 0px !important;
}

.vcl-icon-bell {
  display: none;
}

.main-banner .carousel-item {
  height: auto;
  max-height: 80vh;
}

._chatButton_1vho3_1 {
  animation: phone-vr-circle-fill 1s infinite ease-in-out;
}

.menu-item-has-children>a::after {
  font-size: 12px;
}

.mobileNav {
  
}

.mobileNav .submenu-open>a::after {
  color: var(--theme-white);
}

.dropdown-toggle {
  white-space: wrap;
}

.ads_banner {
  display: none;
}

.post-listing.simple-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.photo-box-item article .post-item-image {
  width: 100%;
  max-height: inherit;
}

.photo-box-item article .post-item-content {
  -webkit-box-flex: 1;
  flex-grow: 1;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  position: relative;
  margin-bottom: 10px;
  padding: 0 8px;
}

.news .photo-box-item article .post-item-time {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.news .photo-box-item article .post-item-time::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #83b828;
  top: 50%;
  left: 0;
  right: 0;
  bottom: 50%;
  z-index: 0;
}

.news .photo-box-item article .post-item-time span {
  font-size: 13px;
  padding: 2px 5px;
  border-radius: 15px;
  background-color: #83b828;
  color: var(--theme-white);
  font-style: normal;
  z-index: 2;
}

.footer-btn-hot_line {
  position: fixed;
  right: 5px;
  z-index: 1000;
  height: 30px;
  width: 160px;
  color: var(--theme-white);
  padding: 3px 0 3px 12px;
  bottom: 10px;
  background: #1D86F3;
  border-radius: 50px;
  color: var(--theme-white);
  text-decoration: none;
}

.footer-btn-hot-line .hotline-no a {
  color: var(--theme-white) !important;
  text-decoration: none;
}

.footer-btn-cart {
  position: fixed;
  left: 5px;
  z-index: 1000;
  height: 30px;
  width: 160px;
  color: var(--theme-white);
  padding: 3px 0 3px 12px;
  bottom: 10px;
  background: gray;
  border-radius: 50px;
  color: var(--theme-white);
  text-decoration: none;
}

.footer-btn-cart .cart-no a {
  color: var(--theme-white) !important;
  text-decoration: none;
}

.product-grid .product-item .image,
.product-item.swiper-slide .image {
  border: none;
}

.category-tin-tuc .widget_categories ul,
.category-huong-dan .widget_categories ul {
  height: 300px;
  overflow-y: scroll;
}

.category-tin-tuc .widget_categories ul {
  height: 300px;
  overflow-y: scroll;
}

.wpcf7-form .wpcf7-submit {
  background-color: var(--theme-primary-1);
    color:var(--theme-white);
}
.wpcf7-form .wpcf7-submit:hover{
    background-color: var(--theme-white);
    color: var(--theme-primary-1);
}
#productTabs-content #review h6 {
  margin-bottom: 0px !important;
}

#cateSidebarOffcanvas .filter-cbox ul {
  max-height: 200px;
  overflow-y: scroll;
}

.mega-menu-list.collapsed li:nth-child(n+6) {
    display: none;
}

.toggle-submenu-btn {
    margin-top: 6px;
    background: transparent;
    border: none;
    color: var(--theme-primary-1);
    /*font-size: 13px;*/
    cursor: pointer;
    padding: 0;
}

.toggle-submenu-btn:hover {
    text-decoration: underline;
}
.news-search .search-form * {
    font-size: 13px;
}
.news-search .search-form input.search-field {
    border-radius: 50px!important;
    padding-right: 35px;
    color: var(--theme-secondary-1);
}
.news-search .search-form button[type="submit"] {
    border:0;
    background: none;
    position: absolute;
    right: 0;
    z-index: 20;
}


.news-categories .input-group {
  background-color: var(--theme-white);
  padding: 12px 20px;
  border: 1px solid #D9D9D9;
  border-radius: 100px;
}

.news-categories .form-control {
  border: none;
  padding: 0;
  font-size: var(--font-size-normal);
}

.news-categories .input-group .btn {
  padding: 0 0 0 8px;
  border: none;
}

.news-categories .input-group .btn:hover,
.news-categories .input-group .btn:focus {
  color: var(--theme-black);
  border: none;
}

.news-detail .section-header .title {
  font-size: 26px;
}

.news-detail .post-content {
  font-size: var(--font-size-normal);
  line-height: 2.3;
}

.modal-compare .modal-header {
  border-bottom: 0;
  padding: 0;
  margin-bottom: 20px;
}

.modal-compare .section-header {
  margin-bottom: 0;
  border-bottom: 0;
}

.modal-compare .modal-title {
  color: var(--theme-black);
  font-weight: bold;
  font-size: var(--font-size-big);
}

.modal-compare .modal-body {
  padding: 0;
}

.modal-dialog-scrollable .modal-content {
  padding: 24px;
}

.offcanvas-title {
  margin-bottom: 0 !important;
}

#message-modal {
  position: fixed;
  right: 24px;
  bottom: 96px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  z-index: 1001;
  display: flex;              /* luôn flex để giữ layout */
  opacity: 0;                 /* ẩn bằng opacity */
  visibility: hidden;         /* không cho tab focus */
  pointer-events: none;       /* ko cho click xuyên qua */
  transition: opacity 0.3s ease;
}

#message-modal.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

#message-modal .message-modal-close-button {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: var(--theme-white);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #D9D9D9;
  cursor: pointer;
}

#message-modal .message-modal-close-button:hover {
  background-color: var(--theme-tertiary-2);
}

#message-modal .message-modal-items {
  display: flex;
  flex-direction: column;
  background-color: var(--theme-white);
  padding: 6px;
  border-radius: 12px;
  min-width: 184px;
  box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
}

#message-modal .message-modal-items .item {
  padding: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--theme-black);
}

#message-modal .message-modal-items .item:hover {
  background-color: var(--theme-tertiary-2);
}

#message-modal .message-modal-items .messenger .icon {
  background: url('../images/contact/messenger.png') no-repeat center/cover;
  width: 24px;
  height: 24px;
}

#message-modal .message-modal-items .zalo .icon {
  background: url('../images/contact/zalo.png') no-repeat center/cover;
  width: 24px;
  height: 24px;
}

#message-modal .message-modal-items .phone .icon {
  background: url('../images/contact/phone.png') no-repeat center/cover;
  width: 24px;
  height: 24px;
}
.modal-dialog {
    max-width: 1200px;
}