/* ==================================================
   SECTION LIÊN HỆ / TÌM KIẾM HỖ TRỢ
   Scope: .keyshu-lien-he
   Không dùng ID
================================================== */

.keyshu-lien-he {
  position: relative;
  width: 100%;
  min-height: 292px;
  padding: 56px 16px 50px !important;
  margin: 0 !important;
  overflow: visible;
  background: linear-gradient(115deg, #08746f 0%, #079997 50%, #08b9b8 100%);
}

.keyshu-lien-he * {
  box-sizing: border-box;
}

.keyshu-lien-he .section-bg {
  display: none !important;
}

.keyshu-lien-he .section-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 760px;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ==================================================
   TIÊU ĐỀ
================================================== */

.keyshu-lien-he .text {
  width: 100%;
  margin: 0 0 24px !important;
  padding: 0 !important;
  text-align: center !important;
}

.keyshu-lien-he .text .uppercase {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 30px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  letter-spacing: -0.4px;
  text-transform: none !important;
}

/* ==================================================
   FORM TÌM KIẾM
================================================== */

.keyshu-lien-he .searchform-wrapper {
  width: 100%;
  max-width: 600px;
  margin: 0 auto !important;
  padding: 0 !important;
}

.keyshu-lien-he .searchform {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.keyshu-lien-he .searchform .flex-row {
  position: relative;
  width: 100%;
  height: 50px;
  margin: 0 !important;
  padding: 0 56px 0 26px !important;
  display: flex !important;
  align-items: center;
  background: #ffffff;
  border: 2px solid #ffffff;
  border-radius: 999px;
  box-shadow: 0 16px 36px rgba(0, 79, 82, 0.16);
  overflow: hidden;
}

.keyshu-lien-he .searchform .flex-grow {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 !important;
}

.keyshu-lien-he .search-field {
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #506978 !important;
  font-size: 14px !important;
  line-height: 46px !important;
  font-weight: 500 !important;
}

.keyshu-lien-he .search-field::placeholder {
  color: #9aa9c6 !important;
  opacity: 1;
}

/* Nút tìm kiếm tròn bên phải */
.keyshu-lien-he .searchform .flex-row .flex-col:last-child {
  position: absolute;
  top: 50%;
  right: 0;
  width: 50px;
  height: 50px;
  padding: 0 !important;
  transform: translateY(-50%);
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.keyshu-lien-he .ux-search-submit {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 3px solid #ffffff !important;
  border-radius: 50% !important;
  background: #03b0b1 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
}

.keyshu-lien-he .ux-search-submit:hover {
  background: #018f91 !important;
  transform: scale(1.04);
}

.keyshu-lien-he .ux-search-submit .icon-search {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

/* Live search */
.keyshu-lien-he .live-search-results {
  position: relative;
  width: 100%;
}

.keyshu-lien-he .autocomplete-suggestions {
  width: 100% !important;
  left: 0 !important;
  top: 10px !important;
  border-radius: 16px !important;
  overflow: hidden;
  background: #ffffff !important;
  border: 1px solid rgba(3, 176, 177, 0.14) !important;
  box-shadow: 0 18px 42px rgba(0, 75, 78, 0.18) !important;
}

/* ==================================================
   HOTLINE + CHAT
================================================== */

.keyshu-lien-he .support-contacts {
  width: 100%;
  margin: 24px 0 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 46px;
}

.keyshu-lien-he .support-contact-item {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #ffffff;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  white-space: nowrap;
}

.keyshu-lien-he .support-contact-item br,
.keyshu-lien-he .support-contacts p {
  display: none !important;
}

.keyshu-lien-he .support-contact-item .fa-solid,
.keyshu-lien-he .support-contact-item .fa-regular {
  color: #ffffff;
  font-size: 18px;
  line-height: 1;
}

.keyshu-lien-he .support-contact-item span {
  color: #ffffff;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
}

.keyshu-lien-he .support-contact-item strong {
  color: #ffffff;
  font-weight: 800;
}

/* Nút Chat */
.keyshu-lien-he .support-contact-item.chat-btn {
  min-height: 38px;
  padding: 0 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
  transition: all 0.25s ease;
}

.keyshu-lien-he .support-contact-item.chat-btn:hover {
  background: rgba(255, 255, 255, 0.24);
  transform: translateY(-2px);
}

/* ==================================================
   TABLET
================================================== */

@media (max-width: 768px) {
  .keyshu-lien-he {
    min-height: auto;
    padding: 46px 18px 42px !important;
  }

  .keyshu-lien-he .section-content {
    max-width: 620px;
  }

  .keyshu-lien-he .text {
    margin-bottom: 22px !important;
  }

  .keyshu-lien-he .text .uppercase {
    font-size: 24px !important;
  }

  .keyshu-lien-he .searchform-wrapper {
    max-width: 560px;
  }

  .keyshu-lien-he .support-contacts {
    gap: 26px;
    margin-top: 22px !important;
  }
}

/* ==================================================
   MOBILE
================================================== */

@media (max-width: 520px) {
  .keyshu-lien-he {
    padding: 38px 14px 34px !important;
    background: linear-gradient(145deg, #08746f 0%, #08b9b8 100%);
  }

  .keyshu-lien-he .section-content {
    max-width: 100%;
  }

  .keyshu-lien-he .text {
    margin-bottom: 20px !important;
  }

  .keyshu-lien-he .text .uppercase {
    max-width: 330px;
    margin: 0 auto !important;
    font-size: 22px !important;
    line-height: 1.35 !important;
  }

  .keyshu-lien-he .searchform-wrapper {
    max-width: 100%;
  }

  .keyshu-lien-he .searchform .flex-row {
    height: 48px;
    padding: 0 52px 0 18px !important;
  }

  .keyshu-lien-he .search-field {
    height: 44px !important;
    min-height: 44px !important;
    font-size: 13px !important;
    line-height: 44px !important;
  }

  .keyshu-lien-he .ux-search-submit,
  .keyshu-lien-he .searchform .flex-row .flex-col:last-child {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }

  .keyshu-lien-he .ux-search-submit .icon-search {
    font-size: 18px !important;
  }

  .keyshu-lien-he .support-contacts {
    margin-top: 20px !important;
    gap: 12px;
    flex-wrap: wrap;
  }

  .keyshu-lien-he .support-contact-item {
    font-size: 14px;
    gap: 7px;
  }

  .keyshu-lien-he .support-contact-item span {
    font-size: 14px;
  }

  .keyshu-lien-he .support-contact-item .fa-solid,
  .keyshu-lien-he .support-contact-item .fa-regular {
    font-size: 16px;
  }

  .keyshu-lien-he .support-contact-item.chat-btn {
    min-height: 34px;
    padding: 0 18px !important;
  }
}

/* ==================================================
   MOBILE NHỎ
================================================== */

@media (max-width: 380px) {
  .keyshu-lien-he {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .keyshu-lien-he .text .uppercase {
    font-size: 20px !important;
  }

  .keyshu-lien-he .support-contacts {
    flex-direction: column;
    gap: 12px;
  }

  .keyshu-lien-he .support-contact-item.chat-btn {
    width: fit-content;
  }
}
/* ==================================================
   CONTACT PAGE - KEYSHU
   Scope: .main-contact
   Width: 1320px
   Font Awesome 7 Free
================================================== */

.main-contact {
  width: 100%;
  padding: 30px 0px 40px !important;
  background: #ffffff;
}

.main-contact * {
  box-sizing: border-box;
}

.main-contact .section-bg {
  display: none !important;
}

.main-contact .section-content {
  width: 100%;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* ==================================================
   MAIN LAYOUT
================================================== */

.main-contact .section-content > .row-small:first-of-type {
  width: 100%;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 30px 0 36px !important;
  display: grid !important;
  grid-template-columns: 280px minmax(0, 600px) minmax(390px, 440px);
  gap: 38px;
  align-items: start;
  border-top: 1px solid #edf1f5;
  border-bottom: 1px solid #edf1f5;
}

.main-contact .contact-menu,
.main-contact .contact-form,
.main-contact .contact-maps {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: auto !important;
  padding: 0 !important;
}

.main-contact .contact-menu .col-inner,
.main-contact .contact-form .col-inner,
.main-contact .contact-maps .col-inner {
  padding: 0 !important;
}

/* ==================================================
   LEFT MENU
================================================== */

.main-contact .contact-menu {
  color: #66748a;
}

.main-contact .contact-menu p {
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  color: #061634;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-bottom: 1px solid #edf1f5;
}

.main-contact .contact-menu .ux-menu {
  margin: 0 0 30px !important;
  padding: 0 !important;
}

.main-contact .contact-menu .ux-menu-link {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.main-contact .contact-menu .ux-menu-link__link {
  position: relative;
  width: 100%;
  min-height: 31px;
  padding: 0 0 0 34px !important;
  display: flex !important;
  align-items: center;
  color: #66748a !important;
  text-decoration: none !important;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
  transition: color 0.22s ease, padding-left 0.22s ease;
}

.main-contact .contact-menu .ux-menu-link__text {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
}

.main-contact .contact-menu .ux-menu-link__link:hover,
.main-contact .contact-menu .ux-menu-link__link:hover .ux-menu-link__text {
  color: #03b0b1 !important;
}

.main-contact .contact-menu .ux-menu-link__link:hover {
  padding-left: 38px !important;
}

/* ==================================================
   FONT AWESOME 7 ICONS - TOÀN BỘ MENU TRÁI
================================================== */

.main-contact .contact-menu .ux-menu-link__link::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  color: #a2adbd;

  font-family: "Font Awesome 7 Free", "Font Awesome 7 Free Solid", "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important;
  font-weight: 900 !important;
  font-style: normal;
  font-size: 14px;
  line-height: 20px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  transition: color 0.22s ease;
}

.main-contact .contact-menu .ux-menu-link__link:hover::before {
  color: #03b0b1;
}

/* Nhóm 1: Hỗ trợ nhanh */
.main-contact .contact-menu .ux-menu:nth-of-type(1) .ux-menu-link:nth-child(1) .ux-menu-link__link::before {
  content: "\f007";
}

.main-contact .contact-menu .ux-menu:nth-of-type(1) .ux-menu-link:nth-child(2) .ux-menu-link__link::before {
  content: "\f290";
}

.main-contact .contact-menu .ux-menu:nth-of-type(1) .ux-menu-link:nth-child(3) .ux-menu-link__link::before {
  content: "\f0d1";
}

.main-contact .contact-menu .ux-menu:nth-of-type(1) .ux-menu-link:nth-child(4) .ux-menu-link__link::before {
  content: "\f48b";
}

.main-contact .contact-menu .ux-menu:nth-of-type(1) .ux-menu-link:nth-child(5) .ux-menu-link__link::before {
  content: "\f2f1";
}

.main-contact .contact-menu .ux-menu:nth-of-type(1) .ux-menu-link:nth-child(6) .ux-menu-link__link::before {
  content: "\f3ed";
}

.main-contact .contact-menu .ux-menu:nth-of-type(1) .ux-menu-link:nth-child(7) .ux-menu-link__link::before {
  content: "\f15c";
}

/* Nhóm 2: Giới thiệu & liên hệ */
.main-contact .contact-menu .ux-menu:nth-of-type(2) .ux-menu-link:nth-child(1) .ux-menu-link__link::before {
  content: "\f05a";
}

.main-contact .contact-menu .ux-menu:nth-of-type(2) .ux-menu-link:nth-child(2) .ux-menu-link__link::before {
  content: "\f0ac";
}

.main-contact .contact-menu .ux-menu:nth-of-type(2) .ux-menu-link:nth-child(3) .ux-menu-link__link::before {
  content: "\f0e0";
}

/* Nhóm 3: Chính sách */
.main-contact .contact-menu .ux-menu:nth-of-type(3) .ux-menu-link:nth-child(1) .ux-menu-link__link::before {
  content: "\f023";
}

.main-contact .contact-menu .ux-menu:nth-of-type(3) .ux-menu-link:nth-child(2) .ux-menu-link__link::before {
  content: "\f564";
}

.main-contact .contact-menu .ux-menu:nth-of-type(3) .ux-menu-link:nth-child(3) .ux-menu-link__link::before {
  content: "\f0c0";
}

/* Bỏ active màu xanh của Liên hệ */
.main-contact .contact-menu .ux-menu:nth-of-type(2) .ux-menu-link:nth-child(3) .ux-menu-link__link,
.main-contact .contact-menu .ux-menu:nth-of-type(2) .ux-menu-link:nth-child(3) .ux-menu-link__text {
  color: #66748a !important;
}

/* ==================================================
   CONTACT FORM
================================================== */

.main-contact .feedback-form-container {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.main-contact .feedback-form-container h2 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #071733;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -0.4px;
  text-transform: none !important;
}

.main-contact .form-sub-desc {
  margin: 0 0 26px !important;
  color: #65748a;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 500;
}

.main-contact .contact-feedback-form {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.main-contact .form-group {
  width: 100%;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

.main-contact .form-group label {
  display: inline-block;
  margin: 0 0 8px !important;
  color: #071733;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 800;
}

.main-contact .form-group label span {
  color: #ff3131;
}

.main-contact .form-group br {
  display: none !important;
}

.main-contact .contact-feedback-form input,
.main-contact .contact-feedback-form textarea {
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid #dbe4ee !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #17233a !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.main-contact .contact-feedback-form input {
  height: 55px !important;
  min-height: 55px !important;
  padding: 0 20px !important;
  line-height: 55px !important;
}

.main-contact .contact-feedback-form textarea {
  min-height: 136px !important;
  padding: 16px 20px !important;
  line-height: 1.55 !important;
  resize: vertical;
}

.main-contact .contact-feedback-form input::placeholder,
.main-contact .contact-feedback-form textarea::placeholder {
  color: #98a5bd !important;
  opacity: 1;
}

.main-contact .contact-feedback-form input:focus,
.main-contact .contact-feedback-form textarea:focus {
  border-color: #03b0b1 !important;
  box-shadow: 0 0 0 3px rgba(3, 176, 177, 0.12) !important;
}

.main-contact .form-row {
  width: 100%;
  margin: 0 0 20px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.main-contact .form-row .form-group {
  margin-bottom: 0 !important;
}

.main-contact .form-row p {
  display: none !important;
}

.main-contact .contact-feedback-form > p {
  margin: 0 !important;
  padding: 0 !important;
}

.main-contact .feedback-submit-btn {
  width: 168px;
  height: 54px;
  min-height: 54px;
  margin: 0 !important;
  padding: 0 24px !important;
  border: none !important;
  border-radius: 8px !important;
  background: #03b0b1 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 54px !important;
  font-weight: 800 !important;
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 12px 24px rgba(3, 176, 177, 0.24) !important;
  cursor: pointer;
  transition: all 0.25s ease;
}

.main-contact .feedback-submit-btn:hover {
  background: #019597 !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(3, 176, 177, 0.3) !important;
}

/* ==================================================
   MAP
================================================== */

.main-contact .contact-maps p {
  margin: 0 !important;
  padding: 0 !important;
}

.main-contact .contact-maps iframe {
  display: block;
  width: 100% !important;
  height: 655px !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 18px !important;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(12, 35, 62, 0.08);
}

/* ==================================================
   IMAGE GALLERY BELOW
================================================== */

.main-contact .contact-img {
  width: 100%;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 40px 0 0 !important;
}

.main-contact .contact-img > .col {
  padding: 0 !important;
}

.main-contact .contact-img .text {
  margin: 0 0 24px !important;
  text-align: center !important;
}

.main-contact .contact-img .text h2 {
  margin: 0 !important;
  color: #071733 !important;
  font-size: 26px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

.main-contact .contact-img .row-full-width {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.main-contact .contact-img .row-full-width > .col {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: auto !important;
  padding: 0 !important;
}

.main-contact .contact-img .img,
.main-contact .contact-img .img-inner {
  width: 100% !important;
  margin: 0 !important;
  border-radius: 14px;
  overflow: hidden;
}

.main-contact .contact-img img {
  display: block;
  width: 100% !important;
  height: 210px !important;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.main-contact .contact-img .img:hover img {
  transform: scale(1.05);
}

/* ==================================================
   TABLET
================================================== */

@media (max-width: 1200px) {
  .main-contact .section-content > .row-small:first-of-type {
    grid-template-columns: 250px minmax(0, 1fr) 360px;
    gap: 32px;
  }

  .main-contact .feedback-form-container h2 {
    font-size: 25px !important;
  }

  .main-contact .contact-maps iframe {
    height: 620px !important;
  }
}

@media (max-width: 1024px) {
  .main-contact .section-content > .row-small:first-of-type {
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 32px;
  }

  .main-contact .contact-maps {
    grid-column: 2;
  }

  .main-contact .contact-maps iframe {
    height: 380px !important;
  }
}

@media (max-width: 849px) {
  .main-contact {
    padding: 22px 14px 34px !important;
  }

  .main-contact .section-content > .row-small:first-of-type {
    padding: 24px 0 30px !important;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .main-contact .contact-menu {
    order: 2;
  }

  .main-contact .contact-form {
    order: 1;
  }

  .main-contact .contact-maps {
    order: 3;
    grid-column: auto;
  }

  .main-contact .contact-menu .col-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 28px;
  }

  .main-contact .contact-menu p {
    margin-bottom: 10px !important;
  }

  .main-contact .feedback-form-container h2 {
    font-size: 23px !important;
  }

  .main-contact .contact-img .row-full-width {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .main-contact .contact-img img {
    height: 190px !important;
  }
}

/* ==================================================
   MOBILE
================================================== */

@media (max-width: 560px) {
  .main-contact {
    padding: 18px 12px 30px !important;
  }

  .main-contact .section-content > .row-small:first-of-type {
    padding: 22px 0 26px !important;
    gap: 24px;
  }

  .main-contact .feedback-form-container h2 {
    font-size: 21px !important;
    line-height: 1.35 !important;
  }

  .main-contact .form-sub-desc {
    margin-bottom: 20px !important;
    font-size: 13px;
  }

  .main-contact .contact-feedback-form input {
    height: 50px !important;
    min-height: 50px !important;
    line-height: 50px !important;
  }

  .main-contact .contact-feedback-form textarea {
    min-height: 120px !important;
  }

  .main-contact .form-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .main-contact .feedback-submit-btn {
    width: 100%;
    height: 48px;
    min-height: 48px;
    line-height: 48px !important;
  }

  .main-contact .contact-maps iframe {
    height: 330px !important;
    border-radius: 14px !important;
  }

  .main-contact .contact-menu .col-inner {
    display: block;
  }

  .main-contact .contact-menu p {
    margin-top: 20px !important;
  }

  .main-contact .contact-menu p:first-child {
    margin-top: 0 !important;
  }

  .main-contact .contact-menu .ux-menu {
    margin-bottom: 20px !important;
  }

  .main-contact .contact-img {
    padding-top: 28px !important;
  }

  .main-contact .contact-img .text h2 {
    font-size: 21px !important;
  }

  .main-contact .contact-img .row-full-width {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .main-contact .contact-img img {
    height: 220px !important;
  }
}

/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 380px) {
  .main-contact {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .main-contact .feedback-form-container h2 {
    font-size: 20px !important;
  }

  .main-contact .contact-feedback-form input,
  .main-contact .contact-feedback-form textarea {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .main-contact .contact-img img {
    height: 200px !important;
  }
}
/* =========================================
   KEYSHU BLOG TOP LAYOUT
   Scope: .blog-top
========================================= */

.blog-top {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto !important;
  padding: 0 10px;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.9fr);
  gap: 32px;
  align-items: start;
}

/* Reset Flatsome column spacing */
.blog-top > .col {
  max-width: 100% !important;
  flex-basis: auto !important;
  padding: 0 !important;
}

.blog-top .col-inner {
  height: 100%;
}

/* Ẩn badge ngày tháng của Flatsome */
.blog-top .badge.post-date {
  display: none !important;
}

/* Bỏ divider mặc định */
.blog-top .is-divider {
  display: none !important;
}

/* Reset box chung */
.blog-top .box-blog-post {
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.blog-top .box-text {
  padding: 0 !important;
  text-align: left !important;
  background: transparent !important;
}

.blog-top .box-text-inner {
  padding: 0 !important;
}

/* Ảnh chung */
.blog-top .box-image,
.blog-top .image-cover {
  border-radius: 16px;
  overflow: hidden;
  background: #f7f8fa;
}

.blog-top .image-cover {
  padding-top: 0 !important;
}

.blog-top .image-cover img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit;
  transform: none !important;
  transition: transform 0.35s ease;
}

.blog-top .box-blog-post:hover .image-cover img {
  transform: scale(1.035) !important;
}

/* Link */
.blog-top a {
  text-decoration: none !important;
}

.blog-top .post-title {
  margin: 0 !important;
}

.blog-top .post-title a {
  color: #18233b !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.blog-top .from_the_blog_excerpt {
  margin: 0 !important;
  color: #667085 !important;
  font-weight: 500;
}

/* =========================================
   LEFT FEATURED POST
========================================= */

.blog-top > .col:first-child .row {
  margin: 0 !important;
}

.blog-top > .col:first-child .post-item {
  padding: 0 !important;
}

.blog-top > .col:first-child .box-image {
  margin-bottom: 42px;
}

.blog-top > .col:first-child .image-cover {
  width: 100%;
  aspect-ratio: 16 / 9.5;
  min-height: 360px;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.06);
}

.blog-top > .col:first-child .post-title {
  max-width: 720px;
  margin-bottom: 16px !important;
}

.blog-top > .col:first-child .post-title a {
  font-size: 25px !important;
  line-height: 1.28 !important;
}

.blog-top > .col:first-child .from_the_blog_excerpt {
  max-width: 720px;
  font-size: 14px !important;
  line-height: 1.75 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* =========================================
   RIGHT POST LIST
========================================= */

.blog-top > .col:last-child > .col-inner > .row {
  margin: 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 0;
}

.blog-top > .col:last-child .post-item {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
  padding: 0 !important;
}

.blog-top > .col:last-child .post-item:not(:last-child) {
  padding-bottom: 20px !important;
  margin-bottom: 20px !important;
  border-bottom: 1px dashed #d7dee8;
}

.blog-top > .col:last-child .box-blog-post {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.blog-top > .col:last-child .box-image {
  margin: 0 !important;
}

.blog-top > .col:last-child .image-cover {
  width: 210px;
  aspect-ratio: 16 / 9;
  min-height: 118px;
  border-radius: 11px;
}

.blog-top > .col:last-child .box-text {
  min-width: 0;
}

.blog-top > .col:last-child .post-title {
  margin-bottom: 8px !important;
}

.blog-top > .col:last-child .post-title a {
  font-size: 14px !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-top > .col:last-child .from_the_blog_excerpt {
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* =========================================
   RESPONSIVE TABLET
========================================= */

@media (max-width: 1024px) {
  .blog-top {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 0 18px;
  }

  .blog-top > .col:first-child .box-image {
    margin-bottom: 24px;
  }

  .blog-top > .col:first-child .image-cover {
    min-height: auto;
    aspect-ratio: 16 / 9;
  }

  .blog-top > .col:first-child .post-title a {
    font-size: 23px !important;
  }

  .blog-top > .col:last-child .box-blog-post {
    grid-template-columns: 190px minmax(0, 1fr);
  }

  .blog-top > .col:last-child .image-cover {
    width: 190px;
  }
}

/* =========================================
   RESPONSIVE MOBILE
========================================= */

@media (max-width: 767px) {
  .blog-top {
    display: block !important;
    padding: 0 15px;
  }

  .blog-top > .col:first-child {
    margin-bottom: 26px;
  }

  .blog-top > .col:first-child .box-image {
    margin-bottom: 18px;
  }

  .blog-top > .col:first-child .image-cover {
    border-radius: 14px;
    aspect-ratio: 16 / 10;
  }

  .blog-top > .col:first-child .post-title {
    margin-bottom: 10px !important;
  }

  .blog-top > .col:first-child .post-title a {
    font-size: 21px !important;
    line-height: 1.32 !important;
  }

  .blog-top > .col:first-child .from_the_blog_excerpt {
    font-size: 13.5px !important;
    line-height: 1.65 !important;
    -webkit-line-clamp: 3;
  }

  .blog-top > .col:last-child .post-item:not(:last-child) {
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
  }

  .blog-top > .col:last-child .box-blog-post {
    grid-template-columns: 126px minmax(0, 1fr);
    gap: 12px;
  }

  .blog-top > .col:last-child .image-cover {
    width: 126px;
    min-height: 82px;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
  }

  .blog-top > .col:last-child .post-title a {
    font-size: 13.2px !important;
    line-height: 1.35 !important;
    -webkit-line-clamp: 2;
  }

  .blog-top > .col:last-child .from_the_blog_excerpt {
    font-size: 12px !important;
    line-height: 1.45 !important;
    -webkit-line-clamp: 2;
  }
}

/* Mobile nhỏ */
@media (max-width: 420px) {
  .blog-top {
    padding: 0 12px;
  }

  .blog-top > .col:first-child .post-title a {
    font-size: 19px !important;
  }

  .blog-top > .col:last-child .box-blog-post {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
  }

  .blog-top > .col:last-child .image-cover {
    width: 112px;
    min-height: 76px;
  }

  .blog-top > .col:last-child .post-title a {
    font-size: 12.8px !important;
  }

  .blog-top > .col:last-child .from_the_blog_excerpt {
    font-size: 11.5px !important;
  }
}
/* =========================================
   KEYSHU BLOG FOOTER GRID
   Scope: .blog-footer
========================================= */

.blog-footer {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto !important;
  padding: 0 36px 40px;
  box-sizing: border-box;
}

/* Reset Flatsome row/column */
.blog-footer > .col {
  padding: 0 !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
}

.blog-footer .col-inner {
  width: 100%;
}

/* Heading */
.blog-footer h2.uppercase {
  margin: 0 0 24px !important;
  color: #1f2937;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: 0.2px;
  text-transform: uppercase;
}

/* Grid bài viết */
.blog-footer .row.large-columns-4,
.blog-footer .row.row-small {
  width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 28px;
}

/* Card item */
.blog-footer .post-item {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: auto !important;
  padding: 0 !important;
}

.blog-footer .post-item .col-inner {
  height: 100%;
}

.blog-footer .box-blog-post {
  height: 100%;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  transition: transform 0.25s ease;
}

.blog-footer .box-blog-post:hover {
  transform: translateY(-4px);
}

/* Image */
.blog-footer .box-image {
  width: 100%;
  margin: 0 0 16px !important;
  border-radius: 11px;
  overflow: hidden;
  background: #f3f6f8;
}

.blog-footer .image-cover {
  width: 100%;
  padding-top: 0 !important;
  aspect-ratio: 16 / 9.8;
  border-radius: 11px;
  overflow: hidden;
  background: #f3f6f8;
}

.blog-footer .image-cover img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit;
  transform: none !important;
  transition: transform 0.35s ease;
}

.blog-footer .box-blog-post:hover .image-cover img {
  transform: scale(1.04) !important;
}

/* Text */
.blog-footer .box-text {
  padding: 0 !important;
  text-align: left !important;
  background: transparent !important;
}

.blog-footer .box-text-inner {
  padding: 0 !important;
}

.blog-footer .post-title {
  margin: 0 0 10px !important;
  min-height: 42px;
}

.blog-footer .post-title a {
  color: #1f2937 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  text-decoration: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-footer .post-title a:hover {
  color: #03B0B1 !important;
}

/* Ẩn ngày và divider như ảnh mẫu */
.blog-footer .post-meta,
.blog-footer .is-divider,
.blog-footer .badge.post-date {
  display: none !important;
}

/* Mô tả */
.blog-footer .from_the_blog_excerpt {
  margin: 0 !important;
  color: #667085 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  font-weight: 500;
  text-align: left !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Link reset */
.blog-footer a {
  text-decoration: none !important;
}

/* Xử lý bài không có ảnh */
.blog-footer .box-blog-post:not(:has(.box-image)) {
  padding-top: 0;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {
  .blog-footer {
    padding: 0 22px 36px;
  }

  .blog-footer h2.uppercase {
    font-size: 23px;
    margin-bottom: 22px !important;
  }

  .blog-footer .row.large-columns-4,
  .blog-footer .row.row-small {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 22px;
  }

  .blog-footer .post-title {
    min-height: auto;
  }

  .blog-footer .post-title a {
    font-size: 14px !important;
  }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
  .blog-footer {
    padding: 0 15px 34px;
  }

  .blog-footer h2.uppercase {
    margin-bottom: 18px !important;
    font-size: 21px;
    line-height: 1.3;
  }

  .blog-footer .row.large-columns-4,
  .blog-footer .row.row-small {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .blog-footer .box-blog-post:hover {
    transform: none;
  }

  .blog-footer .box-image {
    margin-bottom: 13px !important;
    border-radius: 10px;
  }

  .blog-footer .image-cover {
    aspect-ratio: 16 / 9.5;
    border-radius: 10px;
  }

  .blog-footer .post-title {
    margin-bottom: 8px !important;
  }

  .blog-footer .post-title a {
    font-size: 14px !important;
    line-height: 1.42 !important;
  }

  .blog-footer .from_the_blog_excerpt {
    font-size: 13px !important;
    line-height: 1.6 !important;
    -webkit-line-clamp: 2;
  }
}

/* MOBILE NHỎ */
@media (max-width: 420px) {
  .blog-footer {
    padding-left: 12px;
    padding-right: 12px;
  }

  .blog-footer h2.uppercase {
    font-size: 19px;
  }

  .blog-footer .row.large-columns-4,
  .blog-footer .row.row-small {
    gap: 22px;
  }

  .blog-footer .post-title a {
    font-size: 13.5px !important;
  }

  .blog-footer .from_the_blog_excerpt {
    font-size: 12.5px !important;
  }
}
/* =========================================
   KEYSHU BLOG SEARCH + CATEGORY PILLS
   Scope: .blog-search
========================================= */

.blog-search {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto !important;
  padding: 0 13px 22px;
  box-sizing: border-box;
}

/* Reset Flatsome row/col */
.blog-search > .col {
  padding: 0 !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
}

.blog-search .col-inner {
  width: 100%;
}

/* Search wrapper */
.blog-search .keyshu-blog-search-wrap {
  width: 100%;
  max-width: 100%;
  margin: 0 0 24px !important;
  padding: 0 !important;
  box-sizing: border-box;
}

/* Label */
.blog-search .keyshu-blog-search-label {
  margin: 0 0 9px !important;
  color: #1f2937;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
}

/* Form */
.blog-search .keyshu-blog-search-form {
  position: relative;
  width: 100%;
  height: 46px;
  margin: 0 !important;
  display: block;
}

/* Input */
.blog-search .keyshu-blog-search-form input[type="search"] {
  width: 100%;
  height: 46px;
  margin: 0 !important;
  padding: 0 54px 0 16px !important;
  border: 1px solid #d8e1ec !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #1f2937 !important;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 46px;
  outline: none !important;
  box-shadow: none !important;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.blog-search .keyshu-blog-search-form input[type="search"]::placeholder {
  color: #6b7280;
  opacity: 0.82;
}

.blog-search .keyshu-blog-search-form input[type="search"]:focus {
  border-color: #03B0B1 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(3, 176, 177, 0.12) !important;
}

/* Search button */
.blog-search .keyshu-blog-search-form button {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 28px;
  height: 28px;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50%;
  background: transparent !important;
  color: #8fa1b5 !important;
  cursor: pointer;
  box-shadow: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  transition: color 0.22s ease, transform 0.22s ease;
}

.blog-search .keyshu-blog-search-form button:hover {
  color: #03B0B1 !important;
  transform: translateY(-50%) scale(1.06);
}

.blog-search .keyshu-blog-search-form button svg {
  display: block;
}

/* Xóa icon clear mặc định của trình duyệt */
.blog-search .keyshu-blog-search-form input[type="search"]::-webkit-search-decoration,
.blog-search .keyshu-blog-search-form input[type="search"]::-webkit-search-cancel-button,
.blog-search .keyshu-blog-search-form input[type="search"]::-webkit-search-results-button,
.blog-search .keyshu-blog-search-form input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

/* =========================================
   CATEGORY MENU PILLS
========================================= */

.blog-search .ux-menu {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  border: none !important;
}

/* Xóa divider mặc định Flatsome */
.blog-search .ux-menu--divider-solid,
.blog-search .ux-menu--divider-solid .ux-menu-link,
.blog-search .ux-menu--divider-solid .ux-menu-link:not(:last-child) {
  border: none !important;
}

.blog-search .ux-menu-link {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
  border: none !important;
}

.blog-search .ux-menu-link__link {
  min-height: 38px;
  padding: 0 24px !important;
  border-radius: 999px;
  background: #e5f8f8;
  color: #03AEB0 !important;
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  box-shadow: none;
  white-space: nowrap;
  transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.blog-search .ux-menu-link__text {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
}

/* Item đầu tiên active: Tất cả bài viết */
.blog-search .ux-menu-link:first-child .ux-menu-link__link {
  background: #03B0B1 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(3, 176, 177, 0.22);
}

/* Hover */
.blog-search .ux-menu-link:not(:first-child) .ux-menu-link__link:hover {
  background: #03B0B1 !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(3, 176, 177, 0.2);
}

.blog-search .ux-menu-link:first-child .ux-menu-link__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(3, 176, 177, 0.28);
}

/* =========================================
   RESPONSIVE TABLET
========================================= */

@media (max-width: 1024px) {
  .blog-search {
    padding: 0 18px 22px;
  }

  .blog-search .keyshu-blog-search-wrap {
    margin-bottom: 22px !important;
  }

  .blog-search .ux-menu {
    gap: 10px !important;
  }

  .blog-search .ux-menu-link__link {
    min-height: 37px;
    padding: 0 20px !important;
    font-size: 13.5px;
  }
}

/* =========================================
   RESPONSIVE MOBILE
========================================= */

@media (max-width: 767px) {
  .blog-search {
    padding: 0 15px 20px;
  }

  .blog-search .keyshu-blog-search-label {
    font-size: 14px;
    margin-bottom: 8px !important;
  }

  .blog-search .keyshu-blog-search-form,
  .blog-search .keyshu-blog-search-form input[type="search"] {
    height: 44px;
  }

  .blog-search .keyshu-blog-search-form input[type="search"] {
    padding-left: 14px !important;
    padding-right: 50px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
  }

  .blog-search .keyshu-blog-search-form button {
    right: 12px;
  }

  .blog-search .keyshu-blog-search-wrap {
    margin-bottom: 18px !important;
  }

  /* Mobile cho menu cuộn ngang, không vỡ layout */
  .blog-search .ux-menu {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 10px !important;
    padding-bottom: 2px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .blog-search .ux-menu::-webkit-scrollbar {
    display: none;
  }

  .blog-search .ux-menu-link__link {
    min-height: 36px;
    padding: 0 18px !important;
    font-size: 13px;
  }
}

/* Mobile nhỏ */
@media (max-width: 420px) {
  .blog-search {
    padding-left: 12px;
    padding-right: 12px;
  }

  .blog-search .ux-menu-link__link {
    min-height: 34px;
    padding: 0 16px !important;
    font-size: 12.5px;
  }
}
/* ==================================================
   KEYSHU SINGLE BLOG DETAIL
   Scope: single post Flatsome
================================================== */

body.single-post {
  background: #ffffff;
  color: #2b3445;
}

/* Container tổng */
body.single-post .page-wrapper,
body.single-post #main {
  background: #ffffff;
}

body.single-post .page-wrapper > .row,
body.single-post #content > .row,
body.single-post .blog-wrapper > .row {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px;
  padding-right: 24px;
  align-items: flex-start;
}

/* Main content */
body.single-post .large-9.col {
  padding-right: 48px;
}

body.single-post article.post {
  width: 100%;
}

body.single-post .article-inner {
  position: relative;
}

/* Ẩn ảnh đại diện đầu bài nếu muốn giao diện giống ảnh mẫu */
body.single-post .entry-image {
  display: none !important;
}

/* Ẩn badge ngày mặc định */
body.single-post .badge.post-date {
  display: none !important;
}

/* Header bài viết */
body.single-post .entry-header {
  margin: 0 0 26px;
  padding: 0 0 28px;
  border-bottom: 1px solid #edf1f5;
}

body.single-post .entry-header-text {
  max-width: 100%;
  padding: 0 !important;
  text-align: left !important;
}

/* Ẩn category nhỏ mặc định ở trên tiêu đề */
body.single-post .entry-category {
  display: none !important;
}

/* Tiêu đề */
body.single-post .entry-title {
  max-width: 760px;
  margin: 0 0 22px !important;
  color: #1f2937;
  font-size: 34px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: -0.04em;
  text-align: left;
}

/* Bỏ divider mặc định */
body.single-post .entry-divider,
body.single-post .is-divider {
  display: none !important;
}

/* Meta ngày đăng */
body.single-post .entry-header .entry-meta {
  margin: 0 !important;
  color: #64748b;
  font-size: 14px !important;
  line-height: 1.5;
  font-weight: 600;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body.single-post .entry-header .entry-meta .posted-on {
  color: transparent;
  font-size: 0;
}

body.single-post .entry-header .entry-meta .posted-on a,
body.single-post .entry-header .entry-meta time {
  color: #64748b !important;
  font-size: 14px !important;
  font-weight: 600;
  text-decoration: none !important;
}

body.single-post .entry-header .entry-meta .byline {
  display: none !important;
}

/* ==================================================
   CONTENT
================================================== */

body.single-post .entry-content.single-page {
  max-width: 780px;
  margin: 0;
  padding: 0 !important;
  color: #475569;
  font-size: 16px;
  line-height: 1.85;
  font-weight: 500;
}

body.single-post .entry-content p {
  margin: 0 0 22px;
  color: #475569;
  font-size: 16px;
  line-height: 1.85;
  font-weight: 500;
}

/* Đoạn mở đầu dạng quote như ảnh */
body.single-post .entry-content > p:first-of-type {
  margin: 0 0 28px;
  padding: 4px 0 4px 18px;
  border-left: 4px solid #03B0B1;
  color: #1f2937;
  font-size: 17px;
  line-height: 1.8;
  font-weight: 800;
}

/* Heading trong bài */
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4 {
  margin: 38px 0 18px;
  color: #1f2937;
  line-height: 1.45;
  font-weight: 800;
  letter-spacing: -0.02em;
}

body.single-post .entry-content h2 {
  font-size: 23px;
  text-transform: uppercase;
}

body.single-post .entry-content h3 {
  font-size: 20px;
}

body.single-post .entry-content h4 {
  font-size: 18px;
}

body.single-post .entry-content strong {
  color: #1f2937;
  font-weight: 800;
}

body.single-post .entry-content a {
  color: #03B0B1;
  font-weight: 700;
  text-decoration: none;
}

body.single-post .entry-content a:hover {
  color: #028f91;
}

/* Ảnh trong bài */
body.single-post .entry-content figure {
  margin: 30px 0;
}

body.single-post .entry-content figure img,
body.single-post .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
  display: block;
}

body.single-post .entry-content em {
  color: #64748b;
  font-size: 14px;
  line-height: 1.6;
}

/* ==================================================
   CATEGORY / FOOTER META
================================================== */

body.single-post footer.entry-meta {
  max-width: 780px;
  margin: 34px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid #edf1f5;
  color: #64748b;
  font-size: 14px;
  line-height: 1.7;
  text-align: left !important;
}

body.single-post footer.entry-meta a {
  color: #1f2937;
  font-weight: 800;
  text-decoration: none;
}

/* Ẩn author box, điều hướng bài viết, comment nếu muốn giao diện sạch như ảnh */
body.single-post .entry-author,
body.single-post .navigation-post,
body.single-post #comments {
  display: none !important;
}


/* ==================================================
   KEYSHU BLOG ARCHIVE GRID
   Scope: Blog archive / category page
================================================== */

body.archive #content.blog-wrapper,
body.blog #content.blog-wrapper {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 20px 32px 60px;
  background: #ffffff;
  box-sizing: border-box;
}

/* Ẩn tiêu đề archive mặc định: "Lưu trữ danh mục..." */
body.archive .archive-page-header,
body.blog .archive-page-header {
  display: none !important;
}

/* Layout tổng: đưa sidebar danh mục lên trên, bài viết xuống dưới */
body.archive #content.blog-wrapper > .row.row-large,
body.blog #content.blog-wrapper > .row.row-large {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 44px;
  border: none !important;
}

/* Reset cột Flatsome */
body.archive #content.blog-wrapper .large-9.col,
body.archive #content.blog-wrapper .post-sidebar.large-3.col,
body.blog #content.blog-wrapper .large-9.col,
body.blog #content.blog-wrapper .post-sidebar.large-3.col {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
  padding: 0 !important;
  border: none !important;
}

/* Sidebar danh mục đưa lên đầu */
body.archive #content.blog-wrapper .post-sidebar,
body.blog #content.blog-wrapper .post-sidebar {
  order: -1;
}

body.archive #secondary,
body.blog #secondary {
  margin: 0 !important;
  padding: 0 !important;
}

/* Widget danh mục */
body.archive .widget_categories,
body.blog .widget_categories {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Ẩn tiêu đề "Danh mục" */
body.archive .widget_categories .widget-title,
body.archive .widget_categories .is-divider,
body.blog .widget_categories .widget-title,
body.blog .widget_categories .is-divider {
  display: none !important;
}

/* Menu danh mục dạng pill */
body.archive .widget_categories ul,
body.blog .widget_categories ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

body.archive .widget_categories li,
body.blog .widget_categories li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  color: transparent;
  font-size: 0;
  line-height: 0;
}

body.archive .widget_categories li a,
body.blog .widget_categories li a {
  min-height: 38px;
  padding: 0 24px;
  border-radius: 999px;
  background: #e5f8f8;
  color: #03AEB0 !important;
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border: 1px solid transparent;
  transition: all 0.22s ease;
}

/* Danh mục đang active */
body.archive .widget_categories li.current-cat > a,
body.archive .widget_categories li.active > a,
body.blog .widget_categories li.current-cat > a,
body.blog .widget_categories li.active > a {
  background: #03B0B1 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(3, 176, 177, 0.22);
}

body.archive .widget_categories li a:hover,
body.blog .widget_categories li a:hover {
  background: #03B0B1 !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(3, 176, 177, 0.2);
}

/* ==================================================
   POST GRID
================================================== */

body.archive #post-list,
body.blog #post-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 28px;
}

/* Card bài viết */
body.archive #post-list article.post,
body.blog #post-list article.post {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent;
}

body.archive #post-list .article-inner,
body.blog #post-list .article-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: transparent;
  border: none;
  box-shadow: none;
}

/* Header trong card */
body.archive #post-list .entry-header,
body.blog #post-list .entry-header {
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
}

/* Đưa ảnh lên trên tiêu đề */
body.archive #post-list .entry-image,
body.blog #post-list .entry-image {
  order: 1;
  margin: 0 0 16px !important;
  border-radius: 11px;
  overflow: hidden;
  background: #f3f6f8;
}

body.archive #post-list .entry-header-text,
body.blog #post-list .entry-header-text {
  order: 2;
  padding: 0 !important;
  text-align: left !important;
}

/* Ảnh bài viết */
body.archive #post-list .entry-image a,
body.blog #post-list .entry-image a {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9.8;
  overflow: hidden;
  border-radius: 11px;
}

body.archive #post-list .entry-image img,
body.blog #post-list .entry-image img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover !important;
  border-radius: inherit;
  transition: transform 0.35s ease;
}

body.archive #post-list article.post:hover .entry-image img,
body.blog #post-list article.post:hover .entry-image img {
  transform: scale(1.04);
}

/* Ẩn badge ngày, category, meta, divider */
body.archive #post-list .badge.post-date,
body.archive #post-list .entry-category,
body.archive #post-list .entry-meta,
body.archive #post-list .entry-divider,
body.archive #post-list .is-divider,
body.archive #post-list footer.entry-meta,
body.blog #post-list .badge.post-date,
body.blog #post-list .entry-category,
body.blog #post-list .entry-meta,
body.blog #post-list .entry-divider,
body.blog #post-list .is-divider,
body.blog #post-list footer.entry-meta {
  display: none !important;
}

/* Tiêu đề bài viết */
body.archive #post-list .entry-title,
body.blog #post-list .entry-title {
  margin: 0 0 10px !important;
  min-height: 42px;
  text-align: left !important;
}

body.archive #post-list .entry-title a,
body.blog #post-list .entry-title a {
  color: #1f2937 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  text-decoration: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.archive #post-list .entry-title a:hover,
body.blog #post-list .entry-title a:hover {
  color: #03B0B1 !important;
}

/* Nội dung mô tả */
body.archive #post-list .entry-content,
body.blog #post-list .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

body.archive #post-list .entry-summary,
body.blog #post-list .entry-summary {
  margin: 0 !important;
  padding: 0 !important;
}

body.archive #post-list .entry-summary p,
body.blog #post-list .entry-summary p {
  margin: 0 !important;
  color: #667085 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  font-weight: 500;
  text-align: left !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Ẩn nút "Tiếp tục đọc" */
body.archive #post-list .more-link,
body.archive #post-list .entry-summary .text-center,
body.blog #post-list .more-link,
body.blog #post-list .entry-summary .text-center {
  display: none !important;
}

/* Hover card nhẹ */
body.archive #post-list article.post .article-inner,
body.blog #post-list article.post .article-inner {
  transition: transform 0.25s ease;
}

body.archive #post-list article.post:hover .article-inner,
body.blog #post-list article.post:hover .article-inner {
  transform: translateY(-4px);
}

/* ==================================================
   RESPONSIVE TABLET
================================================== */

@media (max-width: 1024px) {
  body.archive #content.blog-wrapper,
  body.blog #content.blog-wrapper {
    padding: 18px 22px 50px;
  }

  body.archive #content.blog-wrapper > .row.row-large,
  body.blog #content.blog-wrapper > .row.row-large {
    gap: 34px;
  }

  body.archive #post-list,
  body.blog #post-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 22px;
  }

  body.archive .widget_categories ul,
  body.blog .widget_categories ul {
    gap: 10px;
  }

  body.archive .widget_categories li a,
  body.blog .widget_categories li a {
    min-height: 37px;
    padding: 0 20px;
    font-size: 13.5px;
  }
}

/* ==================================================
   RESPONSIVE MOBILE
================================================== */

@media (max-width: 767px) {
  body.archive #content.blog-wrapper,
  body.blog #content.blog-wrapper {
    padding: 14px 15px 42px;
  }

  body.archive #content.blog-wrapper > .row.row-large,
  body.blog #content.blog-wrapper > .row.row-large {
    gap: 28px;
  }

  /* Menu danh mục cuộn ngang trên mobile */
  body.archive .widget_categories ul,
  body.blog .widget_categories ul {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 10px;
    padding-bottom: 2px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.archive .widget_categories ul::-webkit-scrollbar,
  body.blog .widget_categories ul::-webkit-scrollbar {
    display: none;
  }

  body.archive .widget_categories li,
  body.blog .widget_categories li {
    flex: 0 0 auto;
  }

  body.archive .widget_categories li a,
  body.blog .widget_categories li a {
    min-height: 36px;
    padding: 0 18px;
    font-size: 13px;
  }

  body.archive #post-list,
  body.blog #post-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }

  body.archive #post-list .entry-image,
  body.blog #post-list .entry-image {
    margin-bottom: 12px !important;
    border-radius: 10px;
  }

  body.archive #post-list .entry-image a,
  body.blog #post-list .entry-image a {
    aspect-ratio: 16 / 10;
    border-radius: 10px;
  }

  body.archive #post-list .entry-title,
  body.blog #post-list .entry-title {
    min-height: auto;
    margin-bottom: 8px !important;
  }

  body.archive #post-list .entry-title a,
  body.blog #post-list .entry-title a {
    font-size: 13.5px !important;
    line-height: 1.42 !important;
  }

  body.archive #post-list .entry-summary p,
  body.blog #post-list .entry-summary p {
    font-size: 12.5px !important;
    line-height: 1.55 !important;
  }

  body.archive #post-list article.post:hover .article-inner,
  body.blog #post-list article.post:hover .article-inner {
    transform: none;
  }
}

/* ==================================================
   MOBILE NHỎ
================================================== */

@media (max-width: 480px) {
  body.archive #content.blog-wrapper,
  body.blog #content.blog-wrapper {
    padding-left: 12px;
    padding-right: 12px;
  }

  body.archive #post-list,
  body.blog #post-list {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body.archive .widget_categories li a,
  body.blog .widget_categories li a {
    min-height: 34px;
    padding: 0 16px;
    font-size: 12.5px;
  }

  body.archive #post-list .entry-title a,
  body.blog #post-list .entry-title a {
    font-size: 14px !important;
  }

  body.archive #post-list .entry-summary p,
  body.blog #post-list .entry-summary p {
    font-size: 13px !important;
  }
}
/* ==================================================
   KEYSHU - SECTION GIỚI THIỆU
   WordPress + Flatsome UX Builder
   Scope riêng: .keyshu-gioi-thieu
   Màu chính: #03B0B1
================================================== */

.keyshu-gioi-thieu {
  --ks-main: #03B0B1;
  --ks-main-dark: #028f91;
  --ks-main-deep: #017577;
  --ks-main-soft: rgba(3, 176, 177, 0.14);

  --ks-text: #123426;
  --ks-muted: #365449;
  --ks-cream: #f6efe2;

  position: relative !important;
  min-height: 660px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f7efe3 !important;
}

/* Ảnh nền */
.keyshu-gioi-thieu .section-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

.keyshu-gioi-thieu .section-bg img.bg {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center right !important;
}

/* Lớp phủ nhẹ để chữ dễ đọc */
.keyshu-gioi-thieu::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(255, 250, 240, 0.26) 0%,
    rgba(255, 250, 240, 0.18) 38%,
    rgba(255, 250, 240, 0.04) 70%,
    rgba(255, 250, 240, 0) 100%
  );
}

.keyshu-gioi-thieu .section-content {
  position: relative !important;
  z-index: 5 !important;
  min-height: 660px !important;
}

/* Layout chính - menu trái responsive 320px đến 400px */
.keyshu-gioi-thieu .row-full-width,
.keyshu-gioi-thieu .row-collapse {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 660px !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: clamp(320px, 28vw, 400px) minmax(560px, 720px) 1fr !important;
  align-items: stretch !important;
}

/* Reset cột Flatsome trong section này */
.keyshu-gioi-thieu .col {
  max-width: none !important;
  flex-basis: auto !important;
  padding: 0 !important;
}

.keyshu-gioi-thieu .col-inner {
  height: 100% !important;
}

/* ==================================================
   MENU TRÁI
================================================== */

.keyshu-gioi-thieu .gioi-thieu-menu {
  position: relative !important;
  min-height: 660px !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,0.2), transparent 30%),
    linear-gradient(180deg, var(--ks-main) 0%, var(--ks-main-dark) 52%, var(--ks-main-deep) 100%) !important;
  box-shadow: 14px 0 35px rgba(3, 176, 177, 0.24) !important;
  overflow: hidden;
}

.keyshu-gioi-thieu .gioi-thieu-menu::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.12), transparent 42%),
    radial-gradient(circle at 0 100%, rgba(255,255,255,0.16), transparent 38%) !important;
  pointer-events: none;
}

.keyshu-gioi-thieu .gioi-thieu-menu .col-inner {
  position: relative;
  z-index: 2;
  padding: 42px 48px 34px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Logo */
.keyshu-gioi-thieu .ux-logo {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 42px !important;
}

.keyshu-gioi-thieu .ux-logo-link {
  padding: 0 !important;
  display: block !important;
}

.keyshu-gioi-thieu .ux-logo-image {
  height: 50px !important;
  width: auto !important;
  max-width: 190px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
}

/* Xoá divider mặc định của Flatsome */
.keyshu-gioi-thieu .ux-menu,
.keyshu-gioi-thieu .ux-menu-link,
.keyshu-gioi-thieu .ux-menu-link__link {
  border: none !important;
  box-shadow: none !important;
}

.keyshu-gioi-thieu .ux-menu--divider-solid > .ux-menu-link,
.keyshu-gioi-thieu .ux-menu--divider-solid .ux-menu-link,
.keyshu-gioi-thieu .ux-menu-link::before,
.keyshu-gioi-thieu .ux-menu-link::after {
  border: none !important;
  box-shadow: none !important;
}

.keyshu-gioi-thieu .ux-menu {
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
}

.keyshu-gioi-thieu .ux-menu-link {
  margin: 0 !important;
  padding: 0 !important;
}

/* Item menu */
.keyshu-gioi-thieu .ux-menu-link__link {
  position: relative;
  width: 100%;
  min-height: 48px;
  padding: 0 16px 0 52px !important;
  /* border-radius: 999px; */
  background: rgba(255, 255, 255, 0.07) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  transition: all 0.25s ease;
  border-radius: 20px 5px 20px 20px;
}

.keyshu-gioi-thieu .ux-menu-link__text {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-transform: uppercase;
}

/* Icon menu bằng SVG mask, không phụ thuộc Font Awesome */
.keyshu-gioi-thieu .ux-menu-link__link::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  width: 19px;
  height: 19px;
  transform: translateY(-50%);
  background-color: currentColor !important;
  opacity: 0.95;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

/* 1. Giới thiệu */
.keyshu-gioi-thieu .ux-menu-link:nth-child(1) .ux-menu-link__link::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5 10.5V20h14v-9.5'/%3E%3Cpath d='M9.5 20v-6h5v6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5 10.5V20h14v-9.5'/%3E%3Cpath d='M9.5 20v-6h5v6'/%3E%3C/svg%3E");
}

/* 2. Câu chuyện thương hiệu */
.keyshu-gioi-thieu .ux-menu-link:nth-child(2) .ux-menu-link__link::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v17H7a3 3 0 0 0-3 3V5.5Z'/%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v17H7a3 3 0 0 0-3 3V5.5Z'/%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3C/svg%3E");
}

/* 3. Tầm nhìn */
.keyshu-gioi-thieu .ux-menu-link:nth-child(3) .ux-menu-link__link::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3'/%3E%3C/svg%3E");
}

/* 4. Quy trình sản xuất */
.keyshu-gioi-thieu .ux-menu-link:nth-child(4) .ux-menu-link__link::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6'/%3E%3Cpath d='M10 3v6l-5 9a2 2 0 0 0 1.7 3h10.6a2 2 0 0 0 1.7-3l-5-9V3'/%3E%3Cpath d='M8 15h8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6'/%3E%3Cpath d='M10 3v6l-5 9a2 2 0 0 0 1.7 3h10.6a2 2 0 0 0 1.7-3l-5-9V3'/%3E%3Cpath d='M8 15h8'/%3E%3C/svg%3E");
}

/* 5. Con số nổi bật */
.keyshu-gioi-thieu .ux-menu-link:nth-child(5) .ux-menu-link__link::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5'/%3E%3Cpath d='M4 19h16'/%3E%3Cpath d='M8 16v-5'/%3E%3Cpath d='M12 16V8'/%3E%3Cpath d='M16 16v-9'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5'/%3E%3Cpath d='M4 19h16'/%3E%3Cpath d='M8 16v-5'/%3E%3Cpath d='M12 16V8'/%3E%3Cpath d='M16 16v-9'/%3E%3C/svg%3E");
}

/* 6. Giấy chứng nhận */
.keyshu-gioi-thieu .ux-menu-link:nth-child(6) .ux-menu-link__link::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-6-3-6 3V3Z'/%3E%3Cpath d='M9 8h6'/%3E%3Cpath d='M9 12h6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-6-3-6 3V3Z'/%3E%3Cpath d='M9 8h6'/%3E%3Cpath d='M9 12h6'/%3E%3C/svg%3E");
}

/* 7. Hình ảnh Keyshu */
.keyshu-gioi-thieu .ux-menu-link:nth-child(7) .ux-menu-link__link::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.5'/%3E%3Cpath d='M20 16l-5-5-4 4-2-2-5 5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.5'/%3E%3Cpath d='M20 16l-5-5-4 4-2-2-5 5'/%3E%3C/svg%3E");
}

/* Active + hover */
.keyshu-gioi-thieu .ux-menu-link:first-child .ux-menu-link__link,
.keyshu-gioi-thieu .ux-menu-link__link:hover {
  background: #ffffff !important;
  color: var(--ks-main) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.55),
    0 10px 22px rgba(0, 102, 103, 0.18) !important;
  border-radius: 20px 5px 20px 20px !important;
}

.keyshu-gioi-thieu .ux-menu-link:first-child .ux-menu-link__link::before,
.keyshu-gioi-thieu .ux-menu-link__link:hover::before {
  background-color: var(--ks-main) !important;
}
/* ==================================================
   NỘI DUNG GIỮA
================================================== */

.keyshu-gioi-thieu .gioi-thieu-mt {
  position: relative !important;
  min-height: 660px !important;
  display: flex !important;
  align-items: center !important;
}

.keyshu-gioi-thieu .gioi-thieu-mt .col-inner {
  padding: 82px 20px 76px 64px !important;
  display: flex !important;
  align-items: center !important;
}

.keyshu-gioi-thieu .gioi-thieu-mt .text {
  width: 100%;
  max-width: 720px !important;
}

/* Tiêu đề */
.keyshu-gioi-thieu .gioi-thieu-mt h1 {
  max-width: 700px !important;
  margin: 0 0 22px !important;
  color: var(--ks-text) !important;
  font-size: 40px !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
  letter-spacing: -1.2px !important;
  text-align: left !important;
}

/* Mô tả */
.keyshu-gioi-thieu .gioi-thieu-mt p {
  max-width: 660px !important;
  margin: 0 !important;
  color: var(--ks-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.9 !important;
  font-weight: 600 !important;
  text-align: justify !important;
}

/* Nút CTA */
.keyshu-gioi-thieu .gioi-thieu-mt .text::after {
  content: "KHÁM PHÁ KEYSHU  →";
  width: fit-content;
  min-width: 220px;
  height: 47px;
  margin-top: 30px;
  padding: 0 28px;
  border-radius: 999px;
  background: var(--ks-main) !important;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.35px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 24px rgba(3, 176, 177, 0.28) !important;
  transition: all 0.25s ease;
}

.keyshu-gioi-thieu .gioi-thieu-mt .text:hover::after {
  background: var(--ks-main-dark) !important;
  transform: translateY(-2px);
}

/* Cột phải để ảnh nền hiển thị */
.keyshu-gioi-thieu #col-322809825 {
  min-height: 660px !important;
}

/* ==================================================
   DESKTOP LỚN
================================================== */

@media (min-width: 1440px) {
  .keyshu-gioi-thieu,
  .keyshu-gioi-thieu .section-content,
  .keyshu-gioi-thieu .row-full-width,
  .keyshu-gioi-thieu .row-collapse,
  .keyshu-gioi-thieu .gioi-thieu-menu,
  .keyshu-gioi-thieu .gioi-thieu-mt,
  .keyshu-gioi-thieu #col-322809825 {
    min-height: 700px !important;
  }

  .keyshu-gioi-thieu .row-full-width,
  .keyshu-gioi-thieu .row-collapse {
    grid-template-columns: 400px 740px 1fr !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-menu .col-inner {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .col-inner {
    padding-left: 70px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .text {
    max-width: 600px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt h1 {
    max-width: 720px !important;
    font-size: 40px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt p {
    max-width: 670px !important;
  }
}

/* ==================================================
   LAPTOP VỪA
================================================== */

@media (max-width: 1200px) and (min-width: 993px) {
  .keyshu-gioi-thieu .row-full-width,
  .keyshu-gioi-thieu .row-collapse {
    grid-template-columns: clamp(300px, 30vw, 350px) minmax(500px, 1fr) 1fr !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-menu .col-inner {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

  .keyshu-gioi-thieu .ux-menu-link__link {
    min-height: 45px;
    font-size: 13px !important;
    padding-left: 48px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .col-inner {
    padding-left: 45px !important;
    padding-right: 20px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .text {
    max-width: 590px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt h1 {
    max-width: 570px !important;
    font-size: 40px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt p {
    max-width: 540px !important;
    font-size: 14.5px !important;
  }
}

/* ==================================================
   TABLET
================================================== */

@media (max-width: 992px) and (min-width: 769px) {
  .keyshu-gioi-thieu,
  .keyshu-gioi-thieu .section-content,
  .keyshu-gioi-thieu .row-full-width,
  .keyshu-gioi-thieu .row-collapse {
    min-height: auto !important;
  }

  .keyshu-gioi-thieu .row-full-width,
  .keyshu-gioi-thieu .row-collapse {
    display: grid !important;
    grid-template-columns: 300px 1fr !important;
  }

  .keyshu-gioi-thieu #col-322809825 {
    display: none !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-menu,
  .keyshu-gioi-thieu .gioi-thieu-mt {
    min-height: 590px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-menu .col-inner {
    padding: 30px 28px 26px !important;
  }

  .keyshu-gioi-thieu .ux-logo {
    margin-bottom: 30px !important;
  }

  .keyshu-gioi-thieu .ux-logo-image {
    height: 44px !important;
  }

  .keyshu-gioi-thieu .ux-menu {
    gap: 10px !important;
  }

  .keyshu-gioi-thieu .ux-menu-link__link {
    min-height: 42px;
    font-size: 12.5px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .col-inner {
    padding: 58px 28px 58px 38px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .text {
    max-width: 100% !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt h1 {
    max-width: 100% !important;
    font-size: 36px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt p {
    max-width: 100% !important;
    font-size: 13.5px !important;
    line-height: 1.8 !important;
  }
}

/* ==================================================
   MOBILE
================================================== */

@media (max-width: 768px) {
  .keyshu-gioi-thieu {
    min-height: auto !important;
    background: #f7efe3 !important;
  }

  .keyshu-gioi-thieu .section-bg img.bg {
    object-position: center bottom !important;
    opacity: 0.36;
  }

  .keyshu-gioi-thieu::after {
    background: linear-gradient(
      180deg,
      rgba(255, 250, 240, 0.94) 0%,
      rgba(255, 250, 240, 0.82) 48%,
      rgba(255, 250, 240, 0.35) 100%
    );
  }

  .keyshu-gioi-thieu .section-content {
    min-height: auto !important;
  }

  .keyshu-gioi-thieu .row-full-width,
  .keyshu-gioi-thieu .row-collapse {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-menu {
    min-height: auto !important;
    width: 100% !important;
    border-radius: 0 0 26px 26px;
    background:
      radial-gradient(circle at 18% 8%, rgba(255,255,255,0.16), transparent 32%),
      linear-gradient(180deg, var(--ks-main) 0%, var(--ks-main-dark) 100%) !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-menu .col-inner {
    padding: 22px 16px 20px !important;
  }

  .keyshu-gioi-thieu .ux-logo {
    margin-bottom: 18px !important;
    text-align: center !important;
  }

  .keyshu-gioi-thieu .ux-logo-link {
    display: flex !important;
    justify-content: center !important;
  }

  .keyshu-gioi-thieu .ux-logo-image {
    height: 42px !important;
    max-width: 165px !important;
  }

  .keyshu-gioi-thieu .ux-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .keyshu-gioi-thieu .ux-menu-link__link {
    min-height: 43px;
    padding: 0 10px 0 40px !important;
    font-size: 12.5px !important;
    border-radius: 14px;
    background: rgba(255,255,255,0.08) !important;
    color: rgba(255, 255, 255, 0.92) !important;
  }

  .keyshu-gioi-thieu .ux-menu-link__link::before {
    left: 13px;
    width: 16px;
    height: 16px;
  }

  .keyshu-gioi-thieu .ux-menu-link:first-child .ux-menu-link__link,
  .keyshu-gioi-thieu .ux-menu-link__link:hover {
    background: #ffffff !important;
    color: var(--ks-main) !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-menu .col-inner::after {
    display: none;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt {
    min-height: auto !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .col-inner {
    padding: 42px 18px 245px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .text {
    max-width: 100% !important;
    margin: 0 auto;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt h1 {
    max-width: 100% !important;
    font-size: 32px !important;
    line-height: 1.14 !important;
    letter-spacing: -0.8px !important;
    text-align: center !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt p {
    max-width: 100% !important;
    font-size: 13.5px !important;
    line-height: 1.75 !important;
    text-align: center !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .text::after {
    min-width: 205px;
    height: 45px;
    margin-top: 24px;
    font-size: 12.5px;
  }
}
/* ==================================================
   MOBILE NHỎ
================================================== */

@media (max-width: 480px) {
  .keyshu-gioi-thieu .ux-menu {
    grid-template-columns: 1fr !important;
  }

  .keyshu-gioi-thieu .ux-menu-link:nth-child(n+6) {
    display: none !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .col-inner {
    padding: 36px 15px 210px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt h1 {
    font-size: 28px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt p {
    font-size: 13px !important;
  }

  .keyshu-gioi-thieu .gioi-thieu-mt .text::after {
    width: 100%;
    min-width: 0;
  }
}

/* ================================
   KEYSHU VOUCHER COUPON GRID
   FULL CSS - COPY TOÀN BỘ
================================ */

.ks-voucher-wrap {
  width: 100%;
  padding: 36px 14px;
  background: #ffffff;
  font-family: "SVN-Gilroy", sans-serif;
  overflow: hidden;
}

.ks-voucher-container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 26px 24px 30px;
  border: 1.5px solid rgba(3, 176, 177, 0.18);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 14px 38px rgba(22, 80, 88, 0.08);
  overflow: visible;
}

.ks-voucher-list {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: nowrap;
}

/* ================================
   CARD
================================ */

.ks-voucher-card {
  --voucher-color: #03B0B1;
  --voucher-light: rgba(3, 176, 177, 0.14);

  position: relative;
  flex: 1 1 0;
  min-width: 0;
  max-width: 220px;
  min-height: 270px;
  padding: 18px 14px 12px;
  /* border-radius: 8px; */
  background: #ffffff;
  border: 1.5px solid var(--voucher-light);
  box-shadow: 0 8px 24px rgba(19, 56, 66, 0.12);
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  border-radius: 30px 5px 30px 30px;
}

.ks-voucher-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 32px rgba(19, 56, 66, 0.16);
}

/* ================================
   COLORS
================================ */

.ks-voucher-teal {
  --voucher-color: #00999a;
  --voucher-light: #00999a;
}

.ks-voucher-pink {
  --voucher-color: #00999a;
  --voucher-light: #00999a;
}

.ks-voucher-gold {
  --voucher-color: #00999a;
  --voucher-light: #00999a;
}

.ks-voucher-blue {
  --voucher-color: #00999a;
  --voucher-light: #00999a;
}

.ks-voucher-purple {
  --voucher-color: #00999a;
  --voucher-light: #00999a;
}

/* ================================
   BADGE TOP
================================ */

.ks-voucher-badge {
  height: 26px;
  min-width: 104px;
  padding: 0 12px;
  margin-bottom: 18px;
  /* border-radius: 5px; */
  background: var(--voucher-color);
  color: #ffffff;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-shadow: 0 5px 12px rgba(19, 56, 66, 0.14);
  border-radius: 7px 2px 7px 7px;
}

/* ================================
   HOT TAG
================================ */

.ks-voucher-hot {
  padding-top: 18px;
}

.ks-voucher-hot-tag {
  position: absolute;
  top: -18px;
  left: 50%;
  z-index: 8;
  transform: translateX(-50%);
  height: 30px;
  min-width: 76px;
  padding: 0 13px;
  border-radius: 5px;
  background: #00999a;
  color: #ffffff;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(216, 135, 8, 0.3);
}

/* Ẩn thẻ br trong HTML để icon và chữ HOT nằm cùng 1 hàng */
.ks-voucher-hot-tag br {
  display: none !important;
}

.ks-voucher-hot-tag i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  line-height: 1 !important;
  transform: translateY(-0.5px);
}

/* ================================
   BODY
================================ */

.ks-voucher-body {
  position: relative;
  width: 100%;
  flex: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ks-voucher-body h3 {
  margin: 0;
  color: var(--voucher-color);
  font-size: 21px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.4px;
  text-transform: uppercase;
  white-space: nowrap;
}

.ks-voucher-dash {
  width: 82%;
  height: 1px;
  margin: 14px auto 14px;
  border-top: 2px dashed var(--voucher-light);
}

.ks-voucher-label {
  margin-bottom: 5px;
  color: #ee4d2d;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
}

.ks-voucher-body strong {
  margin: 0;
  color: #ee4d2d;
  font-size: 48px;
  line-height: 0.95;
  font-weight: 900;
  letter-spacing: -2px;
}

.ks-voucher-body strong.ks-voucher-ship {
  max-width: 150px;
  font-size: 21px;
  line-height: 1.12;
  letter-spacing: -0.3px;
}

.ks-voucher-body p {
  margin: 11px 0 0;
  color: #34434a;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}

/* ================================
   COPY BUTTON
================================ */

.ks-voucher-copy {
  position: relative;
  z-index: 6;
  width: 100%;
  height: 38px;
  margin-top: 16px;
  border: none;
  border-radius: 5px;
  background: var(--voucher-color);
  color: #ffffff;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
  transition: filter 0.22s ease, transform 0.22s ease;
}

.ks-voucher-copy::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 4px;
  border: 1px dashed rgba(255, 255, 255, 0.5);
  pointer-events: none;
}

.ks-voucher-copy i,
.ks-voucher-copy span {
  position: relative;
  z-index: 2;
}

.ks-voucher-copy i {
  font-size: 14px;
}

.ks-voucher-copy:hover {
  filter: brightness(0.96);
  transform: translateY(-2px);
}

.ks-voucher-copy.is-copied {
  background: #16a34a;
}

/* ================================
   DESKTOP NHỎ / LAPTOP
   Vẫn giữ 1 hàng, tự thu nhỏ nhẹ
================================ */

@media (max-width: 1200px) {
  .ks-voucher-container {
    padding: 24px 18px 28px;
  }

  .ks-voucher-list {
    gap: 12px;
  }

  .ks-voucher-card {
    max-width: none;
    min-height: 258px;
    padding: 16px 12px 12px;
  }

  .ks-voucher-badge {
    min-width: 96px;
    height: 25px;
    font-size: 10px;
  }

  .ks-voucher-body h3 {
    font-size: 18px;
  }

  .ks-voucher-body strong {
    font-size: 42px;
  }

  .ks-voucher-body strong.ks-voucher-ship {
    font-size: 18px;
  }

  .ks-voucher-body p {
    font-size: 12px;
  }

  .ks-voucher-copy {
    height: 36px;
    font-size: 11px;
  }
}

/* ================================
   TABLET + MOBILE
   Chuyển sang kéo ngang để không vỡ
================================ */

@media (max-width: 900px) {
  .ks-voucher-wrap {
    padding: 28px 14px;
  }

  .ks-voucher-container {
    padding: 18px 14px 22px;
    border-radius: 18px;
    overflow: hidden;
  }

  .ks-voucher-list {
    justify-content: flex-start;
    gap: 14px;
    overflow-x: auto;
    overflow-y: visible;
    padding: 8px 2px 18px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .ks-voucher-list::-webkit-scrollbar {
    height: 5px;
  }

  .ks-voucher-list::-webkit-scrollbar-track {
    background: #eef5f5;
    border-radius: 999px;
  }

  .ks-voucher-list::-webkit-scrollbar-thumb {
    background: #03B0B1;
    border-radius: 999px;
  }

  .ks-voucher-card {
    flex: 0 0 190px;
    width: 190px;
    max-width: 190px;
    min-height: 260px;
    scroll-snap-align: start;
  }

  .ks-voucher-body h3 {
    font-size: 19px;
  }

  .ks-voucher-body strong {
    font-size: 43px;
  }

  .ks-voucher-body strong.ks-voucher-ship {
    font-size: 20px;
  }

  .ks-voucher-body p {
    font-size: 12px;
  }

  .ks-voucher-copy {
    height: 38px;
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .ks-voucher-wrap {
    padding: 24px 10px;
  }

  .ks-voucher-container {
    padding: 16px 12px 20px;
  }

  .ks-voucher-card {
    flex-basis: 184px;
    width: 184px;
    max-width: 184px;
    padding: 16px 12px 12px;
  }

  .ks-voucher-badge {
    min-width: 100px;
    height: 26px;
    font-size: 10px;
  }

  .ks-voucher-body h3 {
    font-size: 18px;
  }

  .ks-voucher-body strong {
    font-size: 41px;
  }

  .ks-voucher-body strong.ks-voucher-ship {
    font-size: 19px;
  }

  .ks-voucher-copy {
    font-size: 11px;
  }
}
/* ==========================================================================
   KEYSHU FLASH SALE
   Chỉ dùng class
   Full width
   2 cột đầu bằng nhau 50/50
   Không chỉnh style chi tiết card sản phẩm
   ========================================================================== */

:root {
  --km-primary: #ff5a1f;
  --km-primary-2: #ff7a1a;
  --km-primary-3: #ff3d1f;
  --km-text: #1f1f1f;
  --km-muted: #666666;
  --km-border: rgba(255, 111, 34, 0.14);
  --km-white: #ffffff;
  --km-bg-1: #fffdfb;
  --km-bg-2: #fff6f0;
  --km-shadow: 0 14px 40px rgba(255, 106, 26, 0.10);
  --km-radius-xl: 32px;
  --km-radius-lg: 20px;
  --km-radius-md: 16px;
  --km-radius-sm: 12px;
}

/* section */
.keyshu-km {
  position: relative;
  overflow: hidden;
  padding: 24px 0;
  /* background:
  radial-gradient(circle at 12% 18%, rgba(206, 233, 236, 0.42) 0, rgba(206, 233, 236, 0) 30%),
  radial-gradient(circle at 84% 10%, rgba(206, 233, 236, 0.55) 0, rgba(206, 233, 236, 0) 22%),
  linear-gradient(180deg, #ffffff 0%, #cee9ec 100%); */
}

.keyshu-km .section-bg.fill {
  background: transparent;
}

.keyshu-km .section-content {
  width: 100%;
  max-width: 100%;
  padding: 0 24px;
  margin: 0 auto;
}

/* main row */
.keyshu-km .section-content > .row.row-collapse.row-full-width {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 24px;
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.keyshu-km .section-content > .row.row-collapse.row-full-width > .col {
  padding: 0 !important;
  margin: 0 !important;
}

.keyshu-km .section-content > .row.row-collapse.row-full-width > .col > .col-inner {
  height: 100%;
}

/* 2 cột đầu bằng nhau */
.keyshu-km .section-content > .row.row-collapse.row-full-width > .keyshu-km-img.col,
.keyshu-km .section-content > .row.row-collapse.row-full-width > .keyshu-km-img {
  flex: 0 0 calc(50% - 12px) !important;
  width: calc(50% - 12px) !important;
  max-width: calc(50% - 12px) !important;
}

.keyshu-km .section-content > .row.row-collapse.row-full-width > .col:not(.keyshu-km-img) {
  flex: 0 0 calc(50% - 12px) !important;
  width: calc(50% - 12px) !important;
  max-width: calc(50% - 12px) !important;
  min-width: 0;
}

/* left column image */
.keyshu-km-img .col-inner {
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  height: 100%;
}

.keyshu-km-img .img {
  width: 100%;
  height: 100%;
  margin: 0;
}

.keyshu-km-img .img-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.keyshu-km-img .img-inner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* right panel */
.keyshu-km .section-content > .row.row-collapse.row-full-width > .col:not(.keyshu-km-img) > .col-inner {
  height: 100%;
  padding: 24px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: var(--km-radius-xl);
  box-shadow: 0 16px 42px rgba(255, 110, 44, 0.08);
  backdrop-filter: blur(10px);
}

/* header image */
.keyshu-km .section-content > .row.row-collapse.row-full-width > .col:not(.keyshu-km-img) > .col-inner > .img {
  width: 100%;
  margin: 0 0 8px;
}

.keyshu-km .section-content > .row.row-collapse.row-full-width > .col:not(.keyshu-km-img) > .col-inner > .img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* text */
.keyshu-km .text {
  margin: 4px 0 18px;
}

.keyshu-km .text p {
  margin: 0;
  text-align: center;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--km-text);
}

/* countdown row */
.keyshu-km-count {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 16px;
  margin: 0 0 18px !important;
}

.keyshu-km-count > .col {
  padding: 0 !important;
  margin: 0 !important;
}

.keyshu-km-count > .col:first-child {
  flex: 1 1 58%;
  min-width: 0;
}

.keyshu-km-count > .col:last-child {
  flex: 0 0 260px;
  max-width: 260px;
}

/* timer */
.keyshu-km-count .ux-timer {
  display: grid;
  grid-template-columns: repeat(4, minmax(72px, 1fr));
  gap: 12px;
  width: 100%;
  font-size: initial !important;
}

.keyshu-km-count .ux-timer > span {
  position: relative;
  min-height: 92px;
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 16px;
  background: linear-gradient(180deg, var(--km-primary-2) 0%, var(--km-primary-3) 100%);
  box-shadow: 0 10px 24px rgba(255, 94, 31, 0.20);
  color: #ffffff;
  font-size: clamp(28px, 2.6vw, 48px);
  line-height: 1;
  font-weight: 800;
}

.keyshu-km-count .ux-timer strong {
  display: block;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.95);
}

.keyshu-km-count .ux-timer > span:not(:last-child)::before {
  content: ":";
  position: absolute;
  right: -9px;
  top: 50%;
  transform: translateY(-56%);
  font-size: 24px;
  font-weight: 900;
  color: var(--km-primary-3);
}

/* CTA */
.keyshu-km-count .icon-box.featured-box.icon-box-top {
  height: 100%;
  margin: 0;
}

.keyshu-km-count .icon-box.featured-box.icon-box-top .icon-box-text {
  position: relative;
  min-height: 92px;
  height: 100%;
  padding: 16px 18px 16px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--km-primary-2), var(--km-primary-3));
  box-shadow: 0 12px 28px rgba(255, 90, 31, 0.22);
  overflow: hidden;
}

.keyshu-km-count .icon-box.featured-box.icon-box-top .icon-box-text::before {
  content: "🛍";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 28px;
  line-height: 1;
}

.keyshu-km-count .icon-box.featured-box.icon-box-top p {
  margin: 0;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 800;
  text-transform: uppercase;
}

/* highlight row */
.keyshu-km-icon {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0 0 22px !important;
}

.keyshu-km-icon > .col {
  flex: 1 1 calc(33.333% - 9.4px);
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
}

.keyshu-km-icon .col-inner {
  height: 100%;
}

.keyshu-km-icon .icon-box {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 100%;
  margin: 0;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--km-border);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(255, 111, 34, 0.06);
}

.keyshu-km-icon .icon-box-img {
  flex: 0 0 46px !important;
  width: 46px !important;
  margin: 0 !important;
}

.keyshu-km-icon .icon-box-img img {
  display: block;
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.keyshu-km-icon .icon-box-text {
  flex: 1 1 auto;
}

.keyshu-km-icon .icon-box-text h3 {
  margin: 0 0 3px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--km-primary-3);
}

.keyshu-km-icon .icon-box-text p {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: var(--km-text);
}

/* product wrapper only */
.keyshu-km-products {
  margin: 0 !important;
}

.keyshu-km-products > .col {
  padding: 0 !important;
  margin: 0 !important;
}

.keyshu-km-products > .col > .col-inner {
  padding: 0;
}

.keyshu-km-products .woocommerce {
  margin: 0;
}

/* chỉ canh lưới ngoài, không chỉnh chi tiết card */
.keyshu-km-products .products.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -9px;
}

.keyshu-km-products .products.row > .col {
  padding: 0 9px 18px !important;
}

/* tablet */
@media (max-width: 1024px) {
  .keyshu-km .section-content {
    padding: 0 16px;
  }

  .keyshu-km .section-content > .row.row-collapse.row-full-width {
    gap: 18px;
  }

  .keyshu-km .section-content > .row.row-collapse.row-full-width > .keyshu-km-img.col,
  .keyshu-km .section-content > .row.row-collapse.row-full-width > .keyshu-km-img,
  .keyshu-km .section-content > .row.row-collapse.row-full-width > .col:not(.keyshu-km-img) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .keyshu-km .section-content > .row.row-collapse.row-full-width > .col:not(.keyshu-km-img) > .col-inner {
    padding: 18px;
  }

  .keyshu-km-count {
    flex-direction: column;
  }

  .keyshu-km-count > .col:first-child,
  .keyshu-km-count > .col:last-child {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .keyshu-km-icon > .col {
    flex: 1 1 calc(50% - 7px);
  }
}

/* mobile */
@media (max-width: 767px) {
  .keyshu-km {
    padding: 16px 0;
  }

  .keyshu-km .section-content {
    padding: 0 12px;
  }

  .keyshu-km .section-content > .row.row-collapse.row-full-width {
    gap: 14px;
  }

  .keyshu-km .section-content > .row.row-collapse.row-full-width > .col:not(.keyshu-km-img) > .col-inner {
    padding: 14px;
    border-radius: 20px;
  }

  .keyshu-km .text {
    margin-bottom: 14px;
  }

  .keyshu-km .text p {
    font-size: 13px;
    letter-spacing: 0.06em;
  }

  .keyshu-km-count {
    gap: 10px;
    margin-bottom: 14px !important;
  }

  .keyshu-km-count .ux-timer {
    gap: 8px;
    grid-template-columns: repeat(4, 1fr);
  }

  .keyshu-km-count .ux-timer > span {
    min-height: 76px;
    padding: 10px 6px;
    border-radius: 14px;
    font-size: clamp(22px, 6.4vw, 30px);
  }

  .keyshu-km-count .ux-timer strong {
    font-size: 9px;
  }

  .keyshu-km-count .ux-timer > span:not(:last-child)::before {
    right: -6px;
    font-size: 18px;
  }

  .keyshu-km-count .icon-box.featured-box.icon-box-top .icon-box-text {
    min-height: 76px;
    padding: 14px 14px 14px 48px;
    border-radius: 14px;
  }

  .keyshu-km-count .icon-box.featured-box.icon-box-top .icon-box-text::before {
    left: 14px;
    font-size: 22px;
  }

  .keyshu-km-count .icon-box.featured-box.icon-box-top p {
    font-size: 14px;
  }

  .keyshu-km-icon {
    gap: 10px;
    margin-bottom: 16px !important;
  }

  .keyshu-km-icon > .col {
    flex: 1 1 100%;
  }

  .keyshu-km-icon .icon-box {
    padding: 12px 14px;
    border-radius: 14px;
  }

  .keyshu-km-icon .icon-box-img,
  .keyshu-km-icon .icon-box-img img {
    width: 40px !important;
    height: 40px;
  }

  .keyshu-km-icon .icon-box-text h3 {
    font-size: 15px;
  }

  .keyshu-km-icon .icon-box-text p {
    font-size: 12px;
  }

  .keyshu-km-products .products.row {
    margin: 0 -6px;
  }

  .keyshu-km-products .products.row > .col {
    padding: 0 6px 12px !important;
  }
}

/* =========================================================
   KEYSHU - MOBILE PRODUCT CARD KHUYẾN MÃI
   FULL CSS MOBILE ONLY
   Scope: .keyshu-km-products
========================================================= */

@media (max-width: 849px) {
  .row.keyshu-km-products {
    position: relative !important;
    left: 50% !important;
    right: 50% !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: -50vw !important;
    margin-right: -50vw !important;
    margin-bottom: 0 !important;

    padding: 0 10px !important;

    --km-primary: #03b0b1;
    --km-primary-dark: #01989a;
    --km-title: #244851;
    --km-text: #49646b;
    --km-muted: #98a6ad;
    --km-border: #dce8ee;
    --km-card: #ffffff;
    --km-red: #ef3b35;
    --km-red-dark: #dd2e27;
    --km-star: #ff9f0a;
    --km-star-empty: #d6dee2;
    --km-soft-bg: #f5fbfd;
    --km-soldout: #bcc8d3;
    --km-radius: 16px;
  }

  .row.keyshu-km-products,
  .row.keyshu-km-products * {
    box-sizing: border-box !important;
  }

  .row.keyshu-km-products > .col,
  .row.keyshu-km-products > .col > .col-inner,
  .row.keyshu-km-products .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* =====================================================
     GRID 2 CỘT FULL WIDTH
  ===================================================== */

  .row.keyshu-km-products .products.row {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .row.keyshu-km-products .products.row::before,
  .row.keyshu-km-products .products.row::after {
    content: none !important;
    display: none !important;
  }

  .row.keyshu-km-products .product-small.col {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    flex-basis: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .row.keyshu-km-products .product-small.col > .col-inner {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* =====================================================
     CARD
  ===================================================== */

  .row.keyshu-km-products .product-small.box {
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    background: #ffffff !important;
    border: 1px solid var(--km-border) !important;
    border-radius: var(--km-radius) !important;
    overflow: hidden !important;

    box-shadow: 0 6px 18px rgba(17, 61, 73, 0.08) !important;
  }

  /* =====================================================
     ẢNH SẢN PHẨM
  ===================================================== */

  .row.keyshu-km-products .box-image {
    position: relative !important;

    width: 100% !important;
    aspect-ratio: 1 / 1 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: linear-gradient(180deg, #f9fbfc 0%, #eef4f7 100%) !important;
    border-radius: var(--km-radius) var(--km-radius) 12px 12px !important;
    overflow: hidden !important;
  }

  .row.keyshu-km-products .box-image .image-fade_in_back,
  .row.keyshu-km-products .box-image .image-fade_in_back > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .row.keyshu-km-products .box-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center !important;
    border-radius: inherit !important;
  }

  .row.keyshu-km-products .box-image img.back-image,
  .row.keyshu-km-products .quick-view,
  .row.keyshu-km-products .grid-tools,
  .row.keyshu-km-products .image-tools.bottom,
  .row.keyshu-km-products .hide-for-small {
    display: none !important;
  }

  /* =====================================================
     WISHLIST
  ===================================================== */

  .row.keyshu-km-products .box-image .image-tools.top.right {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    bottom: auto !important;

    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    z-index: 10 !important;
  }

  .row.keyshu-km-products .wishlist-icon {
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .row.keyshu-km-products .wishlist-button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #ffffff !important;
    border: 1px solid rgba(3, 176, 177, 0.22) !important;
    border-radius: 999px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;

    color: var(--km-primary) !important;
    opacity: 1 !important;
  }

  .row.keyshu-km-products .wishlist-button i,
  .row.keyshu-km-products .wishlist-button .icon-heart-o {
    margin: 0 !important;
    padding: 0 !important;

    color: var(--km-primary) !important;
    font-size: 19px !important;
    line-height: 1 !important;
  }

  .row.keyshu-km-products .wishlist-popup {
    display: none !important;
  }

  /* =====================================================
     TEXT BOX
  ===================================================== */

  .row.keyshu-km-products .box-text-products {
    flex: 1 1 auto !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 12px 10px 0 !important;

    display: flex !important;
    flex-direction: column !important;

    background: #ffffff !important;
    text-align: left !important;
  }

  .row.keyshu-km-products .title-wrapper {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .row.keyshu-km-products .product-cat {
    display: none !important;
  }

  .row.keyshu-km-products .name.product-title {
    min-height: 42px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  .row.keyshu-km-products .name.product-title a {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    overflow: hidden !important;

    color: var(--km-title) !important;
    font-size: 12.6px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    letter-spacing: -0.1px !important;
    text-decoration: none !important;
    text-transform: none !important;
  }

  /* =====================================================
     RATING + STOCK + PRICE
  ===================================================== */

  .row.keyshu-km-products .price-wrapper {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;

    text-align: left !important;
  }

  .row.keyshu-km-products .star-rating {
    order: 1 !important;

    width: 68px !important;
    height: 14px !important;

    margin: 0 4px 0 0 !important;
    padding: 0 !important;

    display: inline-block !important;
    position: relative !important;

    color: var(--km-star) !important;
    font-size: 11px !important;
    line-height: 14px !important;
    letter-spacing: 0.3px !important;
    overflow: hidden !important;
  }

  .row.keyshu-km-products .star-rating::before {
    color: var(--km-star-empty) !important;
    opacity: 1 !important;
  }

  .row.keyshu-km-products .star-rating span::before {
    color: var(--km-star) !important;
  }

  .row.keyshu-km-products .keyshu-rating-score {
    order: 1 !important;

    margin: 0 4px 0 0 !important;
    padding: 0 !important;

    color: var(--km-primary) !important;
    font-size: 10px !important;
    line-height: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  .row.keyshu-km-products .review-count {
    order: 1 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #46636c !important;
    font-size: 10px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    white-space: nowrap !important;
  }

  .row.keyshu-km-products .product-small.instock .price-wrapper::before {
    content: "✓ CÒN HÀNG";
    order: 2;

    width: 100%;
    margin: 6px 0 6px !important;

    display: block;

    color: #15b37e;
    font-size: 10.5px;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
  }

  .row.keyshu-km-products .product-small.outofstock .price-wrapper::before {
    content: "✱ HẾT HÀNG";
    order: 2;

    width: 100%;
    margin: 6px 0 6px !important;

    display: block;

    color: var(--km-red);
    font-size: 10.5px;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
  }

  /* =====================================================
     GIÁ + BADGE CÙNG HÀNG
  ===================================================== */

  .row.keyshu-km-products .price {
    order: 3 !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 3px !important;

    overflow: hidden !important;
    white-space: nowrap !important;

    color: var(--km-red) !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  .row.keyshu-km-products .price > ins {
    order: 1 !important;
    flex: 0 1 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;

    color: var(--km-red) !important;
    text-decoration: none !important;
  }

  .row.keyshu-km-products .price > del {
    order: 2 !important;
    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;

    color: #b5c0c7 !important;
    opacity: 1 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration-thickness: 1px !important;
  }

  .row.keyshu-km-products .price > del .amount,
  .row.keyshu-km-products .price > del bdi {
    color: #b5c0c7 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
  }

  .row.keyshu-km-products .price .amount,
  .row.keyshu-km-products .price bdi,
  .row.keyshu-km-products .price ins .amount,
  .row.keyshu-km-products .price ins bdi {
    color: var(--km-red) !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  .row.keyshu-km-products .price .woocommerce-Price-currencySymbol {
    font-size: 0.9em !important;
    font-weight: 900 !important;
  }

  .row.keyshu-km-products .price .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .row.keyshu-km-products .product-type-variable .price {
    font-size: 15px !important;
  }

  .row.keyshu-km-products .product-type-variable .price .amount,
  .row.keyshu-km-products .product-type-variable .price bdi {
    font-size: 15px !important;
  }

  .row.keyshu-km-products .price .badge-container {
    order: 99 !important;
    flex: 0 0 auto !important;

    position: static !important;
    inset: auto !important;
    transform: none !important;

    width: auto !important;
    height: auto !important;

    margin: 0 0 0 3px !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    z-index: auto !important;
  }

  .row.keyshu-km-products .price .callout.badge,
  .row.keyshu-km-products .price .badge-circle,
  .row.keyshu-km-products .price .badge-inner {
    position: static !important;

    width: auto !important;
    min-width: 34px !important;
    height: 22px !important;
    min-height: 22px !important;

    margin: 0 !important;
    /* padding: 0 7px !important; */

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: var(--km-red) !important;
    border: 0 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
  }

  .row.keyshu-km-products .price .onsale {
    color: #ffffff !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  /* =====================================================
     BUTTON ADD TO CART - 35PX
  ===================================================== */

  .row.keyshu-km-products .add-to-cart-button {
    width: 100% !important;
    margin: auto 0 0 !important;
    padding: 10px !important;

    background: #ffffff !important;
  }

  .row.keyshu-km-products .add-to-cart-button a.button,
  .row.keyshu-km-products .add-to-cart-button a.add_to_cart_button,
  .row.keyshu-km-products .add-to-cart-button a.product_type_simple,
  .row.keyshu-km-products .add-to-cart-button a.product_type_variable,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-view-cart {
    position: relative !important;

    width: 100% !important;
    height: 35px !important;
    min-height: 35px !important;
    max-height: 35px !important;

    margin: 0 !important;
    padding: 0 38px 0 10px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: linear-gradient(135deg, var(--km-red) 0%, var(--km-red-dark) 100%) !important;
    border: 0 !important;
    border-radius: 7px !important;

    color: #ffffff !important;
    font-size: 9.5px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    box-shadow: 0 7px 15px rgba(239, 59, 53, 0.18) !important;
    overflow: hidden !important;
    opacity: 1 !important;
  }

  /* Vạch chia bên phải - giữ cố định khi loading */
  .row.keyshu-km-products .add-to-cart-button a.button::after,
  .row.keyshu-km-products .add-to-cart-button a.add_to_cart_button::after,
  .row.keyshu-km-products .add-to-cart-button a.product_type_simple::after,
  .row.keyshu-km-products .add-to-cart-button a.product_type_variable::after,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-view-cart::after,
  .row.keyshu-km-products .add-to-cart-button a.loading::after,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-cart-loading::after {
    content: "" !important;

    position: absolute !important;
    top: 0 !important;
    right: 32px !important;
    left: auto !important;
    bottom: auto !important;

    width: 1px !important;
    height: 35px !important;

    margin: 0 !important;

    display: block !important;

    background: rgba(255, 255, 255, 0.22) !important;
    border: 0 !important;
    border-radius: 0 !important;

    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  /* Icon giỏ hàng bên phải - giữ nguyên vị trí khi loading */
  .row.keyshu-km-products .add-to-cart-button a.button::before,
  .row.keyshu-km-products .add-to-cart-button a.add_to_cart_button::before,
  .row.keyshu-km-products .add-to-cart-button a.product_type_simple::before,
  .row.keyshu-km-products .add-to-cart-button a.product_type_variable::before,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-view-cart::before,
  .row.keyshu-km-products .add-to-cart-button a.loading::before,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-cart-loading::before {
    content: "\f07a" !important;

    position: absolute !important;
    top: 50% !important;
    right: 9px !important;
    left: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;

    width: 15px !important;
    height: 15px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: #ffffff !important;
    font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    background: transparent !important;
    border: 0 !important;
    opacity: 1 !important;
    animation: none !important;
  }

  .row.keyshu-km-products .add-to-cart-button a.button:hover,
  .row.keyshu-km-products .add-to-cart-button a.add_to_cart_button:hover,
  .row.keyshu-km-products .add-to-cart-button a.product_type_simple:hover,
  .row.keyshu-km-products .add-to-cart-button a.product_type_variable:hover,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-view-cart:hover {
    background: linear-gradient(135deg, #e5352f 0%, #c8201b 100%) !important;
    color: #ffffff !important;
  }

  /* =====================================================
     LOADING - SPINNER GIỮA NÚT, ICON GIỎ HÀNG KHÔNG MẤT
  ===================================================== */

  .row.keyshu-km-products .add-to-cart-button a.loading,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-cart-loading {
    pointer-events: none !important;
    opacity: 1 !important;
    color: rgba(255, 255, 255, 0.28) !important;
  }

  .row.keyshu-km-products .add-to-cart-button a.loading .keyshu-cart-spinner,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-cart-loading .keyshu-cart-spinner {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;

    width: 16px !important;
    height: 16px !important;

    margin: -8px 0 0 -8px !important;
    padding: 0 !important;

    display: block !important;

    border: 2px solid rgba(255, 255, 255, 0.45) !important;
    border-top-color: #ffffff !important;
    border-radius: 50% !important;

    background: transparent !important;

    animation: keyshuKmCartSpin 0.72s linear infinite !important;
    z-index: 5 !important;
  }

  .row.keyshu-km-products .add-to-cart-button a:not(.loading):not(.keyshu-cart-loading) .keyshu-cart-spinner {
    display: none !important;
  }

  @keyframes keyshuKmCartSpin {
    from {
      transform: rotate(0deg);
    }

    to {
      transform: rotate(360deg);
    }
  }

  /* =====================================================
     VIEW CART SAU KHI THÊM GIỎ HÀNG
  ===================================================== */

  .row.keyshu-km-products .add-to-cart-button a.keyshu-view-cart,
  .row.keyshu-km-products .add-to-cart-button a.added {
    background: linear-gradient(135deg, var(--km-red) 0%, var(--km-red-dark) 100%) !important;
    color: #ffffff !important;
    opacity: 1 !important;
  }

  .row.keyshu-km-products .add-to-cart-button a.keyshu-view-cart::before,
  .row.keyshu-km-products .add-to-cart-button a.added::before {
    content: "\f07a" !important;
  }

  /* =====================================================
     HẾT HÀNG
  ===================================================== */

  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.button,
  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.add_to_cart_button,
  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.product_type_simple,
  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.product_type_variable {
    height: 35px !important;
    min-height: 35px !important;
    max-height: 35px !important;

    background: var(--km-soldout) !important;
    box-shadow: none !important;
    pointer-events: none !important;
    font-size: 0 !important;
    padding: 0 12px !important;
  }

  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.button::before,
  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.add_to_cart_button::before,
  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.product_type_simple::before,
  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.product_type_variable::before {
    display: none !important;
    content: none !important;
  }

  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.button::after,
  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.add_to_cart_button::after,
  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.product_type_simple::after,
  .row.keyshu-km-products .product-small.outofstock .add-to-cart-button a.product_type_variable::after {
    content: "HẾT HÀNG" !important;

    position: static !important;
    width: auto !important;
    height: auto !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: transparent !important;
    color: #ffffff !important;

    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* =========================================================
   MOBILE NHỎ
========================================================= */

@media (max-width: 380px) {
  .row.keyshu-km-products {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .row.keyshu-km-products .products.row {
    gap: 8px !important;
  }

  .row.keyshu-km-products .box-text-products {
    padding: 10px 9px 0 !important;
  }

  .row.keyshu-km-products .name.product-title {
    min-height: 40px !important;
    margin-bottom: 7px !important;
  }

  .row.keyshu-km-products .name.product-title a {
    font-size: 12px !important;
    line-height: 1.38 !important;
  }

  .row.keyshu-km-products .star-rating {
    width: 64px !important;
    font-size: 10px !important;
  }

  .row.keyshu-km-products .keyshu-rating-score,
  .row.keyshu-km-products .review-count {
    font-size: 9px !important;
  }

  .row.keyshu-km-products .price {
    font-size: 15px !important;
  }

  .row.keyshu-km-products .price .amount,
  .row.keyshu-km-products .price bdi,
  .row.keyshu-km-products .price ins .amount,
  .row.keyshu-km-products .price ins bdi {
    font-size: 15px !important;
  }

  .row.keyshu-km-products .price > del,
  .row.keyshu-km-products .price > del .amount,
  .row.keyshu-km-products .price > del bdi {
    font-size: 9px !important;
  }

  .row.keyshu-km-products .product-type-variable .price .amount,
  .row.keyshu-km-products .product-type-variable .price bdi {
    font-size: 14px !important;
  }

  .row.keyshu-km-products .add-to-cart-button {
    padding: 9px !important;
  }

  .row.keyshu-km-products .add-to-cart-button a.button,
  .row.keyshu-km-products .add-to-cart-button a.add_to_cart_button,
  .row.keyshu-km-products .add-to-cart-button a.product_type_simple,
  .row.keyshu-km-products .add-to-cart-button a.product_type_variable,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-view-cart {
    height: 35px !important;
    min-height: 35px !important;
    max-height: 35px !important;

    padding-right: 36px !important;
    font-size: 9px !important;
  }

  .row.keyshu-km-products .add-to-cart-button a.button::after,
  .row.keyshu-km-products .add-to-cart-button a.add_to_cart_button::after,
  .row.keyshu-km-products .add-to-cart-button a.product_type_simple::after,
  .row.keyshu-km-products .add-to-cart-button a.product_type_variable::after,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-view-cart::after,
  .row.keyshu-km-products .add-to-cart-button a.loading::after,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-cart-loading::after {
    right: 30px !important;
    height: 35px !important;
  }

  .row.keyshu-km-products .add-to-cart-button a.button::before,
  .row.keyshu-km-products .add-to-cart-button a.add_to_cart_button::before,
  .row.keyshu-km-products .add-to-cart-button a.product_type_simple::before,
  .row.keyshu-km-products .add-to-cart-button a.product_type_variable::before,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-view-cart::before,
  .row.keyshu-km-products .add-to-cart-button a.loading::before,
  .row.keyshu-km-products .add-to-cart-button a.keyshu-cart-loading::before {
    right: 8px !important;
    font-size: 13px !important;
  }
}


/* =========================================================
   KEYSHU - TẦM NHÌN / SỨ MỆNH / GIÁ TRỊ CỐT LÕI
   Desktop: 3 card nằm ngang đều nhau
   Tablet: 2 card + 1 card xuống hàng
   Mobile: 1 cột
   Scope: .keyshu-tamnhin
========================================================= */

.keyshu-tamnhin {
  --kt-primary: #03b0b1;
  --kt-primary-dark: #018f91;
  --kt-red: #ef3f34;
  --kt-heading: #12363c;
  --kt-text: #4f656b;
  --kt-muted: #718287;
  --kt-border: rgba(3, 176, 177, 0.18);
  --kt-red-border: rgba(239, 63, 52, 0.18);
  --kt-white: #ffffff;

  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 70px 0 78px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 12%, rgba(3, 176, 177, 0.13) 0, rgba(3, 176, 177, 0) 32%),
    radial-gradient(circle at 92% 14%, rgba(239, 63, 52, 0.08) 0, rgba(239, 63, 52, 0) 30%),
    linear-gradient(180deg, #f6ffff 0%, #ffffff 48%, #f5fbfb 100%);
}

.keyshu-tamnhin,
.keyshu-tamnhin * {
  box-sizing: border-box;
}

.keyshu-tamnhin .section-bg {
  display: none !important;
}

.keyshu-tamnhin::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 42px;
  width: 880px;
  height: 880px;
  border-radius: 50%;
  border: 1px solid rgba(3, 176, 177, 0.08);
  transform: translateX(-50%);
  pointer-events: none;
}

.keyshu-tamnhin::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 135px;
  width: 540px;
  height: 540px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(3, 176, 177, 0.08) 0, rgba(3, 176, 177, 0) 68%);
  transform: translateX(-50%);
  pointer-events: none;
}

/* =========================================================
   LAYOUT CHUNG
========================================================= */

.keyshu-tamnhin .section-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100%;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
}

.keyshu-tamnhin .section-content > .row {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.keyshu-tamnhin .section-content > .row::before,
.keyshu-tamnhin .section-content > .row::after {
  display: none !important;
  content: none !important;
}

.keyshu-tamnhin .section-content > .row > .col {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  flex-basis: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

.keyshu-tamnhin .section-content > .row > .col > .col-inner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 430px;
  padding: 34px 28px 32px !important;
  overflow: hidden;

  border: 1px solid var(--kt-border);
  border-radius: 30px 5px 30px 30px !important;
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 22px 56px rgba(19, 80, 86, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  display: flex;
  flex-direction: column;

  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.keyshu-tamnhin .section-content > .row > .col > .col-inner:hover {
  transform: translateY(-6px);
  border-color: rgba(3, 176, 177, 0.34);
  box-shadow:
    0 30px 72px rgba(19, 80, 86, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

/* Card 1 */
.keyshu-tamnhin .section-content > .row > .col:nth-child(1) > .col-inner {
  background:
    radial-gradient(circle at 18% 12%, rgba(3, 176, 177, 0.12) 0, rgba(3, 176, 177, 0) 36%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.96) 0%, rgba(241, 255, 255, 0.92) 100%);
}

/* Card 2 */
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) > .col-inner {
  background:
    radial-gradient(circle at 16% 16%, rgba(3, 176, 177, 0.16) 0, rgba(3, 176, 177, 0) 36%),
    linear-gradient(145deg, #ffffff 0%, #eaffff 100%);
  border-color: rgba(3, 176, 177, 0.28);
}

/* Card 3 */
.keyshu-tamnhin .section-content > .row > .col:nth-child(3) > .col-inner {
  background:
    radial-gradient(circle at 50% 0%, rgba(239, 63, 52, 0.10) 0, rgba(239, 63, 52, 0) 36%),
    linear-gradient(180deg, #ffffff 0%, #fff8f6 100%);
  border-color: var(--kt-red-border);
}

/* Số thứ tự lớn */
.keyshu-tamnhin .section-content > .row > .col > .col-inner::before {
  position: absolute;
  right: 22px;
  bottom: 14px;
  font-size: 86px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -7px;
  pointer-events: none;
  z-index: 0;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(1) > .col-inner::before {
  content: "01";
  color: rgba(3, 176, 177, 0.075);
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(2) > .col-inner::before {
  content: "02";
  color: rgba(3, 176, 177, 0.075);
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(3) > .col-inner::before {
  content: "03";
  color: rgba(239, 63, 52, 0.075);
}

/* Thanh nhấn trên card */
.keyshu-tamnhin .section-content > .row > .col > .col-inner::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 92px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: var(--kt-primary);
  transform: translateX(-50%);
  z-index: 2;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(3) > .col-inner::after {
  background: var(--kt-red);
}

/* =========================================================
   CARD 1 + CARD 2
========================================================= */

.keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-center,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-center {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;

  text-align: center !important;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-center .icon-box-img,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-center .icon-box-img {
  width: 96px !important;
  height: 96px !important;
  margin: 0 auto 24px !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center;
  justify-content: center;

  border-radius: 30px 5px 30px 30px !important;
  background: linear-gradient(180deg, #ffffff 0%, #eaffff 100%);
  border: 1px solid rgba(3, 176, 177, 0.18);
  box-shadow: 0 14px 32px rgba(3, 176, 177, 0.13);
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-center .icon,
.keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-center .icon-inner,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-center .icon,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-center .icon-inner {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-center img,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-center img {
  width: 56px !important;
  height: 56px !important;
  object-fit: contain;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-text,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-text,
.keyshu-tamnhin .section-content > .row > .col:nth-child(1) .text,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) .text {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(1) h2,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) h2 {
  position: relative;
  margin: 0 0 18px !important;
  padding: 0 0 16px !important;

  color: var(--kt-heading) !important;
  font-size: 27px !important;
  line-height: 1.24 !important;
  font-weight: 900 !important;
  letter-spacing: 0.8px !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(1) h2::after,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 54px;
  height: 3px;
  border-radius: 999px;
  background: var(--kt-primary);
  transform: translateX(-50%);
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(1) p,
.keyshu-tamnhin .section-content > .row > .col:nth-child(2) p {
  max-width: 100%;
  margin: 0 auto !important;

  color: var(--kt-text) !important;
  font-size: 15px !important;
  line-height: 1.78 !important;
  font-weight: 600 !important;
  text-align: justify !important;
}

/* =========================================================
   CARD 3 - GIÁ TRỊ CỐT LÕI
========================================================= */

.keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 0 16px !important;
  padding: 0 !important;
  text-align: justify !important;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center .icon-box-img {
  width: 88px !important;
  height: 88px !important;
  margin: 0 auto 22px !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center;
  justify-content: center;

  border-radius: 50% !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff0ee 100%);
  border: 1px solid rgba(239, 63, 52, 0.16);
  box-shadow: 0 14px 30px rgba(239, 63, 52, 0.10);
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center .icon,
.keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center .icon-inner {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center img {
  width: 50px !important;
  height: 50px !important;
  object-fit: contain;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center h2 {
  position: relative;
  margin: 0 0 18px !important;
  padding: 0 0 15px !important;

  color: var(--kt-heading) !important;
  font-size: 25px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.7px !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 48px;
  height: 3px;
  border-radius: 999px;
  background: var(--kt-red);
  transform: translateX(-50%);
}

/* Xoá đoạn p rỗng dưới tiêu đề Giá trị cốt lõi */
.keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center p {
  display: none !important;
}

/* Danh sách giá trị */
.keyshu-tamnhin .icon-box-left {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 !important;
  padding: 15px 0 !important;

  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: center;

  text-align: left !important;
  border-bottom: 1px solid rgba(22, 56, 63, 0.08);
}

.keyshu-tamnhin .icon-box-left:last-child {
  border-bottom: 0;
  padding-bottom: 0 !important;
}

.keyshu-tamnhin .icon-box-left .icon-box-img {
  width: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center;
  justify-content: center;

  border-radius: 20px 5px 20px 20px !important;
  background: #ffffff;
  border: 1px solid rgba(239, 63, 52, 0.14);
  box-shadow: 0 9px 22px rgba(239, 63, 52, 0.08);
}

.keyshu-tamnhin .icon-box-left .icon,
.keyshu-tamnhin .icon-box-left .icon-inner {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.keyshu-tamnhin .icon-box-left img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain;
}

.keyshu-tamnhin .icon-box-left .icon-box-text {
  padding: 0 !important;
}

.keyshu-tamnhin .icon-box-left h3 {
  margin: 0 0 5px !important;

  color: var(--kt-heading) !important;
  font-size: 13.5px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  text-transform: none !important;
}

.keyshu-tamnhin .icon-box-left p {
  margin: 0 !important;

  color: var(--kt-muted) !important;
  font-size: 12.8px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

/* =========================================================
   RESPONSIVE - DESKTOP VỪA
========================================================= */

@media (max-width: 1200px) {
  .keyshu-tamnhin {
    padding: 62px 0 68px !important;
  }

  .keyshu-tamnhin .section-content > .row {
    gap: 18px;
  }

  .keyshu-tamnhin .section-content > .row > .col > .col-inner {
    min-height: 420px;
    padding: 30px 22px 28px !important;
    border-radius: 30px 5px 30px 30px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) h2,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) h2 {
    font-size: 24px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center h2 {
    font-size: 22px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) p,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) p {
    font-size: 14px !important;
  }

  .keyshu-tamnhin .icon-box-left {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 12px;
  }

  .keyshu-tamnhin .icon-box-left .icon-box-img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 18px 5px 18px 18px !important;
  }

  .keyshu-tamnhin .icon-box-left h3 {
    font-size: 12.8px !important;
  }

  .keyshu-tamnhin .icon-box-left p {
    font-size: 12px !important;
  }
}

/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 1024px) {
  .keyshu-tamnhin {
    padding: 54px 0 58px !important;
  }

  .keyshu-tamnhin::before,
  .keyshu-tamnhin::after {
    display: none;
  }

  .keyshu-tamnhin .section-content {
    padding: 0 16px !important;
  }

  .keyshu-tamnhin .section-content > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) {
    grid-column: 1 / -1;
  }

  .keyshu-tamnhin .section-content > .row > .col > .col-inner {
    min-height: auto;
    padding: 32px 26px 30px !important;
    border-radius: 30px 5px 30px 30px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) > .col-inner {
    max-width: 100%;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-left {
    max-width: 760px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* =========================================================
   RESPONSIVE - MOBILE LỚN
========================================================= */

@media (max-width: 849px) {
  .keyshu-tamnhin {
    padding: 46px 0 50px !important;
  }

  .keyshu-tamnhin .section-content > .row {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) {
    grid-column: auto;
  }

  .keyshu-tamnhin .section-content > .row > .col > .col-inner {
    padding: 30px 22px 28px !important;
    border-radius: 30px 5px 30px 30px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col > .col-inner:hover {
    transform: none;
  }

  .keyshu-tamnhin .section-content > .row > .col > .col-inner::before {
    right: 18px;
    bottom: 12px;
    font-size: 68px;
    letter-spacing: -6px;
  }

  .keyshu-tamnhin .section-content > .row > .col > .col-inner::after {
    width: 76px;
  }
}

/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 767px) {
  .keyshu-tamnhin {
    padding: 38px 0 40px !important;
    background:
      radial-gradient(circle at 0% 0%, rgba(3, 176, 177, 0.12) 0, rgba(3, 176, 177, 0) 34%),
      linear-gradient(180deg, #f8ffff 0%, #ffffff 100%);
  }

  .keyshu-tamnhin .section-content {
    padding: 0 12px !important;
  }

  .keyshu-tamnhin .section-content > .row {
    gap: 14px;
  }

  .keyshu-tamnhin .section-content > .row > .col > .col-inner {
    padding: 28px 18px 26px !important;
    border-radius: 30px 5px 30px 30px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-center .icon-box-img,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-center .icon-box-img,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center .icon-box-img {
    width: 72px !important;
    height: 72px !important;
    margin-bottom: 16px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-center img,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-center img,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center img {
    width: 42px !important;
    height: 42px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) h2,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) h2,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center h2 {
    margin-bottom: 15px !important;
    padding-bottom: 12px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.5px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) p,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) p {
    font-size: 13.5px !important;
    line-height: 1.68 !important;
  }

  .keyshu-tamnhin .icon-box-left {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding: 13px 0 !important;
  }

  .keyshu-tamnhin .icon-box-left .icon-box-img {
    width: 48px !important;
    height: 48px !important;
    border-radius: 18px 5px 18px 18px !important;
  }

  .keyshu-tamnhin .icon-box-left img {
    width: 24px !important;
    height: 24px !important;
  }

  .keyshu-tamnhin .icon-box-left h3 {
    font-size: 12.8px !important;
  }

  .keyshu-tamnhin .icon-box-left p {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
}

/* =========================================================
   RESPONSIVE - MOBILE NHỎ
========================================================= */

@media (max-width: 420px) {
  .keyshu-tamnhin {
    padding: 34px 0 34px !important;
  }

  .keyshu-tamnhin .section-content {
    padding: 0 10px !important;
  }

  .keyshu-tamnhin .section-content > .row {
    gap: 12px;
  }

  .keyshu-tamnhin .section-content > .row > .col > .col-inner {
    padding: 23px 15px 21px !important;
    border-radius: 26px 5px 26px 26px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col > .col-inner::before {
    font-size: 56px;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-center .icon-box-img,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-center .icon-box-img,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center .icon-box-img {
    width: 64px !important;
    height: 64px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) .icon-box-center img,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) .icon-box-center img,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center img {
    width: 38px !important;
    height: 38px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) h2,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) h2,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(3) .icon-box-center h2 {
    font-size: 18px !important;
  }

  .keyshu-tamnhin .section-content > .row > .col:nth-child(1) p,
  .keyshu-tamnhin .section-content > .row > .col:nth-child(2) p {
    font-size: 13px !important;
  }

  .keyshu-tamnhin .icon-box-left {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    padding: 12px 0 !important;
  }

  .keyshu-tamnhin .icon-box-left .icon-box-img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 16px 5px 16px 16px !important;
  }

  .keyshu-tamnhin .icon-box-left img {
    width: 22px !important;
    height: 22px !important;
  }

  .keyshu-tamnhin .icon-box-left h3 {
    font-size: 12.2px !important;
  }

  .keyshu-tamnhin .icon-box-left p {
    font-size: 11.8px !important;
  }
}



/* =========================================================
   KEYSHU - KOL REVIEW SECTION + VIDEO POPUP PHONE STYLE
   Dùng cho HTML hiện tại trong UX Builder
========================================================= */

.keyshu-kol-review {
  --kol-primary: #03b0b1;
  --kol-primary-dark: #029596;
  --kol-heading: #45545c;
  --kol-text: #556b73;
  --kol-muted: #8ea0a7;
  --kol-star: #f6a21a;
  --kol-border: #cfeff0;
  --kol-bg: #f7ffff;
  --kol-white: #ffffff;

  width: 100%;
  padding: 44px 0 50px !important;
  background: linear-gradient(180deg, #f8ffff 0%, #ffffff 100%);
  overflow: hidden;
}

.keyshu-kol-review,
.keyshu-kol-review * {
  box-sizing: border-box;
}

.keyshu-kol-review .section-bg {
  display: none !important;
}

.keyshu-kol-review .section-content {
  width: 100%;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}

/* =========================================================
   TITLE
========================================================= */

.keyshu-kol-review .partners-title {
  position: relative;
  margin: 0 0 42px !important;
  padding: 0 0 18px !important;
  color: var(--kol-heading) !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.2px;
  text-align: center;
  text-transform: uppercase;
}

.keyshu-kol-review .partners-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 64px;
  height: 3px;
  border-radius: 999px;
  background: var(--kol-primary);
  transform: translateX(-50%);
}

/* =========================================================
   MAIN ROW
========================================================= */

.keyshu-kol-review .section-content > .row {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 26px;
  align-items: stretch;
}

.keyshu-kol-review .section-content > .row::before,
.keyshu-kol-review .section-content > .row::after {
  display: none !important;
}

.keyshu-kol-review .keyshu-kol-text,
.keyshu-kol-review .keyshu-kol-img {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: auto !important;
  padding: 0 !important;
}

.keyshu-kol-review .keyshu-kol-text > .col-inner,
.keyshu-kol-review .keyshu-kol-img > .col-inner {
  height: 100%;
  padding: 0 !important;
}

/* =========================================================
   SUMMARY CARD
========================================================= */

.keyshu-kol-review .kol-summary-card {
  width: 100%;
  height: 100%;
  min-height: 288px;
  margin: 0 !important;
  padding: 36px 30px 34px !important;
  border: 1px solid rgba(3, 176, 177, 0.28);
  border-radius: 15px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(3, 176, 177, 0.08);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.keyshu-kol-review .kol-score-row {
  /* margin: 0 0 18px !important; */
  display: flex;
  align-items: center;
  gap: 16px;
}

.keyshu-kol-review .kol-main-score {
  display: inline-flex;
  align-items: flex-end;
  gap: 4px;
  color: var(--kol-primary);
  line-height: 1;
  white-space: nowrap;
}

.keyshu-kol-review .kol-main-score span {
  font-size: 38px;
  line-height: 0.9;
  font-weight: 900;
  letter-spacing: -1px;
}

.keyshu-kol-review .kol-main-score small {
  margin-bottom: 4px;
  color: var(--kol-primary);
  font-size: 18px;
  line-height: 1;
  font-weight: 900;
}

.keyshu-kol-review .kol-summary-stars {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--kol-star);
  font-size: 17px;
  line-height: 1;
}

.keyshu-kol-review .kol-summary-stars br,
.keyshu-kol-review .kol-score-row p,
.keyshu-kol-review .kol-rating-line p,
.keyshu-kol-review .kol-rating-bars > p,
.keyshu-kol-review .kol-summary-card > p:empty {
  display: none !important;
}

.keyshu-kol-review .kol-total-review {
  margin: 0 0 12px !important;
  color: var(--kol-text);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  text-align: left;
}

.keyshu-kol-review .kol-rating-bars {
  width: 100%;
  margin: 0 0 26px !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.keyshu-kol-review .kol-rating-line {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
  color: var(--kol-text);
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
}

.keyshu-kol-review .kol-rating-line span {
  color: var(--kol-text);
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}

.keyshu-kol-review .kol-rating-line strong {
  color: var(--kol-text);
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  text-align: right;
}

.keyshu-kol-review .rating-track {
  position: relative;
  width: 100%;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #dce8e9;
}

.keyshu-kol-review .rating-fill {
  position: absolute;
  inset: 0 auto 0 0;
  height: 100%;
  border-radius: inherit;
  background: var(--kol-primary);
}

.keyshu-kol-review .kol-summary-btn {
  width: 100%;
  min-height: 42px;
  margin: 0 !important;
  padding: 0 22px !important;
  border-radius: 999px;
  background: var(--kol-primary);
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(3, 176, 177, 0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  text-transform: uppercase;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  transition: all 0.25s ease;
}

.keyshu-kol-review .kol-summary-btn:hover {
  background: var(--kol-primary-dark);
  transform: translateY(-2px);
}

/* =========================================================
   KOL SLIDER / CARD
========================================================= */

.keyshu-kol-review .keyshu-kol-auto-slider {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 2px 4px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.keyshu-kol-review .keyshu-kol-auto-slider::-webkit-scrollbar {
  display: none;
}

.keyshu-kol-review .keyshu-kol-auto-slider > .col {
  flex: 0 0 calc(25% - 13.5px) !important;
  width: calc(25% - 13.5px) !important;
  min-width: calc(25% - 13.5px) !important;
  max-width: calc(25% - 13.5px) !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start;
}

.keyshu-kol-review .keyshu-kol-auto-slider > .col > .col-inner {
  height: 100%;
  padding: 0 !important;
}

.keyshu-kol-review .box {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 288px;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 15px;
  background: #111111;
  box-shadow: none !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.keyshu-kol-review .box:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(17, 42, 48, 0.12) !important;
}

.keyshu-kol-review .box-image {
  width: 100%;
  height: 100%;
  margin: 0 !important;
  border-radius: 15px;
  overflow: hidden;
}

.keyshu-kol-review .box-image > div {
  width: 100%;
  height: 100%;
}

.keyshu-kol-review .box-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 288px;
  display: block;
  object-fit: cover;
  object-position: center top;
  border-radius: 15px;
  transform: scale(1.01);
  transition: transform 0.35s ease;
}

.keyshu-kol-review .box:hover .box-image img {
  transform: scale(1.06);
}

.keyshu-kol-review .box-image .shade {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: block !important;
  border-radius: 15px;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.04) 0%,
    rgba(0, 0, 0, 0.14) 42%,
    rgba(0, 0, 0, 0.68) 100%
  ) !important;
  opacity: 1 !important;
}

/* Text + video button nằm trên ảnh */
.keyshu-kol-review .box-text {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5;
  width: 100%;
  height: 100%;
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
  pointer-events: none;
}

.keyshu-kol-review .box-text-inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0 !important;
}

/* Nút play */
.keyshu-kol-review .video-button-wrapper {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 8;
  transform: translate(-50%, -50%);
  pointer-events: auto;
}

.keyshu-kol-review .video-button-wrapper a.open-video {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid rgba(255, 255, 255, 0.96) !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.12) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transform: none !important;
  transition: all 0.25s ease;
}

.keyshu-kol-review .video-button-wrapper a.open-video:hover {
  background: rgba(3, 176, 177, 0.88) !important;
  transform: scale(1.06) !important;
}

.keyshu-kol-review .video-button-wrapper a.open-video i {
  margin-left: 3px !important;
  color: #ffffff !important;
  font-size: 23px !important;
  line-height: 1 !important;
}

/* Tên KOL */
.keyshu-kol-review .box-text .text {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 7;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
}

.keyshu-kol-review .box-text h5 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  text-align: left !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}

/* =========================================================
   POPUP VIDEO DẠNG MÀN HÌNH ĐIỆN THOẠI
   Chỉ chạy khi JS thêm class body.keyshu-kol-phone-popup
========================================================= */

body.keyshu-kol-phone-popup .mfp-bg {
  background: rgba(0, 0, 0, 0.72) !important;
  opacity: 1 !important;
}

body.keyshu-kol-phone-popup .mfp-wrap {
  overflow: hidden auto !important;
}

body.keyshu-kol-phone-popup .mfp-container {
  padding: 0 12px !important;
}

body.keyshu-kol-phone-popup .mfp-iframe-holder {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

body.keyshu-kol-phone-popup .mfp-iframe-holder .mfp-content {
  width: 360px !important;
  max-width: calc(100vw - 36px) !important;
  margin: 0 auto !important;
}

body.keyshu-kol-phone-popup .mfp-iframe-scaler {
  width: 100% !important;
  height: 0 !important;
  padding-top: 177.777777% !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background: #000000 !important;
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.48),
    0 0 0 8px #111111,
    0 0 0 10px rgba(255, 255, 255, 0.08) !important;
}

body.keyshu-kol-phone-popup .mfp-iframe-scaler iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: #000000 !important;
}

body.keyshu-kol-phone-popup .mfp-iframe-holder .mfp-close {
  top: -18px !important;
  right: -18px !important;
  width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  /* background: #ffffff !important; */
  color: #111111 !important;
  font-size: 30px !important;
  line-height: 38px !important;
  font-weight: 400 !important;
  text-align: center !important;
  opacity: 1 !important;
  /* box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24) !important; */
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1024px) {
  .keyshu-kol-review .section-content > .row {
    grid-template-columns: 245px minmax(0, 1fr);
    gap: 20px;
  }

  .keyshu-kol-review .keyshu-kol-auto-slider > .col {
    flex-basis: calc(33.333% - 12px) !important;
    width: calc(33.333% - 12px) !important;
    min-width: calc(33.333% - 12px) !important;
    max-width: calc(33.333% - 12px) !important;
  }
}

@media (max-width: 849px) {
  .keyshu-kol-review {
    padding: 36px 0 40px !important;
  }

  .keyshu-kol-review .section-content {
    padding: 0 14px !important;
  }

  .keyshu-kol-review .partners-title {
    margin-bottom: 26px !important;
    font-size: 23px !important;
  }

  .keyshu-kol-review .section-content > .row {
    display: block !important;
  }

  .keyshu-kol-review .keyshu-kol-text {
    margin-bottom: 18px !important;
  }

  .keyshu-kol-review .kol-summary-card {
    min-height: auto;
    padding: 24px 22px !important;
  }

  .keyshu-kol-review .keyshu-kol-auto-slider {
    gap: 14px !important;
    padding-bottom: 6px !important;
  }

  .keyshu-kol-review .keyshu-kol-auto-slider > .col {
    flex: 0 0 230px !important;
    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
  }

  .keyshu-kol-review .box {
    min-height: 320px;
  }

  .keyshu-kol-review .box-image img {
    min-height: 320px;
  }

  body.keyshu-kol-phone-popup .mfp-iframe-holder {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  body.keyshu-kol-phone-popup .mfp-iframe-holder .mfp-content {
    width: 340px !important;
    max-width: calc(100vw - 32px) !important;
  }

  body.keyshu-kol-phone-popup .mfp-iframe-scaler {
    border-radius: 26px !important;
    box-shadow:
      0 22px 60px rgba(0, 0, 0, 0.44),
      0 0 0 7px #111111,
      0 0 0 9px rgba(255, 255, 255, 0.08) !important;
  }

  body.keyshu-kol-phone-popup .mfp-iframe-scaler iframe {
    border-radius: 20px !important;
  }
}

@media (max-width: 480px) {
  .keyshu-kol-review .section-content {
    padding: 0 12px !important;
  }

  .keyshu-kol-review .kol-main-score span {
    font-size: 34px;
  }

  .keyshu-kol-review .keyshu-kol-auto-slider > .col {
    flex: 0 0 72vw !important;
    width: 72vw !important;
    min-width: 72vw !important;
    max-width: 72vw !important;
  }

  .keyshu-kol-review .box {
    min-height: 350px;
  }

  .keyshu-kol-review .box-image img {
    min-height: 350px;
  }

  .keyshu-kol-review .video-button-wrapper a.open-video {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
  }

  body.keyshu-kol-phone-popup .mfp-iframe-holder .mfp-content {
    width: min(330px, calc(100vw - 34px)) !important;
  }

  body.keyshu-kol-phone-popup .mfp-iframe-holder .mfp-close {
    top: -14px !important;
    right: -10px !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    font-size: 26px !important;
    line-height: 34px !important;
  }
}

@media (max-width: 380px) {
  .keyshu-kol-review .keyshu-kol-auto-slider > .col {
    flex-basis: 78vw !important;
    width: 78vw !important;
    min-width: 78vw !important;
    max-width: 78vw !important;
  }

  .keyshu-kol-review .kol-rating-line {
    grid-template-columns: 48px minmax(0, 1fr) 38px;
  }
}

/* Màn hình thấp: tự thu nhỏ khung điện thoại để không bị tràn */
@media (max-height: 720px) {
  body.keyshu-kol-phone-popup .mfp-iframe-holder .mfp-content {
    width: 300px !important;
  }
}

@media (max-height: 620px) {
  body.keyshu-kol-phone-popup .mfp-iframe-holder .mfp-content {
    width: 260px !important;
  }
}
/* =========================================================
   KEYSHU - NĂNG LỰC & QUY MÔ / QUY MÔ NHÀ MÁY
   Scope: .nag-luc-quy-mo
   Có marquee ảnh + lightbox phóng to
========================================================= */

.nag-luc-quy-mo {
  --ks-qm-primary: #0b4f93;
  --ks-qm-primary-2: #1768b8;
  --ks-qm-heading: #172b4d;
  --ks-qm-text: #4d5f73;
  --ks-qm-muted: #7b8a9d;
  --ks-qm-border: #e3eaf3;
  --ks-qm-bg: #f4f7fb;
  --ks-qm-white: #ffffff;

  position: relative;
  width: 100%;
  padding: 42px 14px 54px !important;
  margin: 0 !important;
  background: linear-gradient(180deg, #f7f9fd 0%, #eef3f9 100%);
  overflow: hidden;
  font-family: "SVN-Gilroy", sans-serif;
}

/* Xóa số 04 / badge góc trái nếu đang được tạo bằng CSS */
.nag-luc-quy-mo::before,
.nag-luc-quy-mo::after,
.nag-luc-quy-mo .section-bg::before,
.nag-luc-quy-mo .section-bg::after,
.nag-luc-quy-mo .section-content::before,
.nag-luc-quy-mo .section-content::after {
  content: none !important;
  display: none !important;
}

.nag-luc-quy-mo * {
  box-sizing: border-box;
}

.nag-luc-quy-mo .section-bg {
  display: none !important;
}

.nag-luc-quy-mo .section-content {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 28px 30px 32px !important;
  background: var(--ks-qm-white);
  border: 1px solid var(--ks-qm-border);
  border-radius: 20px;
  box-shadow: 0 18px 46px rgba(20, 55, 88, 0.08);
}

/* =========================================================
   TIÊU ĐỀ
========================================================= */

.nag-luc-quy-mo .section-content > .row:first-child {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.nag-luc-quy-mo .section-content > .row:first-child > .col {
  padding: 0 !important;
}

.nag-luc-quy-mo .section-content > .row:first-child .col-inner {
  padding: 0 !important;
  text-align: center !important;
}

.nag-luc-quy-mo h2.uppercase {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: var(--ks-qm-heading) !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.2px;
  text-transform: uppercase !important;
}

.nag-luc-quy-mo .section-content > .row:first-child p {
  margin: 0 !important;
  color: var(--ks-qm-muted) !important;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
  text-align: center !important;
}
/* =========================================================
   TEXT KHÁM PHÁ NGAY - CĂN TRÁI, KHÔNG GẠCH CHÂN
========================================================= */

.nag-luc-quy-mo .section-content > .row:nth-of-type(3) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 24px 0 14px !important;
  padding: 0 !important;
}

.nag-luc-quy-mo .section-content > .row:nth-of-type(3) > .col {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
  padding: 0 !important;
}

.nag-luc-quy-mo .section-content > .row:nth-of-type(3) .col-inner {
  width: 100% !important;
  padding: 0 !important;
  text-align: left !important;
}

.nag-luc-quy-mo .section-content > .row:nth-of-type(3) h1,
.nag-luc-quy-mo .section-content > .row:nth-of-type(3) h2,
.nag-luc-quy-mo .section-content > .row:nth-of-type(3) h3,
.nag-luc-quy-mo .section-content > .row:nth-of-type(3) h4,
.nag-luc-quy-mo .section-content > .row:nth-of-type(3) p {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  color: #172b4d !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

/* Xóa gạch chân bên dưới text Khám phá ngay */
.nag-luc-quy-mo .section-content > .row:nth-of-type(3) h1::after,
.nag-luc-quy-mo .section-content > .row:nth-of-type(3) h2::after,
.nag-luc-quy-mo .section-content > .row:nth-of-type(3) h3::after,
.nag-luc-quy-mo .section-content > .row:nth-of-type(3) h4::after,
.nag-luc-quy-mo .section-content > .row:nth-of-type(3) p::after {
  content: none !important;
  display: none !important;
}

/* Hàng ảnh nằm sát dưới text hơn */
.nag-luc-quy-mo .keyshu-quy-mo-marquee {
  margin-top: 0 !important;
}
/* =========================================================
   KHỐI CHÍNH: THỐNG KÊ + VIDEO
========================================================= */

.nag-luc-quy-mo .quy-mo {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

.nag-luc-quy-mo .quy-mo::before,
.nag-luc-quy-mo .quy-mo::after {
  display: none !important;
  content: none !important;
}

.nag-luc-quy-mo .quy-mo > .col {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: auto !important;
  padding: 0 !important;
}

.nag-luc-quy-mo .quy-mo > .col > .col-inner {
  height: 100%;
  padding: 0 !important;
}

/* Cột thống kê bên trái */
.nag-luc-quy-mo .quy-mo > .col:first-child > .col-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 11px;
  align-content: center;
}

.nag-luc-quy-mo .icon-box {
  width: 100%;
  min-height: 58px;
  margin: 0 !important;
  padding: 8px 10px !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(11, 79, 147, 0.12);
  /* border-radius: 12px; */
  box-shadow: 0 8px 20px rgba(20, 55, 88, 0.045);
  border-radius: 20px 5px 20px 20px !important;
}

.nag-luc-quy-mo .icon-box-img {
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.nag-luc-quy-mo .icon,
.nag-luc-quy-mo .icon-inner {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.nag-luc-quy-mo .icon-inner img {
  width: 25px !important;
  height: 25px !important;
  object-fit: contain !important;
  filter: saturate(1.15);
}

.nag-luc-quy-mo .icon-box-text {
  padding: 0 !important;
}

.nag-luc-quy-mo .icon-box-text h3 {
  margin: 0 0 3px !important;
  padding: 0 !important;
  color: var(--ks-qm-primary) !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.2px;
}

.nag-luc-quy-mo .icon-box-text p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ks-qm-text) !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: left !important;
}

/* Video bên phải */
.nag-luc-quy-mo .quy-mo > .col:last-child .col-inner {
  position: relative;
  min-height: 100%;
}

.nag-luc-quy-mo .video.video-fit {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  min-height: 390px;
  margin: 0 !important;
  padding-top: 0 !important;
  overflow: hidden !important;
  border-radius: 16px;
  background: #dfe7ef;
  border: 1px solid rgba(11, 79, 147, 0.16);
  box-shadow: 0 14px 32px rgba(20, 55, 88, 0.12);
}

.nag-luc-quy-mo .video.video-fit p {
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.nag-luc-quy-mo .video.video-fit iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 16px;
}

/* =========================================================
   MARQUEE ẢNH BÊN DƯỚI
========================================================= */

.nag-luc-quy-mo .keyshu-quy-mo-marquee {
  width: 100%;
  margin: 22px 0 0 !important;
  padding: 0 0 3px !important;
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 5%,
    #000 95%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 5%,
    #000 95%,
    transparent 100%
  );
}

.nag-luc-quy-mo .quy-mo-img {
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 14px;
  will-change: transform;
  animation: keyshuQuyMoMarquee 34s linear infinite;
}

.nag-luc-quy-mo .keyshu-quy-mo-marquee:hover .quy-mo-img {
  animation-play-state: paused;
}

.nag-luc-quy-mo .quy-mo-img::before,
.nag-luc-quy-mo .quy-mo-img::after {
  display: none !important;
  content: none !important;
}

.nag-luc-quy-mo .quy-mo-img > .col {
  flex: 0 0 178px !important;
  width: 178px !important;
  max-width: 178px !important;
  padding: 0 !important;
}

.nag-luc-quy-mo .quy-mo-img > .col > .col-inner {
  height: 100%;
  padding: 0 !important;
}

.nag-luc-quy-mo .quy-mo-img .box {
  height: 100%;
  margin: 0 !important;
  overflow: hidden;
  cursor: zoom-in;
  background: #ffffff;
  border: 1px solid var(--ks-qm-border);
  border-radius: 13px;
  box-shadow: 0 10px 24px rgba(20, 55, 88, 0.075);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.nag-luc-quy-mo .quy-mo-img .box:hover {
  transform: translateY(-3px);
  border-color: rgba(23, 104, 184, 0.36);
  box-shadow: 0 14px 30px rgba(20, 55, 88, 0.13);
}

.nag-luc-quy-mo .quy-mo-img .box-image {
  width: 100%;
  height: 104px;
  margin: 0 !important;
  overflow: hidden;
  background: #edf2f7;
  border-radius: 13px 13px 0 0;
}

.nag-luc-quy-mo .quy-mo-img .box-image > div {
  width: 100%;
  height: 100%;
}

.nag-luc-quy-mo .quy-mo-img .box-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 13px 13px 0 0;
  transition: transform 0.32s ease;
}

.nag-luc-quy-mo .quy-mo-img .box:hover .box-image img {
  transform: scale(1.06);
}

.nag-luc-quy-mo .quy-mo-img .box-text {
  min-height: 42px;
  margin: 0 !important;
  padding: 9px 8px 10px !important;
  background: #ffffff !important;
  text-align: center !important;
}

.nag-luc-quy-mo .quy-mo-img .box-text-inner {
  padding: 0 !important;
}

.nag-luc-quy-mo .quy-mo-img .box-text p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ks-qm-heading) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

@keyframes keyshuQuyMoMarquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* =========================================================
   LIGHTBOX PHÓNG TO ẢNH
========================================================= */

.keyshu-quy-mo-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  padding: 24px;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(7, 18, 32, 0.84);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.keyshu-quy-mo-lightbox.is-open {
  display: flex;
}

.keyshu-quy-mo-lightbox__inner {
  position: relative;
  width: min(100%, 1080px);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.keyshu-quy-mo-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.36);
}

.keyshu-quy-mo-lightbox__caption {
  min-height: 22px;
  margin-top: 14px;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 800;
  text-align: center;
}

.keyshu-quy-mo-lightbox__close {
  position: fixed;
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #172b4d;
  font-size: 28px;
  line-height: 46px;
  font-weight: 400;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    color 0.2s ease;
}

.keyshu-quy-mo-lightbox__close:hover {
  transform: scale(1.05);
  background: var(--ks-qm-primary);
  color: #ffffff;
}

body.keyshu-quy-mo-lightbox-open {
  overflow: hidden;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
  .nag-luc-quy-mo .section-content {
    padding: 26px 24px 30px !important;
  }

  .nag-luc-quy-mo .quy-mo {
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 20px;
  }

  .nag-luc-quy-mo .video.video-fit {
    min-height: 340px;
  }

  .nag-luc-quy-mo .quy-mo-img > .col {
    flex-basis: 166px !important;
    width: 166px !important;
    max-width: 166px !important;
  }

  .nag-luc-quy-mo .quy-mo-img .box-image {
    height: 98px;
  }
}

@media (max-width: 849px) {
  .nag-luc-quy-mo {
    padding: 34px 12px 44px !important;
  }

  .nag-luc-quy-mo .section-content {
    padding: 22px 18px 26px !important;
    border-radius: 18px;
  }

  .nag-luc-quy-mo h2.uppercase {
    font-size: 23px !important;
  }

  .nag-luc-quy-mo .section-content > .row:first-child {
    margin-bottom: 20px !important;
  }

  .nag-luc-quy-mo .quy-mo {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .nag-luc-quy-mo .quy-mo > .col:first-child > .col-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .nag-luc-quy-mo .icon-box {
    min-height: 64px;
  }

  .nag-luc-quy-mo .video.video-fit {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .nag-luc-quy-mo .keyshu-quy-mo-marquee {
    margin-top: 18px !important;
    mask-image: none;
    -webkit-mask-image: none;
  }

  .nag-luc-quy-mo .quy-mo-img {
    gap: 12px;
    animation-duration: 28s;
  }

  .nag-luc-quy-mo .quy-mo-img > .col {
    flex-basis: 158px !important;
    width: 158px !important;
    max-width: 158px !important;
  }

  .nag-luc-quy-mo .quy-mo-img .box-image {
    height: 94px;
  }
}

@media (max-width: 560px) {
  .nag-luc-quy-mo {
    padding: 28px 10px 38px !important;
  }

  .nag-luc-quy-mo .section-content {
    padding: 20px 12px 22px !important;
    border-radius: 16px;
  }

  .nag-luc-quy-mo h2.uppercase {
    font-size: 21px !important;
  }

  .nag-luc-quy-mo .section-content > .row:first-child p {
    font-size: 12px;
  }

  .nag-luc-quy-mo .quy-mo > .col:first-child > .col-inner {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .nag-luc-quy-mo .icon-box {
    min-height: 62px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
    padding: 8px !important;
    border-radius: 11px;
  }

  .nag-luc-quy-mo .icon-box-img {
    width: 34px !important;
    height: 34px !important;
  }

  .nag-luc-quy-mo .icon-inner img {
    width: 22px !important;
    height: 22px !important;
  }

  .nag-luc-quy-mo .icon-box-text h3 {
    font-size: 13.5px !important;
  }

  .nag-luc-quy-mo .icon-box-text p {
    font-size: 10.5px !important;
  }

  .nag-luc-quy-mo .quy-mo-img {
    gap: 10px;
    animation-duration: 24s;
  }

  .nag-luc-quy-mo .quy-mo-img > .col {
    flex-basis: 142px !important;
    width: 142px !important;
    max-width: 142px !important;
  }

  .nag-luc-quy-mo .quy-mo-img .box-image {
    height: 86px;
  }

  .nag-luc-quy-mo .quy-mo-img .box-text {
    min-height: 38px;
    padding: 8px 7px !important;
  }

  .nag-luc-quy-mo .quy-mo-img .box-text p {
    font-size: 11px !important;
  }

  .keyshu-quy-mo-lightbox {
    padding: 14px;
  }

  .keyshu-quy-mo-lightbox__image {
    max-height: 76vh;
    border-radius: 14px;
  }

  .keyshu-quy-mo-lightbox__close {
    top: 12px;
    right: 12px;
    width: 42px;
    height: 42px;
    font-size: 26px;
    line-height: 42px;
  }
}

@media (max-width: 380px) {
  .nag-luc-quy-mo .quy-mo > .col:first-child > .col-inner {
    grid-template-columns: 1fr;
  }

  .nag-luc-quy-mo .icon-box {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .nag-luc-quy-mo .quy-mo-img > .col {
    flex-basis: 132px !important;
    width: 132px !important;
    max-width: 132px !important;
  }

  .nag-luc-quy-mo .quy-mo-img .box-image {
    height: 80px;
  }
}
/* =========================================================
   KEYSHU - GIẤY CHỨNG NHẬN
   FULL CSS FINAL
   Ảnh to hơn - rõ hơn - giảm lề 2 bên - fix nút chuyển tiếp
   Scope: .about-chung-nhan
========================================================= */

.about-chung-nhan {
  --ks-primary: #03b0b1;
  --ks-primary-dark: #029596;
  --ks-heading: #214b53;
  --ks-border: rgba(3, 176, 177, 0.16);
  --ks-bg: #f7ffff;
  --ks-white: #ffffff;

  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 46px 8px 58px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(3, 176, 177, 0.10) 0 150px, transparent 151px),
    radial-gradient(circle at 100% 0%, rgba(3, 176, 177, 0.08) 0 170px, transparent 171px),
    linear-gradient(180deg, #ffffff 0%, #f8ffff 100%) !important;
}

.about-chung-nhan *,
.about-chung-nhan *::before,
.about-chung-nhan *::after {
  box-sizing: border-box;
}

.about-chung-nhan::before,
.about-chung-nhan::after,
.about-chung-nhan .section-content::before,
.about-chung-nhan .section-content::after {
  content: none !important;
  display: none !important;
}

.about-chung-nhan .section-bg {
  display: none !important;
}

/* =========================================================
   CONTAINER
========================================================= */

.about-chung-nhan .section-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.about-chung-nhan .section-content > .row,
.about-chung-nhan .section-content > .row > .col,
.about-chung-nhan .section-content > .row > .col > .col-inner {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   TITLE
========================================================= */

.about-chung-nhan .text {
  width: 100% !important;
  margin: 0 0 34px !important;
  padding: 0 !important;
  text-align: center !important;
}

.about-chung-nhan .text h2,
.about-chung-nhan .text .uppercase {
  position: relative;
  display: inline-block;
  margin: 0 !important;
  padding: 0 0 18px !important;
  color: var(--ks-heading) !important;
  font-family: "SVN-Gilroy", sans-serif !important;
  font-size: clamp(30px, 2.6vw, 44px) !important;
  line-height: 1.12 !important;
  font-weight: 850 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

.about-chung-nhan .text h2::before,
.about-chung-nhan .text .uppercase::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 92px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--ks-primary), transparent);
  transform: translateX(-50%);
}

.about-chung-nhan .text h2::after,
.about-chung-nhan .text .uppercase::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--ks-primary);
  box-shadow: 0 0 0 7px rgba(3, 176, 177, 0.10);
  transform: translateX(-50%);
}

/* =========================================================
   MAIN PANEL
========================================================= */

.about-chung-nhan .slider-wrapper {
  position: relative !important;
  width: 100% !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 36px 42px 58px !important;
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(3, 176, 177, 0.12);
  box-shadow:
    0 28px 70px rgba(29, 72, 79, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  overflow: hidden !important;
}

.about-chung-nhan .slider-wrapper::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 26px;
  border: 1px solid rgba(3, 176, 177, 0.10);
  pointer-events: none;
}

.about-chung-nhan .slider-wrapper::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -95px;
  width: 460px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(3, 176, 177, 0.16) 0%, rgba(3, 176, 177, 0.04) 48%, transparent 72%);
  transform: translateX(-50%);
  filter: blur(14px);
  pointer-events: none;
}

.about-chung-nhan .slider {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  overflow: visible !important;
}

.about-chung-nhan .flickity-viewport {
  width: 100% !important;
  height: 660px !important;
  min-height: 660px !important;
  overflow: hidden !important;
}

.about-chung-nhan .flickity-slider {
  display: flex !important;
  align-items: stretch !important;
}

/* =========================================================
   SLIDE GRID
========================================================= */

.about-chung-nhan .flickity-slider > .row,
.about-chung-nhan .slider > .row {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 6px 0 10px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px !important;
  align-items: center !important;
}

.about-chung-nhan .flickity-slider > .row > .col,
.about-chung-nhan .slider > .row > .col {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.about-chung-nhan .slider-wrapper .col-inner {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* =========================================================
   CARD
========================================================= */

.about-chung-nhan .slider-wrapper .box {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 610px !important;
  margin: 0 !important;
  padding: 12px !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  border-radius: 26px;
  background: #ffffff !important;
  border: 1px solid rgba(3, 176, 177, 0.14);
  box-shadow:
    0 18px 40px rgba(29, 72, 79, 0.08),
    inset 0 2px 0 rgba(255, 255, 255, 0.95);
  overflow: hidden !important;
  transform: none !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.about-chung-nhan .slider-wrapper .box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, var(--ks-primary), rgba(3, 176, 177, 0.18));
}

.about-chung-nhan .slider-wrapper .box::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-image: radial-gradient(circle, rgba(3, 176, 177, 0.16) 1.5px, transparent 1.7px);
  background-size: 9px 9px;
  opacity: 0.65;
  pointer-events: none;
}

.about-chung-nhan .slider-wrapper .box:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(3, 176, 177, 0.32);
  box-shadow:
    0 24px 54px rgba(29, 72, 79, 0.12),
    inset 0 2px 0 rgba(255, 255, 255, 0.95);
}

/* Bỏ toàn bộ hiệu ứng nghiêng để ảnh không bị mờ */
.about-chung-nhan .flickity-slider > .row > .col:nth-child(1) .box,
.about-chung-nhan .flickity-slider > .row > .col:nth-child(2) .box,
.about-chung-nhan .flickity-slider > .row > .col:nth-child(3) .box,
.about-chung-nhan .slider > .row > .col:nth-child(1) .box,
.about-chung-nhan .slider > .row > .col:nth-child(2) .box,
.about-chung-nhan .slider > .row > .col:nth-child(3) .box {
  transform: none !important;
}

/* Card giữa to hơn nhẹ */
.about-chung-nhan .flickity-slider > .row > .col:nth-child(2) .box,
.about-chung-nhan .slider > .row > .col:nth-child(2) .box {
  min-height: 632px !important;
  border-color: rgba(3, 176, 177, 0.28);
  box-shadow:
    0 26px 62px rgba(29, 72, 79, 0.13),
    inset 0 2px 0 rgba(255, 255, 255, 0.95);
}

/* =========================================================
   IMAGE
========================================================= */

.about-chung-nhan .slider-wrapper .box-image {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #ffffff !important;
  overflow: hidden !important;
}

.about-chung-nhan .slider-wrapper .box-image > div {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.about-chung-nhan .slider-wrapper .box-text {
  display: none !important;
}

.about-chung-nhan .slider-wrapper .box-image img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: 585px !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 20px rgba(29, 72, 79, 0.08);
  filter: none !important;
  transform: none !important;
  image-rendering: auto !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.about-chung-nhan .flickity-slider > .row > .col:nth-child(2) .box-image img,
.about-chung-nhan .slider > .row > .col:nth-child(2) .box-image img {
  height: 610px !important;
  transform: none !important;
}

.about-chung-nhan .slider-wrapper .box:hover .box-image img {
  transform: none !important;
}

/* =========================================================
   ARROWS - FIX NÚT CHUYỂN TIẾP
========================================================= */

.about-chung-nhan .flickity-button,
.about-chung-nhan .flickity-prev-next-button {
  position: absolute !important;
  top: 50% !important;
  z-index: 30 !important;

  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;

  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 50% !important;
  border: 1.5px solid rgba(3, 176, 177, 0.35) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(29, 72, 79, 0.14) !important;

  opacity: 1 !important;
  visibility: visible !important;
  overflow: hidden !important;

  transform: translateY(-50%) !important;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease !important;

  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

.about-chung-nhan .flickity-button.previous,
.about-chung-nhan .flickity-prev-next-button.previous {
  left: 16px !important;
  right: auto !important;
}

.about-chung-nhan .flickity-button.next,
.about-chung-nhan .flickity-prev-next-button.next {
  right: 16px !important;
  left: auto !important;
}

/* Ẩn SVG mặc định bị lỗi */
.about-chung-nhan .flickity-button svg,
.about-chung-nhan .flickity-button .flickity-button-icon,
.about-chung-nhan .flickity-prev-next-button svg,
.about-chung-nhan .flickity-prev-next-button .flickity-button-icon {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.about-chung-nhan .flickity-button::after,
.about-chung-nhan .flickity-prev-next-button::after {
  content: none !important;
  display: none !important;
}

/* Mũi tên tự vẽ bằng CSS, không phụ thuộc icon font */
.about-chung-nhan .flickity-button::before,
.about-chung-nhan .flickity-prev-next-button::before {
  content: "" !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  border-top: 2.5px solid var(--ks-primary) !important;
  border-right: 2.5px solid var(--ks-primary) !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}

.about-chung-nhan .flickity-button.previous::before,
.about-chung-nhan .flickity-prev-next-button.previous::before {
  transform: rotate(-135deg) translate(-1px, -1px) !important;
}

.about-chung-nhan .flickity-button.next::before,
.about-chung-nhan .flickity-prev-next-button.next::before {
  transform: rotate(45deg) translate(-1px, 1px) !important;
}

.about-chung-nhan .flickity-button:hover,
.about-chung-nhan .flickity-prev-next-button:hover {
  background: var(--ks-primary) !important;
  border-color: var(--ks-primary) !important;
  box-shadow: 0 16px 34px rgba(3, 176, 177, 0.28) !important;
  transform: translateY(-50%) scale(1.04) !important;
}

.about-chung-nhan .flickity-button:hover::before,
.about-chung-nhan .flickity-prev-next-button:hover::before {
  border-color: #ffffff !important;
}

.about-chung-nhan .flickity-button:disabled,
.about-chung-nhan .flickity-prev-next-button:disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}

/* =========================================================
   DOTS
========================================================= */

.about-chung-nhan .flickity-page-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 24px !important;
  z-index: 11 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transform: translateX(-50%);
}

.about-chung-nhan .flickity-page-dots .dot {
  width: 7px !important;
  height: 7px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: rgba(3, 176, 177, 0.25) !important;
  opacity: 1 !important;
  transition: all 0.25s ease !important;
}

.about-chung-nhan .flickity-page-dots .dot.is-selected {
  width: 24px !important;
  background: var(--ks-primary) !important;
}

.about-chung-nhan .loading-spin {
  display: none !important;
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1280px) {
  .about-chung-nhan .section-content {
    max-width: 1220px !important;
  }

  .about-chung-nhan .slider-wrapper {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

  .about-chung-nhan .flickity-viewport {
    height: 620px !important;
    min-height: 620px !important;
  }

  .about-chung-nhan .slider-wrapper .box {
    min-height: 570px !important;
    padding: 10px !important;
  }

  .about-chung-nhan .flickity-slider > .row > .col:nth-child(2) .box,
  .about-chung-nhan .slider > .row > .col:nth-child(2) .box {
    min-height: 592px !important;
  }

  .about-chung-nhan .slider-wrapper .box-image img {
    height: 545px !important;
  }

  .about-chung-nhan .flickity-slider > .row > .col:nth-child(2) .box-image img,
  .about-chung-nhan .slider > .row > .col:nth-child(2) .box-image img {
    height: 570px !important;
  }

  .about-chung-nhan .flickity-button,
  .about-chung-nhan .flickity-prev-next-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {
  .about-chung-nhan {
    padding: 48px 10px 58px !important;
  }

  .about-chung-nhan .text {
    margin-bottom: 26px !important;
  }

  .about-chung-nhan .text h2,
  .about-chung-nhan .text .uppercase {
    font-size: 28px !important;
  }

  .about-chung-nhan .slider-wrapper {
    max-width: 720px !important;
    padding: 22px 42px 52px !important;
    border-radius: 26px;
  }

  .about-chung-nhan .slider-wrapper::before {
    inset: 12px;
    border-radius: 20px;
  }

  .about-chung-nhan .flickity-viewport {
    height: 560px !important;
    min-height: 560px !important;
  }

  .about-chung-nhan .flickity-slider > .row,
  .about-chung-nhan .slider > .row {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  .about-chung-nhan .flickity-slider > .row > .col,
  .about-chung-nhan .slider > .row > .col {
    display: none !important;
  }

  .about-chung-nhan .flickity-slider > .row > .col:first-child,
  .about-chung-nhan .slider > .row > .col:first-child {
    display: flex !important;
  }

  .about-chung-nhan .slider-wrapper .box,
  .about-chung-nhan .flickity-slider > .row > .col:nth-child(1) .box,
  .about-chung-nhan .flickity-slider > .row > .col:nth-child(2) .box,
  .about-chung-nhan .flickity-slider > .row > .col:nth-child(3) .box,
  .about-chung-nhan .slider > .row > .col:nth-child(1) .box,
  .about-chung-nhan .slider > .row > .col:nth-child(2) .box,
  .about-chung-nhan .slider > .row > .col:nth-child(3) .box {
    max-width: 410px;
    min-height: 510px !important;
    margin: 0 auto !important;
    padding: 10px !important;
    transform: none !important;
  }

  .about-chung-nhan .slider-wrapper .box-image img,
  .about-chung-nhan .flickity-slider > .row > .col:nth-child(2) .box-image img,
  .about-chung-nhan .slider > .row > .col:nth-child(2) .box-image img {
    height: 488px !important;
  }

  .about-chung-nhan .flickity-button,
  .about-chung-nhan .flickity-prev-next-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  .about-chung-nhan .flickity-button::before,
  .about-chung-nhan .flickity-prev-next-button::before {
    width: 10px !important;
    height: 10px !important;
    border-top-width: 2.2px !important;
    border-right-width: 2.2px !important;
  }

  .about-chung-nhan .flickity-button.previous,
  .about-chung-nhan .flickity-prev-next-button.previous {
    left: 8px !important;
  }

  .about-chung-nhan .flickity-button.next,
  .about-chung-nhan .flickity-prev-next-button.next {
    right: 8px !important;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 560px) {
  .about-chung-nhan {
    padding: 42px 8px 50px !important;
  }

  .about-chung-nhan .text {
    margin-bottom: 22px !important;
  }

  .about-chung-nhan .text h2,
  .about-chung-nhan .text .uppercase {
    font-size: 24px !important;
    line-height: 1.24 !important;
  }

  .about-chung-nhan .slider-wrapper {
    padding: 16px 10px 44px !important;
    border-radius: 20px;
  }

  .about-chung-nhan .slider-wrapper::before {
    inset: 8px;
    border-radius: 14px;
  }

  .about-chung-nhan .flickity-viewport {
    height: 458px !important;
    min-height: 458px !important;
  }

  .about-chung-nhan .slider-wrapper .box {
    max-width: 330px;
    min-height: 420px !important;
    padding: 8px !important;
    border-radius: 18px;
  }

  .about-chung-nhan .slider-wrapper .box-image {
    border-radius: 14px;
  }

  .about-chung-nhan .slider-wrapper .box-image img {
    height: 400px !important;
  }

  .about-chung-nhan .flickity-button,
  .about-chung-nhan .flickity-prev-next-button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }

  .about-chung-nhan .flickity-button::before,
  .about-chung-nhan .flickity-prev-next-button::before {
    width: 9px !important;
    height: 9px !important;
    border-top-width: 2px !important;
    border-right-width: 2px !important;
  }

  .about-chung-nhan .flickity-button.previous,
  .about-chung-nhan .flickity-prev-next-button.previous {
    left: 4px !important;
  }

  .about-chung-nhan .flickity-button.next,
  .about-chung-nhan .flickity-prev-next-button.next {
    right: 4px !important;
  }

  .about-chung-nhan .flickity-page-dots {
    bottom: 16px !important;
  }
}

/* =========================================================
   MOBILE NHỎ
========================================================= */

@media (max-width: 380px) {
  .about-chung-nhan {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .about-chung-nhan .slider-wrapper {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .about-chung-nhan .flickity-viewport {
    height: 420px !important;
    min-height: 420px !important;
  }

  .about-chung-nhan .slider-wrapper .box {
    max-width: 292px;
    min-height: 388px !important;
  }

  .about-chung-nhan .slider-wrapper .box-image img {
    height: 368px !important;
  }

  .about-chung-nhan .flickity-button,
  .about-chung-nhan .flickity-prev-next-button {
    display: none !important;
  }
}
/* =========================================================
   KEYSHU - SMOOTH SCROLL MENU SECTION
========================================================= */

html {
  scroll-behavior: smooth;
}

.keyshu-gioi-thieu,
.keyshu-tamnhin,
.nag-luc-quy-mo,
.about-chung-nhan,
.keyshu-hinh-anh {
  scroll-margin-top: 110px;
}

@media (max-width: 849px) {
  .keyshu-gioi-thieu,
  .keyshu-tamnhin,
  .nag-luc-quy-mo,
  .about-chung-nhan,
  .keyshu-hinh-anh {
    scroll-margin-top: 86px;
  }
}
/* =========================================================
   KEYSHU - ABOUT FLOATING MENU FINAL
   Vị trí: giữa màn hình phía bên trái
========================================================= */

.keyshu-about-floating-menu,
.keyshu-about-floating-menu * {
  box-sizing: border-box;
}

.keyshu-about-floating-menu {
  position: fixed !important;
  left: 24px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  z-index: 99999 !important;

  font-family: "SVN-Gilroy", sans-serif !important;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(-50%) translateX(-14px);
  transition:
    opacity 0.25s ease,
    visibility 0.25s ease,
    transform 0.25s ease;
}

.keyshu-about-floating-menu.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(-50%) translateX(0);
}

/* =========================================================
   NÚT TRÒN MENU
========================================================= */

.keyshu-about-floating-menu__button {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  min-height: 60px !important;

  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 0 !important;
  border-radius: 999px !important;
  background: #03b0b1 !important;
  color: #ffffff !important;

  box-shadow:
    0 16px 36px rgba(3, 176, 177, 0.34),
    0 6px 16px rgba(20, 74, 84, 0.16) !important;

  cursor: pointer !important;
  outline: none !important;

  transition:
    background 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease !important;
}

.keyshu-about-floating-menu__button:hover {
  background: #029596 !important;
  transform: translateX(2px) !important;
  box-shadow:
    0 20px 42px rgba(3, 176, 177, 0.40),
    0 8px 18px rgba(20, 74, 84, 0.18) !important;
}

/* Icon 3 gạch */
.keyshu-about-floating-menu__icon {
  position: relative !important;
  width: 24px !important;
  height: 18px !important;
  display: block !important;
}

.keyshu-about-floating-menu__icon span {
  position: absolute !important;
  left: 0 !important;

  width: 24px !important;
  height: 2.5px !important;

  display: block !important;

  border-radius: 999px !important;
  background: #ffffff !important;

  transition:
    top 0.25s ease,
    transform 0.25s ease,
    opacity 0.25s ease !important;
}

.keyshu-about-floating-menu__icon span:nth-child(1) {
  top: 0 !important;
}

.keyshu-about-floating-menu__icon span:nth-child(2) {
  top: 8px !important;
}

.keyshu-about-floating-menu__icon span:nth-child(3) {
  top: 16px !important;
}

/* Khi mở đổi thành dấu X */
.keyshu-about-floating-menu.is-open .keyshu-about-floating-menu__icon span:nth-child(1) {
  top: 8px !important;
  transform: rotate(45deg) !important;
}

.keyshu-about-floating-menu.is-open .keyshu-about-floating-menu__icon span:nth-child(2) {
  opacity: 0 !important;
}

.keyshu-about-floating-menu.is-open .keyshu-about-floating-menu__icon span:nth-child(3) {
  top: 8px !important;
  transform: rotate(-45deg) !important;
}

/* =========================================================
   PANEL MENU XỔ RA BÊN PHẢI NÚT
========================================================= */

.keyshu-about-floating-menu__panel {
  position: absolute !important;
  left: 76px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;

  width: 340px !important;
  max-width: calc(100vw - 116px) !important;

  padding: 12px !important;

  border-radius: 18px !important;
  border: 1px solid rgba(3, 176, 177, 0.16) !important;
  background: rgba(255, 255, 255, 0.98) !important;

  box-shadow:
    0 22px 60px rgba(24, 70, 80, 0.18),
    0 6px 18px rgba(24, 70, 80, 0.08) !important;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(-50%) translateX(-10px) scale(0.98);
  transform-origin: left center;

  transition:
    opacity 0.22s ease,
    visibility 0.22s ease,
    transform 0.22s ease;
}

.keyshu-about-floating-menu.is-open .keyshu-about-floating-menu__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(-50%) translateX(0) scale(1);
}

/* Mũi nhọn chỉ về nút tròn */
.keyshu-about-floating-menu__panel::after {
  content: "";
  position: absolute;
  left: -8px;
  top: 50%;

  width: 16px;
  height: 16px;

  background: #ffffff;
  border-left: 1px solid rgba(3, 176, 177, 0.16);
  border-bottom: 1px solid rgba(3, 176, 177, 0.16);

  transform: translateY(-50%) rotate(45deg);
}

/* =========================================================
   TIÊU ĐỀ PANEL
========================================================= */

.keyshu-about-floating-menu__title {
  margin: 0 0 8px !important;
  padding: 10px 12px !important;

  display: flex !important;
  align-items: center !important;
  gap: 8px !important;

  color: #214b53 !important;
  background: rgba(3, 176, 177, 0.08) !important;

  border-radius: 12px !important;

  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
}

.keyshu-about-floating-menu__title::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 8px;

  border-radius: 50%;
  background: #03b0b1;
  box-shadow: 0 0 0 5px rgba(3, 176, 177, 0.12);
}

/* =========================================================
   LIST LINK
========================================================= */

.keyshu-about-floating-menu__list {
  position: relative;
  z-index: 2;

  display: flex;
  flex-direction: column;
  gap: 6px;
}

.keyshu-about-floating-menu__link {
  position: relative !important;

  min-height: 46px !important;
  padding: 0 42px 0 14px !important;

  display: flex !important;
  align-items: center !important;

  border-radius: 12px !important;
  border: 1px solid transparent !important;
  background: transparent !important;

  color: #435960 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-decoration: none !important;

  transition:
    color 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease,
    transform 0.22s ease !important;
}

.keyshu-about-floating-menu__link::after {
  content: "\203A";
  position: absolute;
  right: 14px;
  top: 50%;

  color: #03b0b1;
  font-size: 22px;
  line-height: 1;
  font-weight: 400;

  transform: translateY(-50%);
}

.keyshu-about-floating-menu__link:hover,
.keyshu-about-floating-menu__link.is-active {
  color: #03b0b1 !important;
  background: rgba(3, 176, 177, 0.08) !important;
  border-color: rgba(3, 176, 177, 0.18) !important;
}

.keyshu-about-floating-menu__link:hover {
  transform: translateX(2px) !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 849px) {
  .keyshu-about-floating-menu {
    left: 14px !important;
    top: 50% !important;
    bottom: auto !important;
    right: auto !important;
  }

  .keyshu-about-floating-menu__button {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
  }

  .keyshu-about-floating-menu__panel {
    left: 66px !important;
    top: 50% !important;
    bottom: auto !important;

    width: 300px !important;
    max-width: calc(100vw - 88px) !important;

    padding: 10px !important;
    border-radius: 16px !important;
  }

  .keyshu-about-floating-menu__title {
    font-size: 12px !important;
  }

  .keyshu-about-floating-menu__link {
    min-height: 44px !important;
    font-size: 13px !important;
  }

}

@media (max-width: 420px) {
  .keyshu-about-floating-menu {
    left: 10px !important;
  }

  .keyshu-about-floating-menu__button {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
  }

  .keyshu-about-floating-menu__panel {
    left: 60px !important;
    width: calc(100vw - 74px) !important;
    max-width: calc(100vw - 74px) !important;
  }

  .keyshu-about-floating-menu__link {
    min-height: 42px !important;
    font-size: 12.5px !important;
  }
}
/* =========================================================
   KEYSHU - MÔ TẢ DƯỚI DANH MỤC SẢN PHẨM
   Hiển thị 6-7 dòng + nút xem thêm / thu gọn
========================================================= */

.keyshu-cat-desc-box {
  width: 100%;
  max-width: 1320px;
  margin: 34px auto 0 !important;
  padding: 26px 28px 28px !important;
  position: relative;

  background: #ffffff;
  border: 1px solid rgba(3, 176, 177, 0.14);
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(3, 176, 177, 0.07);

  box-sizing: border-box;
}

.keyshu-cat-desc-box * {
  box-sizing: border-box;
}

.keyshu-cat-desc-content {
  --keyshu-cat-desc-lines: 7;
  --keyshu-cat-desc-line-height: 1.75;

  width: 100%;
  max-height: calc(var(--keyshu-cat-desc-lines) * var(--keyshu-cat-desc-line-height) * 1em);
  position: relative;
  overflow: hidden;

  color: #425e65;
  font-size: 15px;
  line-height: var(--keyshu-cat-desc-line-height);
  font-weight: 500;

  transition: max-height 0.35s ease;
}

.keyshu-cat-desc-content p {
  margin: 0 0 12px !important;
  padding: 0 !important;

  color: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  text-align: justify;
}

.keyshu-cat-desc-content p:last-child {
  margin-bottom: 0 !important;
}

.keyshu-cat-desc-content h1,
.keyshu-cat-desc-content h2,
.keyshu-cat-desc-content h3,
.keyshu-cat-desc-content h4,
.keyshu-cat-desc-content h5,
.keyshu-cat-desc-content h6 {
  margin: 0 0 14px !important;
  padding: 0 !important;

  color: #173b42;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -0.2px;
  text-transform: none;
}

.keyshu-cat-desc-content h1 {
  font-size: 26px;
}

.keyshu-cat-desc-content h2 {
  font-size: 24px;
}

.keyshu-cat-desc-content h3 {
  font-size: 20px;
}

.keyshu-cat-desc-content h4 {
  font-size: 18px;
}

.keyshu-cat-desc-content ul,
.keyshu-cat-desc-content ol {
  margin: 0 0 14px 20px !important;
  padding: 0 !important;
}

.keyshu-cat-desc-content li {
  margin: 0 0 7px !important;
  padding: 0 !important;

  color: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
}

.keyshu-cat-desc-content strong,
.keyshu-cat-desc-content b {
  color: #173b42;
  font-weight: 800;
}

.keyshu-cat-desc-content a {
  color: #03b0b1;
  font-weight: 700;
  text-decoration: none;
}

.keyshu-cat-desc-content a:hover {
  color: #029596;
  text-decoration: underline;
}

.keyshu-cat-desc-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

/* Lớp phủ mờ dưới nội dung khi đang thu gọn */
.keyshu-cat-desc-box.is-collapsible:not(.is-expanded) .keyshu-cat-desc-content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 58px;
  pointer-events: none;

  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    #ffffff 88%
  );
}

/* Khi mở rộng */
.keyshu-cat-desc-box.is-expanded .keyshu-cat-desc-content {
  max-height: var(--keyshu-cat-desc-full-height, 9999px);
}

/* Nút xem thêm / thu gọn */
.keyshu-cat-desc-toggle {
  display: none;

  width: fit-content;
  min-width: 122px;
  height: 40px;

  margin: 20px auto 0 !important;
  padding: 0 22px !important;

  border: 1.5px solid #03b0b1 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #03b0b1 !important;

  font-family: inherit;
  font-size: 14px !important;
  line-height: 38px !important;
  font-weight: 800 !important;
  text-align: center;
  text-transform: none !important;

  cursor: pointer;
  box-shadow: none !important;
  transition: all 0.25s ease;
}

.keyshu-cat-desc-box.is-collapsible .keyshu-cat-desc-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
}

.keyshu-cat-desc-toggle:hover {
  background: #03b0b1 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(3, 176, 177, 0.18) !important;
}

.keyshu-cat-desc-toggle:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(3, 176, 177, 0.18) !important;
}

.keyshu-cat-desc-less {
  display: none;
}

.keyshu-cat-desc-box.is-expanded .keyshu-cat-desc-more {
  display: none;
}

.keyshu-cat-desc-box.is-expanded .keyshu-cat-desc-less {
  display: inline;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
  .keyshu-cat-desc-box {
    margin-top: 28px !important;
    padding: 24px 22px 26px !important;
    border-radius: 16px;
  }

  .keyshu-cat-desc-content {
    font-size: 14.5px;
  }

  .keyshu-cat-desc-content h1 {
    font-size: 24px;
  }

  .keyshu-cat-desc-content h2 {
    font-size: 22px;
  }

  .keyshu-cat-desc-content h3 {
    font-size: 19px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 560px) {
  .keyshu-cat-desc-box {
    margin-top: 22px !important;
    padding: 20px 16px 22px !important;
    border-radius: 14px;
  }

  .keyshu-cat-desc-content {
    --keyshu-cat-desc-lines: 6;
    --keyshu-cat-desc-line-height: 1.7;

    font-size: 14px;
    line-height: var(--keyshu-cat-desc-line-height);
  }

  .keyshu-cat-desc-content h1 {
    font-size: 21px;
  }

  .keyshu-cat-desc-content h2 {
    font-size: 20px;
  }

  .keyshu-cat-desc-content h3 {
    font-size: 18px;
  }

  .keyshu-cat-desc-content h4 {
    font-size: 16px;
  }

  .keyshu-cat-desc-content ul,
  .keyshu-cat-desc-content ol {
    margin-left: 18px !important;
  }

  .keyshu-cat-desc-toggle {
    width: 100%;
    height: 40px;
    margin-top: 18px !important;

    font-size: 14px !important;
    line-height: 38px !important;
  }
}

/* =========================================================
   MOBILE NHỎ
========================================================= */

@media (max-width: 380px) {
  .keyshu-cat-desc-box {
    padding: 18px 14px 20px !important;
  }

  .keyshu-cat-desc-content {
    font-size: 13.5px;
  }
}
/* =========================================================
   KEYSHU - BLOG SEARCH RESULT GRID
   Áp dụng cho trang kết quả tìm kiếm blog
   Desktop: 3 bài / 1 hàng
   Tablet: 2 bài / 1 hàng
   Mobile: 1 bài / 1 hàng
========================================================= */

/* Nền tổng thể trang kết quả tìm kiếm */
body.search #content.blog-wrapper.blog-archive,
body.search-results #content.blog-wrapper.blog-archive {
  padding-top: 28px !important;
  padding-bottom: 50px !important;
  background: #ffffff !important;
}

/* Container tổng */
body.search #content.blog-wrapper.blog-archive > .row,
body.search-results #content.blog-wrapper.blog-archive > .row {
  max-width: 1320px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =========================================================
   1. TIÊU ĐỀ TRANG KẾT QUẢ TÌM KIẾM
========================================================= */

body.search .archive-page-header,
body.search-results .archive-page-header {
  margin: 0 0 28px !important;
  padding: 0 !important;
}

body.search .archive-page-header .row,
body.search-results .archive-page-header .row {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.search .archive-page-header .large-12,
body.search-results .archive-page-header .large-12 {
  text-align: left !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

body.search .archive-page-header .page-title,
body.search-results .archive-page-header .page-title {
  margin: 0 !important;
  padding: 0 !important;

  color: #111827 !important;
  font-size: 26px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.search .archive-page-header .page-title span,
body.search-results .archive-page-header .page-title span {
  color: #03b0b1 !important;
  font-weight: 800 !important;
}

/* =========================================================
   2. BỎ SIDEBAR, CHO KẾT QUẢ FULL WIDTH
========================================================= */

body.search #content.blog-wrapper.blog-archive .post-sidebar,
body.search-results #content.blog-wrapper.blog-archive .post-sidebar {
  display: none !important;
}

body.search #content.blog-wrapper.blog-archive .large-9.col,
body.search-results #content.blog-wrapper.blog-archive .large-9.col {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

body.search #content.blog-wrapper.blog-archive .row-divided > .col + .col,
body.search-results #content.blog-wrapper.blog-archive .row-divided > .col + .col {
  border-left: 0 !important;
}

/* =========================================================
   3. GRID DANH SÁCH BÀI VIẾT
========================================================= */

body.search #post-list,
body.search-results #post-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px 24px !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Mỗi bài viết là 1 card */
body.search #post-list article.post,
body.search-results #post-list article.post {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.search #post-list article.post .article-inner,
body.search-results #post-list article.post .article-inner {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;

  background: #ffffff !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

/* =========================================================
   4. ĐƯA ẢNH LÊN TRÊN, TEXT XUỐNG DƯỚI
========================================================= */

body.search #post-list .entry-header,
body.search-results #post-list .entry-header {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
}

body.search #post-list .entry-image,
body.search-results #post-list .entry-image {
  order: 1 !important;
}

body.search #post-list .entry-header-text,
body.search-results #post-list .entry-header-text {
  order: 2 !important;
  text-align: left !important;
}

/* =========================================================
   5. ẢNH BÀI VIẾT
========================================================= */

body.search #post-list .entry-image,
body.search-results #post-list .entry-image {
  position: relative !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;

  border-radius: 7px !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
}

body.search #post-list .entry-image a,
body.search-results #post-list .entry-image a {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  border-radius: 7px !important;
}

body.search #post-list .entry-image img,
body.search-results #post-list .entry-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;

  border-radius: 7px !important;
  transition: transform 0.28s ease !important;
}

body.search #post-list article.post:hover .entry-image img,
body.search-results #post-list article.post:hover .entry-image img {
  transform: scale(1.035) !important;
}

/* Ẩn badge ngày trên ảnh */
body.search #post-list .badge.post-date,
body.search-results #post-list .badge.post-date {
  display: none !important;
}

/* =========================================================
   6. ẨN DANH MỤC, META, GẠCH DIVIDER, FOOTER
========================================================= */

body.search #post-list .entry-category,
body.search-results #post-list .entry-category,
body.search #post-list .entry-meta.uppercase,
body.search-results #post-list .entry-meta.uppercase,
body.search #post-list .entry-divider,
body.search-results #post-list .entry-divider,
body.search #post-list footer.entry-meta,
body.search-results #post-list footer.entry-meta {
  display: none !important;
}

/* =========================================================
   7. TIÊU ĐỀ BÀI VIẾT
========================================================= */

body.search #post-list .entry-title,
body.search-results #post-list .entry-title {
  margin: 0 0 8px !important;
  padding: 0 !important;

  color: #111111 !important;
  font-size: 16px !important;
  line-height: 1.42 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.search #post-list .entry-title a,
body.search-results #post-list .entry-title a {
  color: #111111 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
}

body.search #post-list .entry-title a:hover,
body.search-results #post-list .entry-title a:hover {
  color: #03b0b1 !important;
}

/* =========================================================
   8. MÔ TẢ NGẮN
========================================================= */

body.search #post-list .entry-content,
body.search-results #post-list .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

body.search #post-list .entry-summary,
body.search-results #post-list .entry-summary {
  margin: 0 !important;
  padding: 0 !important;
}

body.search #post-list .entry-summary p,
body.search-results #post-list .entry-summary p {
  margin: 0 !important;
  padding: 0 !important;

  color: #555555 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Ẩn nút Tiếp tục đọc để giống ảnh mẫu */
body.search #post-list .more-link,
body.search-results #post-list .more-link,
body.search #post-list .entry-summary .text-center,
body.search-results #post-list .entry-summary .text-center {
  display: none !important;
}

/* =========================================================
   9. KHOẢNG CÁCH TEXT DƯỚI ẢNH
========================================================= */

body.search #post-list .entry-header-text,
body.search-results #post-list .entry-header-text,
body.search #post-list .entry-content,
body.search-results #post-list .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =========================================================
   10. TRẠNG THÁI KHÔNG CÓ KẾT QUẢ
========================================================= */

body.search #post-list .woocommerce-info,
body.search-results #post-list .woocommerce-info,
body.search #post-list .no-results,
body.search-results #post-list .no-results {
  grid-column: 1 / -1 !important;
}

/* =========================================================
   11. TABLET - 2 BÀI / HÀNG
========================================================= */

@media (max-width: 1024px) {
  body.search #content.blog-wrapper.blog-archive,
  body.search-results #content.blog-wrapper.blog-archive {
    padding-top: 24px !important;
    padding-bottom: 42px !important;
  }

  body.search #post-list,
  body.search-results #post-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 20px !important;
  }

  body.search .archive-page-header .page-title,
  body.search-results .archive-page-header .page-title {
    font-size: 24px !important;
  }

  body.search #post-list .entry-title,
  body.search-results #post-list .entry-title {
    font-size: 15.5px !important;
  }

  body.search #post-list .entry-summary p,
  body.search-results #post-list .entry-summary p {
    font-size: 14.5px !important;
  }
}

/* =========================================================
   12. MOBILE - 1 BÀI / HÀNG
========================================================= */

@media (max-width: 768px) {
  body.search #content.blog-wrapper.blog-archive,
  body.search-results #content.blog-wrapper.blog-archive {
    padding-top: 20px !important;
    padding-bottom: 34px !important;
  }

  body.search .archive-page-header,
  body.search-results .archive-page-header {
    margin-bottom: 22px !important;
  }

  body.search .archive-page-header .large-12,
  body.search-results .archive-page-header .large-12 {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.search .archive-page-header .page-title,
  body.search-results .archive-page-header .page-title {
    font-size: 21px !important;
    line-height: 1.4 !important;
  }

  body.search #content.blog-wrapper.blog-archive .large-9.col,
  body.search-results #content.blog-wrapper.blog-archive .large-9.col {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.search #post-list,
  body.search-results #post-list {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.search #post-list .entry-image,
  body.search-results #post-list .entry-image {
    margin-bottom: 12px !important;
    border-radius: 7px !important;
  }

  body.search #post-list .entry-image a,
  body.search-results #post-list .entry-image a {
    aspect-ratio: 16 / 9 !important;
    border-radius: 7px !important;
  }

  body.search #post-list .entry-title,
  body.search-results #post-list .entry-title {
    margin-bottom: 7px !important;
    font-size: 15.5px !important;
    line-height: 1.45 !important;
  }

  body.search #post-list .entry-summary p,
  body.search-results #post-list .entry-summary p {
    font-size: 14.5px !important;
    line-height: 1.55 !important;
  }
}

/* =========================================================
   13. MOBILE NHỎ
========================================================= */

@media (max-width: 420px) {
  body.search .archive-page-header .page-title,
  body.search-results .archive-page-header .page-title {
    font-size: 19px !important;
  }

  body.search #post-list,
  body.search-results #post-list {
    gap: 22px !important;
  }

  body.search #post-list .entry-title,
  body.search-results #post-list .entry-title {
    font-size: 15px !important;
  }

  body.search #post-list .entry-summary p,
  body.search-results #post-list .entry-summary p {
    font-size: 14px !important;
  }
}