@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
* {
  margin: 0;
  padding: 0;
  outline: none;
  text-decoration: none;
  list-style-position: inside;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="submit"],
button {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
a {
  color: #ef3340;
  text-decoration: none !important;
  outline: none !important;
}
a:hover {
  color: #c7000e;
}
a img {
  border: none;
}
.clr {
  clear: both;
}
.fleft {
  float: left;
}
.fright {
  float: right;
}
.view-menu,
.view-sub-menu {
  display: none;
}
::-webkit-input-placeholder {
  color: #555 !important;
}
::-moz-placeholder {
  color: #555 !important;
}
:-ms-input-placeholder {
  color: #555 !important;
}
input:-moz-placeholder {
  color: #555 !important;
}
.button {
  background: #ef3340;
  color: #fff !important;
  text-align: center;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  cursor: pointer;
}
.button:hover {
  background: #c7000e;
}
.zing-content img {
  max-width: 100%;
  height: auto;
}
.zing-content iframe {
  max-width: 100% !important;
}
.zing-content table {
  width: 100%;
  margin: 0 0 15px 0;
}
.zing-content td {
  padding: 6px 10px;
  border: 1px solid #ddd;
}
.zing-content ul li ul,
.zing-content ol li ol {
  padding-left: 25px;
}
.zing-required {
  font-weight: bold;
  color: red;
}
.zing-select select {
  padding-right: 35px !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.zing-select select::-ms-expand {
  display: none;
}
.zing-select {
  position: relative;
}
.zing-select:after {
  content: "\f078";
  font-family: Font Awesome\5 Free;
  font-size: 11px;
  font-weight: 900;
  color: #555;
  line-height: 0;
  position: absolute;
  top: 50%;
  right: 10px;
}
.mark {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.5);
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.contact-success {
  width: 100%;
  margin-bottom: 10px;
  font-weight: bold;
  color: green;
}
.contact-error {
  width: 100%;
  margin-bottom: 10px;
  font-weight: bold;
  color: red;
}
.media-box {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  position: relative;
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
}
.media-image {
  margin-right: 10px;
}
.media-content {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
body {
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  color: #333;
  overflow-x: hidden;
}
body p {
  margin-bottom: 15px;
  line-height: 1.5;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 15px 0;
  line-height: 1.3;
}
.owl-theme .owl-controls {
  margin: 0;
  line-height: 0;
}
/* breadcrumb */
.breadcrumb-box {
  background: #f6f6f6;
}
.breadcrumb-box ul {
  float: left;
  margin: 0;
  padding: 10px 15px 10px 25px;
  background: url(../images/icon-home.png) no-repeat left top 15px;
}
.breadcrumb-box li {
  float: left;
}
.breadcrumb-box li a {
  font-size: 13px;
  color: #767676;
  text-decoration: none;
}
.breadcrumb-box li a:after {
  content: " ";
  width: 7px;
  height: 7px;
  display: inline-block;
  margin: 0px 7px;
  background: url(../images/next-bcrum.png) no-repeat 0px 0px;
}
.breadcrumb-box li:last-child a:after {
  display: none;
}
.breadcrumb > li + li:before {
  display: none;
}
/* end breadcrumb */
/* pagination */
.product-pagination {
  text-align: center;
}
.product-pagination .pagination {
  float: none;
  display: inline-block;
}
.pagination {
  float: right;
  margin: 0;
}
.pagination a,
.pagination span {
  min-width: 40px;
  height: 40px;
  float: left;
  margin-left: 2px;
  padding: 0px 9px;
  background: #e5e5e5;
  font-size: 18px;
  color: #333;
  text-align: center;
  line-height: 40px;
  cursor: pointer;
}
.pagination .first,
.pagination .last {
  font-size: 30px;
  line-height: 35px;
}
.pagination a:hover {
  background: #ff1d00;
  color: #fff;
}
.pagination span {
  background: #ff1d00;
  color: #fff;
}
/* end pagination */
/* search suggets */
.suggest-box {
  float: left;
  display: none;
  position: absolute;
  top: 44px;
  right: 0;
  z-index: 9999;
  clear: both;
  background-color: #eee;
}
.suggest-item {
  width: 350px;
  float: left;
  padding: 10px;
  border-bottom: dashed 1px #ccc;
  clear: both;
  box-sizing: border-box;
}
.suggest-item img {
  float: left;
  margin-right: 10px;
  padding: 5px;
  border: solid 1px #ccc;
  background-color: #fff;
}
.suggest-item h2 {
  margin: 0px;
  font-family: arial;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none;
}
.suggest-item h2 a {
  color: #0574bb;
  text-decoration: none;
}
.suggest-price {
  display: block;
  margin-top: 5px;
  font-size: 14px;
  font-weight: bold;
  color: red;
}
.search-empty {
  padding: 20px;
  font-size: 18px;
  color: #555;
  text-align: center;
}
/* search suggets */
/* contact-from */
.form-group {
  margin-bottom: 15px;
}
.form-left {
  width: 50%;
  float: left;
  padding-right: 10px;
}
.form-right {
  width: 50%;
  float: right;
  padding-left: 10px;
}
.contact-form {
  font-size: 14px;
}
.contact-form .group-3 {
  margin: 0 -5px;
}
.contact-form .group-3 .col-3 {
  width: 33.33%;
  float: left;
  padding: 0 5px;
}
.contact-form .form-control {
  height: 35px;
  border: 1px solid #e7e7e7;
  border-radius: 0;
  color: #000;
  box-shadow: none;
}
.contact-form .form-control:focus {
  border-color: #bbb;
}
.contact-form textarea.form-control {
  height: 180px;
}
.contact-form label {
  font-weight: normal;
}
.send-message {
  width: 180px;
  height: 40px;
  display: block;
  margin: auto;
  border: none;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  outline: none;
}
/* end contact-from */
/* post-list */
.post-item {
  margin-bottom: 30px;
  position: relative;
}
.post-item:nth-child(2n + 1) {
  clear: both;
}
.post-img {
  position: relative;
  overflow: hidden;
}
.post-img img {
  width: 100%;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.post-img:hover img {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}
.post-title {
  margin: 15px 0 10px 0;
  font-size: 16px;
  line-height: 1.5;
}
.post-title a {
  font-weight: 600;
  color: #333;
}
.post-title a:hover {
  color: #ef3340;
}
.post-info {
  margin-bottom: 10px;
  font-size: 14px;
  font-style: italic;
}
.post-info span:not(:last-child) {
  margin-right: 21px;
  position: relative;
}
.post-info span:not(:last-child)::after {
  content: " ";
  width: 1px;
  height: 12px;
  display: inline-block;
  background: #333;
  position: absolute;
  top: 2px;
  right: -13px;
}
.post-excerpt {
  max-height: 108px;
  margin-bottom: 0;
  text-align: justify;
  overflow: hidden;
}
.widget-post ul {
  margin: 0;
  list-style: none;
}
.widget-post li {
  min-height: 85px;
  margin-bottom: 15px;
  padding: 0 0 15px 115px;
  border-bottom: 1px solid #e6e6e6;
  position: relative;
}
.widget-post li:last-child {
  min-height: 70px;
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.widget-post li img {
  position: absolute;
  top: 0;
  left: 0;
}
.widget-post .post-title {
  margin: 0 0 7px 0;
  font-size: 14px;
}
.widget-post .post-info {
  margin: 0;
  font-size: 12px;
  color: #999;
}
.widget-post .post-info span:not(:last-child)::after {
  background: #999;
}
/* end post-list */
#header {
  padding: 15px 0;
}
.header-box {
  position: relative;
}
.header-left {
  width: 45%;
  float: left;
  padding-right: 30px;
}
.header-right {
  width: 55%;
  float: left;
}
.logo img {
  margin-left: -30px;
  height: 100px;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.main-menu {
  margin: 33px 40px 0 0;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.main-menu ul {
  margin: 0;
  list-style: none;
}
.main-menu ul li {
  float: left;
  margin-right: 36px;
}
.main-menu ul li:last-child {
  margin-right: 0;
}
.main-menu ul li a {
  display: block;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 500;
  color: #000;
  text-transform: uppercase;
  position: relative;
}
.main-menu > ul > li.active > a {
  color: #20BE37;
}
/* .main-menu > ul > li.active > a::after {
  content: "";
  border-right: 9px solid transparent;
  border-bottom: 13px solid lab(87.74% -86.18 83.18);
  border-left: 9px solid transparent;
  position: absolute;
  bottom: -15px;
  left: calc(50% - 9px);
} */
.main-menu ul li.menu-contact a {
  border-radius: 3px;
  background: #ef3340;
  color: #fff;
}
.language {
  margin: 37px 30px 0 0;
  line-height: 0;
  cursor: pointer;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.view-search {
  float: right;
  margin-top: 35px;
  border: 0;
  border-radius: 5px 5px 0 0;
  background: none;
  font-size: 20px;
  color: #000;
  line-height: 0;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.search-box {
  width: 300px;
  display: none;
  padding: 15px;
  border-radius: 5px;
  background: #dcdcdc;
  position: absolute;
  right: 0;
  bottom: -15px;
  z-index: 200;
  transform: translateY(100%);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}
.search-box .txt-search {
  width: 100%;
  height: 35px;
  padding: 0 10px;
  border: 1px solid #ccc;
  border-radius: 0;
  font-size: 14px;
}
.search-box .zing-select {
  margin-top: 10px;
}
.search-box .select-search {
  width: 100%;
  height: 35px;
  padding: 0 10px;
  border: 1px solid #ccc;
  border-radius: 0;
  font-size: 14px;
}
.search-box .btn-search {
  height: 30px;
  float: right;
  margin-top: 10px;
  padding: 5px 10px;
  border: none;
  border-radius: 0;
  background: #2f855a;
  font-size: 14px;
  color: #fff;
}
.slideshow .item img {
  height: 500px;
  width: 100%;       /* Đảm bảo ảnh tràn hết chiều ngang khung chứa */
  display: block;
  object-fit: cover;
}
.slideshow .owl-dots {
  width: 100%;
  line-height: 0;
  position: absolute;
  bottom: 10px;
}
.slideshow .owl-theme .owl-dots .owl-dot span {
  width: 14px;
  height: 14px;
  margin: 0 5px;
  background: #fff;
}
.slideshow .owl-theme .owl-dots .owl-dot.active span,
.slideshow .owl-theme .owl-dots .owl-dot:hover span {
  background: #ef3340;
}
.slider-item {
  position: relative;
}
.slider-content {
  text-align: center;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.slider-title {
  margin-bottom: 0;
  font-family: "Times New Roman", sans-serif;
  font-size: 45px;
  font-weight: 700;
}
#footer {
  background: url(../images/bg-footer.jpg) no-repeat center top;
  font-size: 14px;
  background-size: cover;
}
.footer-top {
  padding: 50px 0 25px 0;
}
.footer-title {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
}
.footer-sub p {
  margin-bottom: 7px;
}
.footer-sub a {
  color: #333;
}
.footer-sub a:hover {
  color: #ef3340;
}
.footer-top-right {
  text-align: right;
}
.social a {
  width: 32px;
  height: 35px;
  display: inline-block;
  margin-right: 6px;
  background: url(../images/icon1.png) no-repeat;
  font-size: 16px;
  color: #fff;
  text-align: center;
  line-height: 35px;
}
.social a:last-child {
  margin-right: 0;
}
.footer-bottom {
  padding: 13px 0;
  border-top: 1px solid #383f51;
  text-align: right;
  position: relative;
}
.back-to-top {
  width: 37px;
  height: 41px;
  background: url(../images/go-top.png) no-repeat;
  position: absolute;
  top: -20px;
  left: calc(50% - 18px);
  cursor: pointer;
}
#main-content {
  padding: 50px 0;
}
.sidebar {
  padding-right: 45px;
}
.content-right {
  float: right;
  padding-left: 45px;
}
.product-content-right {
  float: right;
}
.page-title {
  font-size: 28px;
  font-weight: 500;
}
.post-content {
  color: #656565;
}
.post-tag {
  margin-top: 40px;
}
.tag-list ul {
  margin: 0;
  list-style: none;
}
.tag-list ul li {
  display: inline-block;
  margin: 0 6px 10px 0;
}
.tag-list ul li a {
  display: block;
  padding: 7px 10px;
  background: #f3f3f3;
  font-size: 16px;
  color: #333;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.tag-list ul li a.active,
.tag-list ul li a:hover {
  background: #ef3340;
  color: #fff;
}
.similar-post {
  margin-top: 25px;
  padding-top: 30px;
  border-top: 1px solid #ddd;
}
.similar-post-title {
  font-size: 28px;
  font-weight: 600;
  text-transform: uppercase;
}
.similar-post-list ul {
  margin: 0;
  list-style: none;
}
.similar-post-list li {
  margin-bottom: 10px;
}
.similar-post-list li:last-child {
  margin-bottom: 0;
}
.similar-post-list li a {
  padding-left: 15px;
  font-size: 16px;
  color: #333;
  position: relative;
}
.similar-post-list li a::before {
  content: "";
  width: 5px;
  height: 5px;
  background: #333;
  position: absolute;
  top: 7px;
  left: 0;
}
.similar-post-list li a:hover {
  color: #ef3340;
}
.similar-post-list li a:hover::before {
  background: #ef3340;
}
.sidebar-widget {
  margin-bottom: 40px;
}
.widget-title {
  font-size: 28px;
  font-weight: 600;
  text-transform: uppercase;
}
.archive-list ul {
  margin: 0;
  list-style: none;
}
.archive-list li {
  margin-bottom: 5px;
}
.archive-list li:last-child {
  margin-bottom: 0;
}
.archive-list li a {
  display: block;
  padding: 7px 20px 7px 40px;
  background: #f3f3f3;
  font-size: 16px;
  color: #333;
  position: relative;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.archive-list li a::before {
  content: "";
  width: 5px;
  height: 5px;
  background: #a8a8a8;
  position: absolute;
  top: calc(50% - 2.5px);
  left: 20px;
}
.archive-list li a.active,
.archive-list li a:hover {
  background: #ef3340;
  color: #fff;
}
.archive-list li a.active::before,
.archive-list li a:hover::before {
  background: #fff;
}
#banner {
  min-height: 40px;
  position: relative;
  overflow: hidden;
}

/* Hình banner */
#banner img {
  width: 100%;
  height: auto;
  min-height: 120px;
  display: block;
}

/* Lớp phủ mờ gương */
#banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2); /* lớp tối nhẹ để tăng tương phản */
  z-index: 1;
}

/* Nội dung banner */
.banner-content {
  color: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  z-index: 2; /* nằm trên lớp mờ */
}

/* Tiêu đề */
.banner-title {
  margin-left: -5px;
  margin-bottom: 5px;
  font-size: 42px;
  font-weight: 300;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

/* Mô tả */
.banner-excerpt {
  max-width: 650px;
  max-height: 54px;
  margin-bottom: 0;
  overflow: hidden;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.6);
}

/* Trường hợp banner-menu */
.banner-menu .banner-content {
  top: calc(50% + 20px);
}
.content-box {
  max-width: 800px;
  margin: auto;
  padding: 50px 0;
}
.contact-excerpt {
  margin-bottom: 30px;
  text-align: center;
}
.office-item {
  min-height: 300px;
  border-bottom: 1px solid #9b9b9b;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.office-item:last-child {
  border-bottom: 0;
}
.office-inner {
  padding: 75px 330px 75px 0;
  position: relative;
}
.office-inner p {
  margin-bottom: 10px;
}
.office-inner p:last-child {
  margin-bottom: 0;
}
.office-title {
  font-size: 22px;
  font-weight: 600;
}
.direction-box {
  width: 300px;
  padding: 20px;
  background: #666;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.direction-box::after {
  content: "";
  border-top: 12px solid #666;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  bottom: -11px;
  left: 50px;
}
.btn-direction {
  height: 45px;
  display: block;
  margin-top: 15px;
  border: 1px solid #fff;
  border-radius: 30px;
  color: #fff;
  text-align: center;
  line-height: 43px;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.btn-direction:hover {
  background: #fff;
  color: #333;
}
.tax-product-content {
  margin-bottom: 40px;
}
.tax-product-list .row {
  margin: 0 -7.5px;
}
.tax-product-item {
  margin-bottom: 15px;
  padding: 0 7.5px;
}
.tax-product-item:nth-child(3n + 1) {
  clear: both;
}
.tax-product-box {
  position: relative;
}
.tax-product-item img {
  width: 380px;
  height: 380px;
}
.tax-product-item .mark {
  opacity: 1;
  visibility: visible;
  background-color: rgba(0, 0, 0, 0.3);
}
.tax-product-title {
  font-size: 16px;
  position: absolute;
  top: 50%;
  right: 20px;
  left: 20px;
  z-index: 2;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.tax-product-title a {
  display: block;
  padding: 11px 5px;
  border: 1px solid #fff;
  font-weight: 700;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.tax-product-title a:hover {
  background: #2f855a;
}
.home-box-product .tax-product-title {
  font-size: 20px;
  right: 45px;
  left: 45px;
}
.product-item {
  margin-bottom: 30px;
}
.product-item:nth-child(4n + 1) {
  clear: both;
}
.product-box {
  border: 1px solid #e8e8e8;
  position: relative;
}
.product-img {
  width: 100%;
  height: 268px;
  position: relative;
  overflow: hidden;
}
.product-img a img {
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.product-info {
  padding: 25px 10px;
  text-align: center;
  position: relative;
  z-index: 2;
}
.product-title {
  height: 40px;
  margin-bottom: 0;
  font-size: 16px;
  overflow: hidden;
}
.product-title a {
  color: #333;
}
.product-title a:hover {
  color: #ef3340;
}
.btn-product-detail {
  width: 120px;
  height: 30px;
  display: block;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  line-height: 30px;
  position: absolute;
  top: calc(50% - 15px);
  left: calc(50% - 60px);
  z-index: 3;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.product-box .mark {
  background-color: rgba(242, 242, 242, 0.8);
}
.product-single-title {
  margin-bottom: 25px;
  font-size: 28px;
  font-weight: 600;
}
.product-manufacturer {
  margin-bottom: 25px;
  font-size: 16px;
}
.product-manufacturer a {
  border-bottom: 1px solid #ef3340;
  font-weight: 600;
  color: #333;
}
.product-excerpt {
  color: #656565;
}
.product-btn {
  margin-top: 30px;
}
.product-btn a {
  width: 340px;
  display: block;
  padding: 14px 20px;
  border: 1px solid #333;
  border-radius: 10px;
  color: #333;
  text-transform: uppercase;
}
.product-btn a .fas {
  width: 25px;
}
.product-btn .btn-catalogue {
  margin-bottom: 30px;
}
.product-btn .btn-contact {
  border-color: #ef3340;
  background: #ef3340;
  font-weight: 700;
  color: #fff;
}
.product-slider .img-main {
  width: 100%;
  height: 550px;
  border: 1px solid #e8e8e8;
  position: relative;
}
.product-slider .img-main img {
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.product-thumnail-list {
  margin-top: 20px;
}
.product-thumnail .item {
  height: 125px;
  border: 1px solid #e8e8e8;
}
.product-thumnail img {
  width: inherit !important;
  max-width: 90%;
  max-height: 90%;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  cursor: pointer;
}
.product-single-box {
  margin-top: 35px;
  padding-top: 35px;
  border-top: 1px solid #ddd;
}
.similar-product-title {
  margin-bottom: 25px;
  font-size: 28px;
  font-weight: 600;
  text-transform: uppercase;
}
/* popup bootstrap */
.modal-content {
  border: 0;
  border-radius: 0;
}
.modal-header {
  padding: 10px 30px;
  border: none;
  background: #555;
  text-align: center;
}
.modal-header .close {
  margin: -16px -29px 0 0;
  font-size: 26px;
  color: #fff;
  opacity: 1;
}
.modal-body {
  padding: 30px;
}
/* popup bootstrap */
.sending {
  margin: -50px 0 0 -50px;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 2000;
}
.popup-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
}
.popup-form .form-control {
  height: 40px;
}
.popup-btn {
  width: 120px;
  height: 40px;
  display: block;
  margin: auto;
  border: 0;
  border-radius: 3px;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.search-title {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
.sevice-item {
  margin-bottom: 30px;
  text-align: center;
}
.sevice-item:nth-child(3n + 1) {
  clear: both;
}
.sevice-item img {
  width: 100%;
  height: auto;
}
.sevice-title {
  margin: 20px 0 15px 0;
  font-size: 24px;
}
.sevice-title a {
  font-weight: 700;
  color: #333;
}
.sevice-title a:hover {
  color: #ef3340;
}
.sevice-excerpt {
  margin-bottom: 0;
  color: #656565;
}
.home-box-about {
  padding: 50px 0 40px 0;
  background: url(../images/bg-about.jpg) no-repeat center top;
  text-align: center;
  background-size: cover;
}
.home-box-title {
  margin-bottom: 25px;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.35;
  text-transform: none;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}
.home-box-content {
  color: #656565;
}
.home-box-product {
  padding: 50px 0;
}
.home-box-product .tax-product-list {
  margin-top: 0;
}
.home-box-services-solution {
  padding: 54px 0;
  background: #ffffff;
}
.home-box-services-solution .home-box-title {
  margin-bottom: 26px;
  text-align: center;
}
.services-solution-grid {
  display: flex;
  gap: 24px;
}
.services-solution-card {
  width: calc(50% - 12px);
  min-height: 560px;
  display: flex;
  flex-direction: column;
  border-radius: 0;
  overflow: hidden;
  background: linear-gradient(170deg, #ffffff 0%, #f6f8f3 100%);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
  border: 1px solid rgba(107, 191, 72, 0.22);
}
.services-solution-card-img {
  height: 500px;
  overflow: hidden;
  background: #e8ebe6;
}
.services-solution-card-img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.services-solution-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 20px 20px 22px;
}
.services-solution-card-title {
  margin: 0 0 10px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
  color: #1f1f1f;
  text-align: center;
}
.services-solution-card-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.72;
  color: #3e4b41;
}
.home-box-installation {
  position: relative;
  padding: 52px 0 56px;
  overflow: hidden;
  text-align: center;
  background: linear-gradient(160deg, #1f1f1f 0%, #2a3228 38%, #3d4f36 62%, #5a6355 100%);
}
.home-box-installation::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #6bbf48, #7c7d78, #1f1f1f, #6bbf48);
  background-size: 200% 100%;
  opacity: 0.95;
}
.home-box-installation::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 80% 55% at 50% 0%, rgba(107, 191, 72, 0.18), transparent 55%);
}
.home-box-installation .container {
  position: relative;
  z-index: 1;
}
.home-box-installation .home-box-title {
  margin-bottom: 12px;
  color: #f2f2f2;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.home-box-installation-lead {
  max-width: 640px;
  margin: 0 auto 28px;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(232, 232, 232, 0.88);
}
.installation-carousel-wrap {
  margin: 0 -8px;
  padding-bottom: 8px;
}
.installation-carousel .owl-stage {
  display: flex;
}
.installation-carousel .owl-item {
  display: flex;
}
.installation-carousel .installation-slide {
  width: 100%;
  padding: 0 8px;
  display: flex;
}
.installation-card {
  width: 100%;
  height: 332px;
  display: flex;
  flex-direction: column;
  text-align: center;
  background: linear-gradient(180deg, #ffffff 0%, #f4f6f3 100%);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(107, 191, 72, 0.2);
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.installation-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.32), 0 0 0 2px rgba(107, 191, 72, 0.45);
}
.installation-card-img {
  position: relative;
  height: 245px;
  overflow: hidden;
  background: #e8ebe6;
}
.installation-card-img .installation-card-img-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.08);
  filter: blur(14px);
  opacity: 0.55;
}
.installation-card-img .installation-card-img-main {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 8px;
  background: rgba(255, 255, 255, 0.08);
  transition: transform 0.45s ease;
}
.installation-card:hover .installation-card-img .installation-card-img-main {
  transform: scale(1.04);
}
.installation-card-title {
  margin: 0;
  padding: 12px 12px 14px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: #1f1f1f;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  min-height: calc(1.4em * 3);
  flex: 1;
}
.installation-card-title::before {
  content: "";
  display: block;
  height: 3px;
  margin: -14px -12px 12px;
  border-radius: 0 0 2px 2px;
  background: linear-gradient(90deg, #6bbf48, #7c7d78, rgba(31, 31, 31, 0.35));
}
.home-box-installation .owl-dots {
  margin-top: 22px;
}
.home-box-installation .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 4px 6px;
  background: rgba(255, 255, 255, 0.35);
  transition: background 0.25s ease, transform 0.25s ease;
}
.home-box-installation .owl-dots .owl-dot.active span,
.home-box-installation .owl-dots .owl-dot:hover span {
  background: #6bbf48;
  transform: scale(1.15);
}
.home-box-office {
  padding: 50px 0;
  background: url(../images/bg-office.jpg) no-repeat center top;
  text-align: center;
  background-size: cover;
}
.home-office-title {
  padding-bottom: 20px;
  position: relative;
}
.home-office-title::after {
  content: "";
  width: 110px;
  height: 2px;
  background: #f52c17;
  position: absolute;
  bottom: 0;
  left: calc(50% - 55px);
}
.home-office-list {
  margin: 40px -15px 0 -15px;
}
.home-office-item {
  width: 20%;
  float: left;
  padding: 0 15px;
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}
.home-office-item p {
  margin-bottom: 0;
}
.home-office-item p:first-child {
  width: 108px;
  height: 120px;
  display: inline-block;
  margin-bottom: 20px;
  background: url(../images/icon2.png) no-repeat;
  font-size: 30px;
  font-weight: 700;
  line-height: 120px;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.home-office-item:hover p:first-child {
  background: url(../images/icon3.png) no-repeat;
}
.home-box-sevice-customer {
  padding: 100px 0;
}
.home-sevice-customer-left {
  width: 60%;
  float: left;
  padding-right: 12px;
}
.home-sevice-customer-right {
  width: 40%;
  float: left;
  padding-left: 18px;
}
.home-sevice-customer-title {
  margin-bottom: 20px;
  font-size: 26px;
  font-weight: 600;
  text-transform: uppercase;
}
.home-sevice-customer-content {
  font-size: 16px;
}
.home-sevice-list {
  margin-top: 30px;
}
.home-sevice-item {
  text-align: center;
}
.home-sevice-item:nth-child(3n + 1) {
  clear: both;
}
.home-sevice-img {
  width: 100%;
  height: 60px;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}
.home-sevice-img img {
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.home-sevice-title {
  margin-bottom: 0;
  font-size: 16px;
}
.home-customer-box {
  margin-top: 40px;
}
.home-sevice-customer-right img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: auto;
}
.home-box-manufacturer {
  padding: 50px 0;
  background: #f9f9f9;
  text-align: center;
}
.partner-list {
  margin: 30px -365px 0 -20px;
}
.partner-item {
  margin-left: 35px;
  width: 16.66%;
  float: left;
  margin-bottom: 4px;
  padding: 0 2px;
}
.partner-item:nth-child(6n + 1) {
  clear: both;
}
.partner-img {
  width: 100%;
  height: 105px;
  background: #fff;
  position: relative;
  overflow: hidden;
}
.partner-img img {
  max-width: 90%;
  max-height: 90%;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.widget-manufacturer .widget-title {
  margin-bottom: 0;
  padding: 10px;
  background: #474747;
  font-size: 16px;
  color: #fff;
  text-align: center;
}
.manufacturer-menu {
  border: solid 1px #ccc;
  border-top: 0;
}
.manufacturer-menu ul {
  margin: 0;
  list-style: none;
}
.manufacturer-menu li {
  border-bottom: 1px solid #ccc;
  position: relative;
}
.manufacturer-menu li:last-child {
  border-bottom: 0;
}
.manufacturer-menu li a {
  display: block;
  padding: 10px 20px;
  background: #f6f6f6;
  font-size: 14px;
  color: #333;
  text-transform: uppercase;
}
.manufacturer-menu li.active a,
.manufacturer-menu li a:hover {
  color: #ef3340;
}
.manufacturer-menu > ul > li.li-parent > a {
  padding-right: 30px;
  position: relative;
}
.manufacturer-menu > ul > li.li-parent > a::after {
  content: "";
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid #505050;
  position: absolute;
  top: calc(50% - 4px);
  right: 10px;
}
.manufacturer-menu ul li ul {
  min-width: 200px;
  display: none;
  border: solid 1px #ccc;
  position: absolute;
  top: -1px;
  left: 100%;
  z-index: 200;
  white-space: nowrap;
}
.manufacturer-menu ul li:hover > ul {
  display: block;
}
.manufacturer-menu ul li ul li a {
  padding-left: 25px;
  text-transform: inherit;
  position: relative;
}
.manufacturer-menu ul li ul li a::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #333;
  position: absolute;
  top: 17px;
  left: 10px;
}
.manufacturer-menu ul li ul li ul li a::before {
  border-radius: 0;
}
.product-tax-item {
  margin-bottom: 50px;
}
.product-tax-box {
  padding: 20px 20px 10px 20px;
  border: 1px solid #eee;
}
.product-tax-title {
  font-size: 28px;
  font-weight: 600;
  text-transform: uppercase;
}
.product-tax-title a {
  color: #333;
}
.product-tax-title a:hover {
  color: #ef3340;
}
/* zing tab */
.tab-header {
  width: 100%;
  float: left;
}
.tab-header ul {
  margin: 0;
  list-style: none;
}
.tab-header li {
  float: left;
}
.tab:not(:first-child) {
  display: none;
}
/* zing tab */
.product-tax-tab .tab-header {
  margin-bottom: 15px;
}
.product-tax-tab .tab-header li {
  margin: 0 10px 10px 0;
}
.product-tax-tab .tab-header li a {
  display: block;
  padding: 7px 10px;
  background: #f3f3f3;
  font-size: 16px;
  color: #333;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  -ms-transition: 0.5s ease;
  -o-transition: 0.5s ease;
}
.product-tax-tab .tab-header li a.active,
.product-tax-tab .tab-header li a:hover {
  background: #ef3340;
  color: #fff;
}
.product-tax-list .row {
  margin: 0 -10px;
}
.product-tax-list .product-item {
  margin-bottom: 20px;
  padding: 0 10px;
}
.product-tax-list .product-item:nth-child(4n + 1) {
  clear: inherit;
}
.product-tax-list .product-item:nth-child(3n + 1) {
  clear: both;
}
.product-tax-parent .tab .product-item:nth-child(n + 4) {
  display: none;
}
.product-tax-parent .tab.full .product-item:nth-child(n + 4) {
  display: block;
}
.btn-product-view {
  width: 138px;
  height: 29px;
  display: block;
  margin: auto;
  background: url(../images/icon4.png) no-repeat;
  font-size: 12px;
  font-weight: 600;
  color: #333;
  text-align: center;
  text-transform: uppercase;
  line-height: 29px;
}
.post-tax-item {
  margin-bottom: 10px;
}
.post-tax-header {
  margin-bottom: 20px;
  border-bottom: 2px solid #e6e6e6;
}
.post-tax-title {
  float: left;
  margin-bottom: 0;
}
.post-tax-title a {
  min-width: 230px;
  display: block;
  margin-bottom: 0;
  padding: 11px 20px 7px 20px;
  background: #e6e6e6;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  text-transform: uppercase;
  position: relative;
}
.post-tax-title a:after {
  content: "";
  border-right: 25px solid transparent;
  border-bottom: 38px solid #e6e6e6;
  position: absolute;
  top: 0;
  right: -25px;
}
.btn-xem-tat-ca {
  width: 115px;
  height: 30px;
  float: right;
  border-radius: 30px;
  background: #dcdcdc;
  font-size: 14px;
  color: #333 !important;
  text-align: center;
  line-height: 30px;
}
.btn-xem-tat-ca:hover {
  background: #ef3340;
  color: #fff !important;
}
.search-post-list .post-item:nth-child(2n + 1) {
  clear: inherit;
}
.search-post-list .post-item:nth-child(3n + 1) {
  clear: both;
}
.page-search-box {
  width: 600px;
  margin: 0 auto 30px auto;
  position: relative;
}
.page-search-box .txt-search {
  width: 100%;
  height: 40px;
  padding: 0 50px 0 130px;
  border: 1px solid #e7e7e7;
  border-radius: 0;
  font-size: 14px;
  color: #000;
}
.page-search-box .zing-select {
  width: 120px;
  position: absolute;
  top: 0;
  left: 0;
}
.page-search-box .select-search {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  border: 0;
  border-right: 1px solid #e7e7e7;
  border-radius: 0;
  background: 0;
  font-size: 14px;
}
.page-search-box .btn-search {
  width: 40px;
  height: 40px;
  border: 0;
  background: 0;
  font-size: 18px;
  color: #aaa;
  position: absolute;
  top: 0;
  right: 0;
}

.h2-underline-red {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
}

.h2-underline-red::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 60px;
  height: 4px;
  background-color: red;
}



/* TAB CHA */
.premium-section {
  padding: 40px 0;
}

/* TAB CHA */
.product-tabs {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
  border-bottom: 1px solid #e5e5e5;
}

.tab-item {
  padding: 12px 30px;
  font-weight: 700;
  color: #444;
  cursor: pointer;
  position: relative;
}

.tab-item.active {
  color: #2f855a;
}

.tab-item.active::after {
  content: "";
  height: 3px;
  width: 100%;
  background: #2f855a;
  position: absolute;
  bottom: -1px;
  left: 0;
}

/* TAB CON */
.sub-tabs.center {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 25px;
}

.sub-tab {
  padding: 8px 18px;
  border-radius: 999px;
  background: #f5f7fa;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.3s;
}

.sub-tab:hover {
  background: #2f855a;
}

.sub-tab.active {
  background: linear-gradient(135deg, #2f855a, #2f855a);
  color: #fff;
}

/* CONTENT */
.tab-content,
.sub-content {
  display: none;
}

.tab-content.active,
.sub-content.active {
  display: block;
}

/* FADE EFFECT */
.fade-in {
  animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
  from {opacity: 0; transform: translateY(10px);}
  to {opacity: 1; transform: translateY(0);}
}

/* CARD PREMIUM (trang sản phẩm) */
.product-card.premium {
  background: linear-gradient(180deg, #ffffff 0%, #f5f7f4 100%);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(47, 133, 90, 0.22);
  box-shadow:
    0 8px 22px rgba(15, 23, 42, 0.1),
    0 0 0 1px rgba(47, 133, 90, 0.12);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  margin-top: 25px;
  display: flex;
  flex-direction: column;
}

.product-card.premium:hover {
  box-shadow:
    0 14px 34px rgba(15, 23, 42, 0.16),
    0 0 0 2px rgba(47, 133, 90, 0.38);
  transform: translateY(-4px);
}

/* IMAGE — nền trắng liền với ảnh (contain), không blur */
.product-card.premium .product-card-img-wrap {
  position: relative;
  height: 198px;
  overflow: hidden;
  background: #ffffff;
}

.product-card.premium .product-card-img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: block;
  width: auto;
  height: auto;
  max-width: calc(100% - 28px);
  max-height: calc(100% - 24px);
  object-fit: contain;
  object-position: center;
  transform: translate(-50%, -50%);
  transition: transform 0.45s ease;
}

.product-card.premium:hover .product-card-img {
  transform: translate(-50%, -50%) scale(1.04);
}

/* OVERLAY */
.overlay {
  position: absolute;
  inset: 0;
  background: rgba(47,133,90,0.6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  font-size: 12px;
  transition: 0.3s;
  padding: 5px 5px;
}

.product-card.premium .overlay {
  z-index: 2;
}

.product-card:hover .overlay {
  opacity: 1;
}

/* TITLE */
.product-card h4 {
  font-size: 14px;
  padding: 12px;
  line-height: 1.4;

  /* Giữ cho các card cùng chiều cao dù tiêu đề dài/ngắn khác nhau */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  min-height: 104px; /* 4 dòng + padding */
}

.js-product-quickview {
  cursor: pointer;
}

.product-quickview-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: none;
}

.product-quickview-modal.is-open {
  display: block;
}

.product-quickview-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(2px);
}

.product-quickview-sheet {
  position: relative;
  width: min(860px, calc(100% - 28px));
  max-height: calc(100vh - 40px);
  margin: 20px auto;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 56px rgba(2, 6, 23, 0.45);
  overflow-y: auto;
}

.product-quickview-content {
  padding: 30px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.product-quickview-head {
  margin-bottom: 18px;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 14px;
}

.product-quickview-kicker {
  margin: 0 0 8px;
  color: #2f855a;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 12px;
  font-weight: 700;
}

.product-quickview-head h3 {
  margin: 0;
  font-size: 28px;
  line-height: 1.35;
  color: #0f172a;
}

.product-quickview-body {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

.product-quickview-image-wrap {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.product-quickview-image-wrap img {
  width: 100%;
  max-height: 430px;
  object-fit: contain;
}

.product-quickview-text h4 {
  margin: 0 0 10px;
  font-size: 18px;
  color: #0f172a;
}

.product-quickview-text p {
  margin: 0;
  color: #334155;
  line-height: 1.7;
  white-space: pre-line;
}

.product-quickview-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  font-size: 28px;
  line-height: 1;
  color: #334155;
  background: #f1f5f9;
  cursor: pointer;
  transition: 0.2s ease;
}

.product-quickview-close:hover {
  background: #e2e8f0;
  color: #0f172a;
}

body.quickview-open {
  overflow: hidden;
  overscroll-behavior: none;
}

html.quickview-open {
  overflow: hidden;
  overscroll-behavior: none;
}

body.quickview-open > *:not(.product-quickview-modal) {
  pointer-events: none !important;
  user-select: none;
}

body.quickview-open .product-quickview-modal {
  pointer-events: auto;
}

@media (max-width: 991px) {
  .product-quickview-content {
    padding: 22px 18px;
  }

  .product-quickview-head h3 {
    font-size: 22px;
  }

  .product-quickview-body {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .product-quickview-image-wrap {
    min-height: 240px;
  }
}


/*TIN TỨC*/
.news-premium {
  padding: 50px 0;
  background: #f6f8fb;
  font-family: "Segoe UI", sans-serif;
}

/* LEFT */
.news-left {
  position: sticky;
  top: 20px;
}

.left-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
}

.recent-item {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  transition: 0.25s;
}

.recent-item:hover {
  transform: translateX(6px);
}

.recent-item img {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
}

.recent-item p {
  font-size: 14px;
  margin: 0;
}

/* RIGHT */
.news-right {
  padding-right: 10px;
}

/* CATEGORY */
.news-categories {
  display: flex;
  gap: 25px;
  margin-bottom: 30px;
  border-bottom: 1px solid #eee;
  font-weight: 600;
}

.news-categories span {
  cursor: pointer;
  padding-bottom: 10px;
  color: #666;
  transition: 0.2s;
}

.news-categories span:hover {
  color: #0a58ca;
}

.news-categories .active {
  color: #0a58ca;
  border-bottom: 2px solid #0a58ca;
}

/* IMAGE FIX */
.img-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 12px;
  background: #eee;
}

.img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.4s;
}

/* FEATURED */
.featured {
  margin-bottom: 25px;
  cursor: pointer;
}

.featured:hover img {
  transform: scale(1.05);
}

.featured h3 {
  margin-top: 10px;
  font-size: 22px;
  font-weight: 700;
}

.featured p {
  color: #666;
}

/* GRID */
.news-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.news-card {
  cursor: pointer;
  transition: 0.3s;
}

.news-card:hover {
  transform: translateY(-6px);
}

.news-card:hover img {
  transform: scale(1.05);
}

.news-card h4 {
  margin-top: 8px;
  font-size: 15px;
  font-weight: 600;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-card p {
  font-size: 13px;
  color: #666;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* PAGINATION */
.pagination {
  margin-top: 25px;
}

.pagination span {
  margin-right: 10px;
  cursor: pointer;
}

.pagination .active {
  color: #0a58ca;
  font-weight: bold;
}

/* ARTICLE */
.article-detail h2 {
  font-size: 26px;
  margin-bottom: 15px;
}

.article-detail p {
  line-height: 1.7;
  margin-bottom: 10px;
}

.article-detail {
  max-width: 920px;
  margin: 0 auto;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 24px;
}

.article-back-link {
  margin-bottom: 8px;
}

.article-meta {
  color: #64748b;
  font-size: 14px;
  margin-bottom: 12px;
}

.article-cover-image {
  max-width: 900px;
  margin-bottom: 16px;
}

.article-body {
  color: #334155;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.article-body > *:last-child {
  margin-bottom: 0;
}

.article-body h1,
.article-body h2,
.article-body h3,
.article-body h4,
.article-body h5,
.article-body h6 {
  color: #0f172a;
  line-height: 1.35;
  margin: 18px 0 10px;
}

.article-body p,
.article-body li {
  font-size: 16px;
}

.article-body ul,
.article-body ol {
  padding-left: 22px;
  margin-bottom: 12px;
}

.article-body blockquote {
  margin: 14px 0;
  padding: 10px 14px;
  border-left: 4px solid #2f855a;
  background: #f8fafc;
  color: #334155;
}

.article-body table {
  display: block;
  width: 100% !important;
  overflow-x: auto;
  border-collapse: collapse;
}

.article-body iframe,
.article-body video {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 767px) {
  .article-detail {
    padding: 16px 14px;
    border-radius: 10px;
  }

  .article-detail h2 {
    font-size: 22px;
  }

  .article-body p,
  .article-body li {
    font-size: 15px;
  }
}

/*LIÊN HỆ*/

.contact-premium {
  padding: 60px 0;
  background: #f6f8fb;
}

/* LEFT */
.contact-info-box {
  background: #2f855a;
  color: #fff;
  padding: 40px;
  border-radius: 16px;
  height: 100%;
}

.contact-info-box h2 {
  font-size: 26px;
  margin-bottom: 15px;
}

.contact-info-box p {
  opacity: 0.9;
  margin-bottom: 25px;
}

.info-item {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.info-item i {
  width: 35px;
  height: 35px;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}

/* RIGHT */
.contact-form-box {
  background: #fff;
  padding: 40px;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.contact-form-box h3 {
  margin-bottom: 20px;
  font-size: 22px;
}

.contact-alert {
  padding: 12px 14px;
  border-radius: 8px;
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.5;
}

.contact-alert--success {
  background: #ecfdf5;
  border: 1px solid #2f855a;
  color: #065f46;
}

.contact-alert--error {
  background: #fef2f2;
  border: 1px solid #dc2626;
  color: #991b1b;
}

.contact-form-box .form-group {
  margin-bottom: 15px;
}

.contact-form-box input,
.contact-form-box textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
  transition: 0.3s;
}

.contact-form-box input:focus,
.contact-form-box textarea:focus {
  border-color: #0a58ca;
  outline: none;
}

.contact-form-box button {
  width: 100%;
  padding: 14px;
  background: linear-gradient(135deg, #2f855a, #2f855a);
  border: none;
  border-radius: 10px;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
}

.contact-form-box button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(10,88,202,0.2);
}