/* Import font Be Vietnam Pro từ Google Fonts với các độ đậm (weight) phổ biến: 400, 500, 600, 700 */
@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

/* ===== BANNER DỊCH VỤ XUẤT BẢN — thay placeholder cũ ===== */
.home_page .section.introduce {
  height: auto;
  margin: 32px 0;
}

.home_page .section.introduce > .container {
  width: calc(100% - 32px);
  max-width: 1421px;
  padding-right: 0;
  padding-left: 0;
}

.home_page .section.introduce > .container > .row {
  margin-right: 0;
  margin-left: 0;
}

.home_page .section.introduce .col-md-6:first-child {
  display: none;
}

.home_page .section.introduce .col-md-6:last-child {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
}

.home_page .section.introduce .banner-info,
.home_page .section.introduce .banner-info > a {
  display: block;
  width: 100%;
  height: auto;
}

.home_page .section.introduce .banner-info > a {
  aspect-ratio: 3 / 1;
  border-radius: 5px;
  background-image: url("https://admin.trithuctrebooks.com/Uploads/Picture/2026/7/14/image-20260714092222403.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.home_page .section.introduce .banner-info > a > img {
  display: none;
}

@media (max-width: 767.98px) {
  .home_page .section.introduce {
    margin: 24px 0;
  }

  .home_page .section.introduce > .container {
    width: calc(100% - 32px);
  }

  .home_page .section.introduce .banner-info > a {
    aspect-ratio: 343 / 610;
    background-image: url("https://admin.trithuctrebooks.com/Uploads/Picture/2026/7/14/image-20260714092241910.jpg");
  }
}

/* ===== GLOBAL FOOTER — aligned with the approved demo visual ===== */
.section.subscribe {
  height: 40px;
  margin: 0;
  background: rgba(255, 134, 23, 0.1);
}

.section.subscribe > .container > .row {
  min-height: 72px;
  margin-right: 0;
  margin-left: 0;
  align-items: center;
}

.section.subscribe > .container {
  padding-right: 0;
  padding-left: 0;
}

.section.subscribe > .container > .row > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.section.subscribe form,
.section.subscribe .input-group {
  width: 100%;
}

@media (min-width: 768px) {
  .section.subscribe form {
    width: 512px;
    max-width: 100%;
    margin-left: auto;
  }
}

.section.subscribe .input-group {
  display: grid;
  grid-template-columns: auto minmax(210px, 1fr) 48px;
  align-items: center;
  column-gap: 16px;
}

.section.subscribe .lable-subscribe {
  margin: 0;
  color: #656565;
  font-size: 18px;
  font-weight: 700;
  line-height: 18px;
  white-space: nowrap;
}

.section.subscribe .ip-subscribe {
  width: auto;
  height: 42px;
  border: 1px solid #ffffff;
  border-radius: 4px 0 0 4px;
  color: #515151;
  font-size: 14px;
  box-shadow: none;
}

.section.subscribe .input-group-append {
  width: 48px;
  height: 42px;
  margin-left: -16px;
}

.section.subscribe .input-group-append button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 42px;
  border-radius: 0 4px 4px 0;
  background: #635b61;
}

.section.subscribe .input-group-append img {
  display: none;
}

.section.subscribe .input-group-append button::before {
  content: "\f1d8";
  color: #ffffff;
  font-family: "Font Awesome 5 Free";
  font-size: 15px;
  font-weight: 900;
}

.footer {
  min-height: 626px;
  margin: 0;
  padding: 32px 0 44px;
  background: #fffaf6;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  line-height: 21px;
}

.footer > .container {
  position: relative;
  min-height: 520px;
  padding-right: 0;
  padding-left: 0;
}

/*.footer > .container > .row {*/
/*  display: grid;*/
/*  grid-template-columns: 44% 56%;*/
/*  min-height: 520px;*/
/*  margin-right: 0;*/
/*  margin-left: 0;*/
/*}*/

/*.footer > .container > .row > [class*="col-"] {*/
/*  width: auto;*/
/*  max-width: none;*/
/*  padding-right: 0;*/
/*  padding-left: 0;*/
/*}*/

/*.footer > .container > .row > [class*="col-"]:first-child {*/
/*  padding-right: 56px;*/
/*}*/

/* .footer > .container > .row > [class*="col-"]:last-child > .row {
  display: grid;
  grid-template-columns: 1.05fr 1fr 0.75fr;
  grid-template-rows: auto 1fr;
  min-height: 520px;
  margin: 0;
} */

.footer
  > .container
  > .row
  > [class*="col-"]:last-child
  > .row
  > [class*="col-"] {
  width: auto;
  max-width: none;
}

.footer
  > .container
  > .row
  > [class*="col-"]:last-child
  > .row
  > [class*="col-"]:nth-child(1) {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.footer
  > .container
  > .row
  > [class*="col-"]:last-child
  > .row
  > [class*="col-"]:nth-child(2) {
  grid-column: 3;
  grid-row: 1 / span 2;
}

.footer
  > .container
  > .row
  > [class*="col-"]:last-child
  > .row
  > [class*="col-"]:nth-child(3) {
  grid-column: 1;
  grid-row: 1;
}

.footer
  > .container
  > .row
  > [class*="col-"]:last-child
  > .row
  > [class*="col-"]:nth-child(4) {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  padding-top: 24px;
}

.footer .footer_content.footer_info > .footer_logo {
  display: inline-flex !important;
  width: 270px;
  max-width: 100%;
  height: auto;
  margin: 0 0 26px;
}

.footer .footer_content.footer_info > .footer_logo img {
  display: block;
  width: 100%;
  height: auto;
}

.footer .footer_content,
.footer .footer_info {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}

.footer .content-title,
.footer .footer_content-list .content-list_item.main h6,
.footer .footer_content-list .content-list_item.branch h6 {
  display: block;
  width: fit-content;
  margin: 0 0 15px;
  padding: 0 0 13px;
  border-bottom: 1px solid #948c90;
  color: #3f373b;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 24.2px;
  text-transform: none;
}

.footer .content-title {
  text-transform: lowercase;
}

.footer .content-title::first-letter {
  text-transform: uppercase;
}

.footer > .container > .row .content-title {
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 24.2px;
  text-transform: lowercase;
}

.footer > .container > .row .content-title::first-letter {
  text-transform: uppercase;
}

.footer > .container > .row .content-title::after {
  content: none;
  display: none;
}

.footer .footer_content-list {
  margin: 0;
  padding: 0;
}

.footer .footer_content-list .content-list_item {
  margin-bottom: 10px;
  color: #514b4d;
  line-height: 20px;
}

.footer .footer_content-list .content-list_item.branch {
  display: none;
}

.footer .footer_content-list.list-sty .content-list_item {
  margin-bottom: 18px;
}

.footer
  > .container
  > .row
  > [class*="col-"]:last-child
  > .row
  > [class*="col-"]:nth-child(3)
  .content-list_item {
  margin-bottom: 6px;
}

.footer .footer_content-list .content-list_item a,
.footer .footer_content-list .content-list_item .item-text {
  color: #514b4d;
  font-size: 14px;
  line-height: 20px;
}

.footer .footer_content-list .content-list_item i {
  flex: 0 0 18px;
  margin-right: 10px;
  color: #514b4d;
}

.footer .footer_logo-list {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.footer .footer_tablet {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: calc(44% - 56px);
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
}

.footer .footer_tablet::before {
  content: none;
  display: none;
}

.footer .footer_tablet .tablet-follow > p {
  width: fit-content;
  margin: 0 0 15px;
  padding: 0 0 13px;
  border-bottom: 1px solid #948c90;
  color: #3f373b;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 22px;
  line-height: 24px;
}

.footer .tablet-follow ul {
  display: flex;
  gap: 14px;
  margin: 0;
  padding: 0;
}

.footer .footer_tablet .tablet-follow ul > li {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
}

.footer .footer_tablet .tablet-follow ul > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 50%;
  background: #666666;
  color: #ffffff;
}

@media (min-width: 992px) {
  .footer .footer_tablet {
    width: 100%;
    overflow: visible;
  }

  .footer .footer_tablet .footer-bct {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    display: block;
    margin: 0;
  }

  .footer .footer_tablet .footer-bct img {
    display: block;
    width: 155px;
    height: auto;
  }
}

section.footer-copyright {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  padding: 8px 16px;
  border-top: 1px solid rgba(62, 54, 59, 0.07);
  background: #fffaf6 !important;
  color: #666666;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  text-align: center;
}

@media (max-width: 767.98px) {
  .section.subscribe > .container,
  .footer > .container {
    width: calc(100% - 56px) !important;
    max-width: calc(100% - 56px) !important;
  }

  .section.subscribe {
    min-height: 0;
  }

  .section.subscribe > .container > .row {
    min-height: 60px;
  }

  .section.subscribe > .container > .row > [class*="col-"]:first-child {
    .footer_logo-list {
      display: flex !important;
      justify-content: center !important;
      align-items: center;
      list-style: none; /* Xóa chấm tròn đầu dòng nếu có */
      padding: 0;
    }
    .footer_logo-list li a img {
      height: 40px;
    }
  }

  .section.subscribe > .container > .row > [class*="col-"]:last-child {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .section.subscribe .input-group {
    grid-template-columns: 1fr 48px;
    row-gap: 14px;
    column-gap: 0;
  }

  .section.subscribe .lable-subscribe {
    grid-column: 1 / -1;
  }

  .section.subscribe .input-group-append {
    margin-left: 0;
  }

  .footer {
    min-height: 0;
    padding: 42px 0 34px;
  }

  .footer > .container {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .footer > .container > .row {
    display: contents;
  }

  .footer > .container > .row > [class*="col-"]:first-child {
    order: 0;
    width: 100%;
    max-width: 100%;
    padding-right: 0;
  }

  .footer > .container > .row > [class*="col-"]:last-child {
    order: 2;
    width: 100%;
    max-width: 100%;
  }

  .footer > .container > .row > [class*="col-"]:last-child > .row {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .footer
    > .container
    > .row
    > [class*="col-"]:last-child
    > .row
    > [class*="col-"] {
    width: 100%;
    padding: 0 24px 34px 0;
  }

  /* .footer
    > .container
    > .row
    > [class*="col-"]:last-child
    > .row
    > [class*="col-"]:nth-child(1) {
    order: 3;
  } */

  /* .footer
    > .container
    > .row
    > [class*="col-"]:last-child
    > .row
    > [class*="col-"]:nth-child(2) {
    order: 4;
  } */

  /* .footer
    > .container
    > .row
    > [class*="col-"]:last-child
    > .row
    > [class*="col-"]:nth-child(3) {
    order: 1;
  } */

  /* .footer
    > .container
    > .row
    > [class*="col-"]:last-child
    > .row
    > [class*="col-"]:nth-child(4) {
    order: 2;
    align-self: auto;
    padding-top: 0;
  } */

  .footer .footer_info {
    padding-right: 24px;
  }

  .footer .footer_content.footer_info > .footer_logo {
    width: 270px;
  }

  .footer .footer_tablet {
    position: static;
    order: 1;
    width: 100%;
    margin: 24px 0 34px;
    padding: 0;
  }
}

/* ===== TRANG DANH SÁCH SÁCH — chỉ scope theo component category ===== */
.list_category-wrapper {
  background: #ffffff;
}

.list_category-wrapper .topic-title:has(h3:empty) {
  display: none;
}

.category_wrapper-left .filter_menu-box,
.category_wrapper-right .wrapper_right {
  border: 0;
  border-radius: 4px;
  outline: 1px solid #e5e7eb;
  outline-offset: -1px;
  background: #ffffff;
  box-shadow: none;
}

.category_wrapper-left .filter_menu-box {
  padding: 4px 20px 20px;
}

.category_wrapper-left .box-classify_title,
.category_wrapper-left .author-title,
.category_wrapper-left .box-languages_title,
.category_wrapper-left .box-price_title {
  margin: 18px 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #d7e9dc;
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

.category_wrapper-left .box-classify_list {
  margin: 0;
}

.category_wrapper-left .box-classify_list .list-item_link {
  display: flex;
  align-items: flex-start;
  padding: 9px 0;
  gap: 6px;
  border-bottom: 1px solid #f0f1f2;
  color: #4b5563;
  font-size: 14px;
  line-height: 20px;
  transition: color 0.2s ease;
}

.category_wrapper-left .box-classify_list .list-item_link:hover {
  color: #14a64e;
}

.category_wrapper-left .box-classify_list .list-item_link i {
  flex: 0 0 auto;
  margin-top: 3px;
  color: #14a64e;
}

.category_wrapper-left .box-languages_item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.category_wrapper-left .box-languages_item .language {
  min-width: 0;
}

.category_wrapper-left .box-languages_item .item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 8px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #4b5563;
  font-size: 13px;
  line-height: 18px;
  text-align: center;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    color 0.2s ease,
    background-color 0.2s ease;
}

.category_wrapper-left .box-languages_item input:checked + .item-link,
.category_wrapper-left .box-languages_item .item-link:hover {
  border-color: #14a64e;
  background: #f0fbf4;
  color: #14a64e;
}

.category_wrapper-left .box-price_form {
  padding: 12px;
  border-radius: 7px;
  background: #f0fbf4;
}

.category_wrapper-left .box-price_form .input-control {
  width: 100%;
  height: 40px;
  padding: 8px 12px;
  border: 1px solid #cfd8d3;
  border-radius: 6px;
  background: #ffffff;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  line-height: 22px;
  outline: none;
}

.category_wrapper-left .box-price_form .input-control:focus {
  border-color: #14a64e;
  box-shadow: 0 0 0 3px rgba(20, 166, 78, 0.12);
}

.category_wrapper-right .wrapper_right {
  padding: 24px 30px 30px;
  outline: 0;
  background: transparent;
}

.category_wrapper-right .tabbar_headding {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d7e9dc;
}

.category_wrapper-right .tabbar_headding .headding {
  margin: 0;
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

.category_wrapper-right .btn_filter {
  display: none;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid #14a64e;
  border-radius: 6px;
  background: #ffffff;
  color: #14a64e;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}

.category_wrapper-right .btn_filter img {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.category_wrapper-right .nav.nav-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 0 !important;
}

.category_wrapper-right .nav-item-ct {
  margin-right: 0 !important;
}

.category_wrapper-right .nav-custom {
  min-height: 38px;
  padding: 7px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #ffffff;
  color: #4b5563;
  font-size: 14px !important;
  line-height: 22px;
  cursor: pointer;
}

.category_wrapper-right .nav-custom:hover,
.category_wrapper-right .nav-custom.active {
  border-color: #14a64e;
  background: #14a64e;
  color: #ffffff;
}

.category_wrapper-right .select-filter select {
  width: 100%;
  min-width: 180px;
  height: 40px;
  padding: 7px 36px 7px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background-color: #ffffff;
  color: #374151;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px !important;
  line-height: 22px;
}

.category_wrapper-right .wrapper_right-book {
  margin-top: 0;
}

.category_wrapper-right .wrapper_right-book .position-relative > a {
  color: #333333;
  text-decoration: none;
}

.category_wrapper-right .wrapper_right-book .content_item-infor {
  min-height: 88px;
  padding-top: 16px;
}

.category_wrapper-right .wrapper_right-book .item_infor-title h6 {
  display: -webkit-box;
  min-height: 42px;
  margin: 0;
  overflow: hidden;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 21px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.category_wrapper-right .wrapper_right-book .item_infor-vote {
  display: none;
}

.category_wrapper-right .wrapper_right-book .item_infor-category {
  display: none;
}

.category_wrapper-right .wrapper_right-book .item_infor-category p {
  margin: 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 20px;
}

.category_wrapper-right .wrapper_right-book .item_infor-price span {
  color: var(--price);
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

.category_wrapper-right .wrapper_right-book .item {
  overflow: hidden;
  border-radius: 5px;
}

.category_wrapper-right .wrapper_right-book .bg-book-detail {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
}

.category_wrapper-right .wrapper_right-book .bg-book-detail::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    rgba(2, 0, 36, 0.39) 0%,
    rgba(0, 0, 0, 0.5) 1.83%,
    rgba(255, 255, 255, 0.36) 3.21%,
    rgba(0, 0, 0, 0.33) 4.72%,
    rgba(247, 254, 255, 0.28) 9.84%,
    rgba(255, 255, 255, 0) 47.85%
  );
  content: "";
  pointer-events: none;
}

.category_wrapper-right .wrapper_right-book .position-relative {
  height: 100%;
  transition:
    transform 0.2s ease,
    filter 0.2s ease;
}

.category_wrapper-right .wrapper_right-book .position-relative:hover {
  transform: translateY(-2px);
}

@media (min-width: 992px) {
  .category_wrapper-left .filter_menu-box {
    position: sticky;
    top: 16px;
  }
}

@media (max-width: 991.98px) {
  .category_wrapper-right .btn_filter {
    display: flex;
    margin-left: auto;
  }

  .category_wrapper-right .wrapper_right {
    padding: 18px 16px 22px;
  }

  .category_wrapper-right .wrapper_right-tabbar > .tabbar > .row {
    row-gap: 12px;
  }

  .category_wrapper-right .wrapper_right-tabbar .col-lg-8,
  .category_wrapper-right .wrapper_right-tabbar .col-lg-4 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .category_wrapper-right .box-filter,
  .category_wrapper-right .select-filter {
    float: none !important;
    width: 100%;
  }

  .category_wrapper-right .select-filter select {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .category_wrapper-right .tabbar_headding {
    margin-bottom: 14px;
  }

  .category_wrapper-right .wrapper_right-book .content_item-infor {
    min-height: 86px;
    padding-top: 14px;
  }
}
#menu1 .table {
  width: 100% !important;
}
#review .table,
#review div,
#review table {
  width: 100% !important;
}
.author_item-img img {
  border-radius: 100px;
}
.partner_wrap .partner_content {
  padding-bottom: 50px !important;
}
.ptservice_main-title {
  font-weight: 500 !important;
}
.book_box {
  height: 100% !important;
  margin: 0px !important;
}
.tooltip {
  position: relative;
  display: inline-block;
  opacity: 1 !important;
  cursor: pointer;
}
.tooltip .tooltiptext {
  visibility: hidden;
  width: 140px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  position: absolute;
  z-index: 1;
  bottom: 150%;
  left: 50%;
  margin-left: -75px;
  transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}
.toast-title {
  color: white !important;
}
.brcrumb_info-title {
  font-size: 25px !important;
  color: var(--brand);
  font-weight: bold;
}
.item-img_sale {
  text-align: center;
  font-size: 11px;
  text-align: center;
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #eb5757;
  right: 8px;
  top: 5px;
  color: #fff;
  font-size: 12px;
}
.contact {
  width: 46px;
  position: fixed;
  bottom: 150px;
  right: 0;
  list-style: none;
  padding: 4px;
  background: #fff;
  box-shadow: 0 0 50px 0 rgba(82, 63, 105, 0.15);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 1;
}
.contact li {
  background: #f4f4f8;
}
.contact li:first-child {
  margin-bottom: 4px;
}
.contact .contact-item {
  padding: 5px;
}
.contact-item {
  position: relative;
  display: inline-block;
}
.contact-item .tooltiptext {
  visibility: hidden;
  width: max-content;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  position: absolute;
  z-index: 1;
  right: 45px;
  padding: 5px 8px;
  font-size: 13px;
}
.contact-item:hover .tooltiptext {
  visibility: visible;
}
.contact-banner {
  position: fixed;
  bottom: 5px;
  left: 5px;
  padding: 5px;
  box-shadow: 0 0 50px 0 rgb(82 63 105 / 15%);
  z-index: 1;
  border-radius: 5px;
  max-width: 390px;
}
.banner-close-wrapper {
  position: absolute;
  right: 8px;
  top: 8px;
}
.chat-close-button {
  background-color: rgba(137, 146, 164, 0.7);
  color: #fff;
  border: none;
  outline: none;
  height: 28px;
  width: 40px;
  padding: 0 12px 4px;
  font-size: 16px;
  border-radius: 20px;
}
.copy_text {
  z-index: 1 !important;
}
/*.owl-carousel .owl-item img {
	max-height: 350px;
    margin: 0 auto;
	width: inherit!important;
}*/

.detail .col-lg-3 .row {
  position: sticky;
  top: 10px;
}
.section-chi-tiet-sach .list-cart li.li-item {
  flex: 0 0 calc(100% / 2 - 15px);
  max-width: calc(100% / 2 - 15px);
}
@media only screen and (min-width: 1024px) {
  .detail .detail_group {
    margin-bottom: 0;
  }
}
.detail .detail_group img:not(.initial) {
  margin-bottom: 0 !important;
}
.home-slider_inner {
  padding: 0;
  margin-left: 0;
}
:root {
  --brand: #00b346;
  --danger: #14a64e;
  --price: #008036;
}
.menu_component .menu_component_wrap {
  height: 52px !important;
}
.menu_component,
.footer-copyright,
.tabbar .nav-item-ct .nav-custom.active,
.menu_component-mobile {
  background: var(--danger) !important;
}
.tabbar .nav-item-ct .nav-custom,
.select-filter select {
  padding: 5px 10px;
  font-size: 14px !important;
}
.select-filter select {
  border: 1px solid #ddd;
}
.menu_component .menu_category {
  background: var(--brand) !important;
}
.topic-title a.btn,
.brcrumb_info-content {
  display: none !important;
}

.resgiter_mb .resgiter_mb-title a,
.register-wrap .register_email-heading a,
.login_mb .login_mb-title a,
.footer .footer_info .footer_content-list .content-list_item:hover,
.section_header .header_wrap .header_button.account > a,
.menu_component .menu_my_book a,
.login-wrap .login_email-heading a,
.menu_component .menu_category .category_show_all {
  color: var(--danger) !important;
}

.section_header .header_wrap .header_info .header_hotline a {
  font-size: 16px !important;
}

.section_header .header_wrap .header_info .header_hotline p {
  margin-bottom: -3px;
}

.change_password-content .form-group button,
.section_header .header_wrap .header_button.cart,
.section_header-mobile .header_wrap .header_button:hover {
  background: var(--danger) !important;
}

.section_header .header_wrap .header_button.account {
  border-color: var(--danger) !important;
  color: var(--danger) !important;
}

.section_header .header_wrap .header_button.account svg path,
.section_header-mobile .header_wrap .header_button svg path {
  fill: var(--danger) !important;
}

.collection-book .collection-slider .item-content_price span,
.footer .footer_content .list-sty .content-list_item a:hover {
  color: var(--price) !important;
}

.home-slider_item {
  height: unset;
  max-height: 520px;
}

.printer-list h3,
.topic-title h3,
.service_main-title {
  color: var(--danger) !important;
  font-feature-settings:
    "clig" off,
    "liga" off;
  font-family: Roboto;
  font-size: 28px;
  font-style: normal;
  font-weight: 800;
  line-height: 44px;
  margin: 0 auto 20px auto !important;
  border-bottom: 2px solid #e1d6bf;
  width: fit-content;
}

.book_content,
.home_page .banner_section,
collection-book,
.book_content .button_item,
.collection-book {
  background: none !important;
}

.topic-headding .topic-box .box_item {
  background-image: none;
  background: linear-gradient(180deg, #dc2a27 0%, #ac0f0b 100%);
  height: 70px;
}

.home_page
  .section:nth-child(even):not(.book-good):not(.book-good-mb):not(.introduce),
.service-box_section .service {
  background: #fff9f5 !important;
  padding: 20px 0;
}

.home_page
  .section:nth-child(odd):not(.book-good):not(.book-good-mb):not(.introduce),
.partner-box_section,
.partner_wrap {
  background: #fff !important;
}
.home_page .section .owl-carousel .owl-nav.disabled {
  display: block !important;
}

body,
.home_page {
  background: #fff;
}
.list_category-wrapper,
.wrapper {
  background: #f2f1ec;
}

.book_slider .typical_slider .owl-nav .owl-next {
  right: 0px;
}

.book_slider .typical_slider .owl-nav .owl-prev {
  left: 0px;
}

.book_slider .book_content-content .content_item a {
  margin: 0 auto;
}

.partner_wrap .partner_list .partner_list-link .link_thumb img {
  width: 140px;
  height: auto;
}
.brcrumb,
.brcrumb_info {
  background: none;
  margin-bottom: 0;
}
.brcrumb_list-item {
  margin-right: 5px;
}
.brcrumb_list {
  padding: 5px 0 !important;
}

.filter_menu-box h4 {
  font-weight: bold !important;
  margin-top: 15px;
  margin-bottom: 10px;
}
a.maintainHover,
.menu_component .menu_category .dropdown-menu .category_link.maintainHover,
body .menu_list-mobile .menu_list_wrap > li > div.category_link.active,
body .menu_list-mobile .menu_list_wrap > li > div.category_link:hover,
body .menu_list-mobile .menu_list_wrap > li > div.category_link:focus-visible,
.menu_list-mobile .menu_list_wrap > li.active > .category_link,
.menu_list-mobile
  .menu_list_wrap
  > li:last-child
  > a.category_link[href="/tat-ca-danh-muc"],
.section_header-mobile .header_wrap .header_button {
  color: var(--brand) !important;
  border-color: var(--brand) !important;
}
.filter_menu-box .box-languages_item .language label {
  font-weight: normal;
  border: 1px solid #ddd;
  padding: 5px 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  margin-bottom: 0;
}
.filter_menu-box .box-languages_item .language label:hover {
  color: var(--white);
  background: var(--brand);
}
.login_mb .login_mb-btn button.mb_btn-btn,
.register-wrap .register_email-btn,
.resgiter_mb .login_mb-btn button.mb_btn-btnm,
.filter_menu-box .box-price_form,
.comment-box .comment_text .btn-submit a,
.comment-box .comment_title::before,
.login-wrap .login_email-btn {
  background: var(--brand);
  background-color: var(--brand);
}
.detail .contentBook .nav-tabs .nav-item .nav-link.active {
  border-color: var(--brand) !important;
}
.printer-list-heading::before {
  display: none;
}
.printer-list-content h5 {
  font-family: inherit;
}
.sidebar .sidebar_user .user_photo {
  border: none;
  width: 40px;
  height: 40px;
  background: var(--brand);
}
.user_text {
  font-size: 16px;
  padding: 0;
  line-height: 40px;
  text-align: center;
  width: 40px;
}

/* Long Hoàng */
@media (min-width: 1200px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .ttb-footer-top > .container,
  .ttb-footer-main > .container,
  .ttb-all-books-page > .container,
  .ttb-all-books-page .category_wrapper-breadcrum > .container,
  .ttb-detail-demo .section-chi-tiet-sach > .container,
  .ttb-detail-demo .ttb-detail-product-section > .container,
  .ttb-detail-demo .category_wrapper-breadcrum > .container,
  .ttb-cart-page .container,
  .ttb-payment-page .container,
  .ttb-transfer-page .container {
    max-width: 1421px !important;
    width: 1421px !important;
  }
}

@media (max-width: 1453px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .ttb-footer-top > .container,
  .ttb-footer-main > .container,
  .ttb-all-books-page > .container,
  .ttb-all-books-page .category_wrapper-breadcrum > .container,
  .ttb-detail-demo .section-chi-tiet-sach > .container,
  .ttb-detail-demo .ttb-detail-product-section > .container,
  .ttb-detail-demo .category_wrapper-breadcrum > .container,
  .ttb-cart-page .container,
  .ttb-payment-page .container,
  .ttb-transfer-page .container {
    max-width: calc(100% - 32px) !important;
    width: calc(100% - 32px) !important;
  }
}
/* TrithuctreBooks header action set and contact heading correction */
.menu_component .menu_category,
.menu_category.d-flex.align-items-center.active.menu_index,
.menu_category.active {
  background-color: var(--brand) !important;
}

@media (min-width: 1025px) {
  .menu_component {
    height: 52px !important;
    min-height: 52px !important;
  }

  .menu_component .menu_category,
  .menu_component .category_btn {
    height: 52px !important;
    min-height: 52px !important;
  }

  .menu_component .menu_category,
  .menu_component .category_btn {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

.ttb-combo-buybox-simple .ttb-detail-total {
  margin-top: 0 !important;
}

.ttb-combo-buybox-simple .ttb-detail-option {
  display: none !important;
}

.menu_component .menu_category .dropdown-menu .category_icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin-right: 10px !important;
}

.menu_component .menu_category .dropdown-menu .category_icon img {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  object-fit: contain !important;
}

.section_header {
  position: sticky;
  top: 0;
  min-height: 72px !important;
  z-index: 1001;
}

.section_header .header_wrap {
  min-height: 72px !important;
}

.section_header .header_logo h1,
.section_header .header_logo a {
  display: block !important;
  margin: 0 !important;
}

.section_header .header_logo img {
  width: 240px !important;
  max-height: 62px !important;
  object-fit: contain !important;
}

.section_header .header_info {
  min-width: 630px !important;
  justify-content: flex-end !important;
  gap: 14px !important;
}

.section_header .header_hotline {
  min-width: 176px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #595959 !important;
  gap: 10px !important;
}

.section_header .header_hotline .hotline_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px !important;
  height: 40px;
  margin-right: 0 !important;
  color: #333333 !important;
  text-align: center !important;
}

.section_header .header_hotline::after {
  width: 1px;
  height: 36px;
  margin-left: 14px;
  background: #e4e1e1;
  content: "";
}

.section_header .header_hotline .hotline_icon i {
  color: #333333 !important;
  font-size: 28px !important;
}

.section_header .header_hotline .hotline_icon img {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
}

.section_header .header_hotline .hotline_info p {
  margin: 0 0 2px !important;
  color: #02010e !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}

.section_header .header_hotline .hotline_info a {
  color: #111111 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
}

.section_header .header_button {
  flex: 0 0 auto !important;
  height: 40px !important;
  padding: 0 !important;
  border: 0 !important;
}

.section_header .header_button > a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 40px !important;
  padding: 0 14px !important;
  gap: 10px !important;
  border: 1px solid var(--brand) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #4f4b4b !important;
  font-family: "Be Vietnam Pro", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.section_header .header_button > a:hover {
  border-color: var(--brand) !important;
  color: var(--brand) !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 179, 70, 0.12) !important;
}

.section_header .header_button > a > i {
  margin: 0 4px 0 0 !important;
  color: var(--brand) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.section_header .header_button > a:hover > i,
.section_header .header_button > a:hover > span {
  color: var(--brand) !important;
}

.section_header .header_button > a:hover > img {
  filter: brightness(0) saturate(100%) invert(42%) sepia(98%) saturate(1193%)
    hue-rotate(119deg) brightness(90%) contrast(104%);
}

.section_header .header_button > a > img {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: 20px !important;
  object-fit: contain !important;
}

.section_header .ttb-header-package > a > img {
  width: 28px !important;
  height: 28px !important;
}

.section_header .header_button.cart > a > img {
  width: 19px !important;
  height: 20px !important;
}

.section_header .header_button.account > a > img {
  width: 18px !important;
  height: 20px !important;
}

.section_header .header_button.cart > a {
  min-width: 122px !important;
  position: relative !important;
}

.section_header .header_button.account > a {
  min-width: 136px !important;
}

.section_header .header_button.cart > a > span,
.section_header .header_button.account > a > span,
.section_header .ttb-header-package > a > span {
  display: inline !important;
  color: inherit !important;
}

.section_header .header_button .button_notification {
  position: absolute !important;
  left: auto !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #ef5b67 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
  text-align: center !important;
}

.section_header .header_button.cart .button_notification {
  left: auto !important;
  z-index: 2 !important;
}

.section_header .line {
  width: 1px !important;
  height: 36px !important;
  margin: 0 2px !important;
  background: #e4e1e1 !important;
}

.section_header .ttb-header-package {
  height: 40px !important;
}

.section_header .ttb-header-package > a {
  min-width: 130px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.section_header .header_button.cart > a {
  min-width: 122px !important;
  position: relative !important;
}
.banner-services .printer-list > .row {
  border-top: 0 !important;
}
.section_header .header_button.cart > a,
.section_header .header_button.account > a {
  border-color: #00b346 !important;
  color: #00b346 !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease !important;
}
.menu_component .menu_search {
  background-color: #fff !important;
}
.menu_component .menu_search .search_submit span {
  display: none !important;
}
.menu_component .menu_search .search_submit .button_icon {
  background-color: #f4831e !important;
}
.main-menu li:hover > a {
  color: #fe9 !important;
}
@media (max-width: 1024px) {
  /* html,
  body {
    overflow-x: hidden !important;
  } */

  .section_header-mobile .ttb-header-package-mobile a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .section_header-mobile .ttb-header-package-mobile img {
    width: 22px !important;
    height: 22px !important;
  }
}

/* Banner - Hero */
/* ===== HERO SLIDER ===== */
/* aspect-ratio: KHÓA chiều cao container = width × (545/1600)
   overflow: hidden: clip phần Owl JS set dư qua inline height */

.banner_section .home-slider {
  width: 100%;
  aspect-ratio: 1600 / 545;
  overflow: hidden;
  max-height: 700px;
}

/* Xóa margin/padding Bootstrap để ảnh sát mép */
.banner_section .home-slider .row {
  margin: 0 !important;
}
.banner_section .home-slider .col-12 {
  padding: 0 !important;
}

/* Owl containers: overflow hidden để slide trước không thò ra */
.banner_section .owl-stage-outer {
  overflow: hidden !important;
}

.banner_section .home-slider_item {
  display: block;
  width: 100%;
  height: 100% !important;
  line-height: 0;
}

.banner_section .home-slider_item > a {
  height: 100% !important;
  display: block !important;
}

.banner_section .owl-carousel:not(.owl-loaded),
.home-sliderMb .owl-carousel:not(.owl-loaded) {
  display: block !important;
}

.banner_section .owl-carousel:not(.owl-loaded) .home-slider_item,
.home-sliderMb .owl-carousel:not(.owl-loaded) .home-sliderMb_item {
  display: none !important;
}

.banner_section .owl-carousel:not(.owl-loaded) .home-slider_item:first-child,
.home-sliderMb .owl-carousel:not(.owl-loaded) .home-sliderMb_item:first-child {
  display: block !important;
}

/* Ảnh hiển thị tự nhiên theo tỉ lệ gốc (1600×545) */
.banner_section .home-slider_item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  max-height: 700px;
}

/* ===== DROPDOWN MENU — Chỉ cao bằng nội dung, không kéo dài theo slide ===== */
.menu_component .menu_category,
.menu_component-mobile .menu_category {
  align-self: flex-start;
  position: relative;
}

.menu_component .dropdown-menu,
.menu_component-mobile .dropdown-menu {
  height: auto !important;
  max-height: none !important;
  min-height: unset !important;
  /* Đảm bảo background trắng, không bị tint xanh từ parent */
  background-color: #ffffff !important;
  /* Tách khỏi flow của flex container */
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 9999 !important;
}

/* Giảm khoảng cách giữa các item menu
   — dùng 4-class selector để thắng main.min.css (.menu_component .menu_category .dropdown-menu li) */
.menu_component .menu_category .dropdown-menu li {
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

.menu_component .menu_category .dropdown-menu .category_link {
  padding: 8px 16px !important;
  line-height: 1.3 !important;
  min-height: 0 !important;
  height: auto !important;
}

.section.section-dt .book_content-title {
  margin-bottom: 24px;
  padding-bottom: 0;
}

.section.section-dt .book_content-title h3 {
  margin: 0;
}

.section.section-dt > .container > .row > .col-12,
.section.section-dt .book_content {
  padding-right: 0;
  padding-left: 0;
}

.book_content.book_slider {
  position: relative;
  right: auto;
  left: auto;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  border-radius: 5px;
}
/* 2. Chỉ tác động vào thẻ a và item bên trong slider này */
.book-carousel-5 .owl-item a {
  max-width: 100% !important;
  width: 100% !important;
  display: block;
}

.book-carousel-5 .item {
  width: 100% !important;
  aspect-ratio: 2 / 3 !important;
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
}

.book-carousel-5 .item .owl-lazy {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* 3. Chỉ tạo khoảng cách 36px cho các item của slider này */
.book-carousel-5 .owl-item {
  padding-left: 18px !important;
  padding-right: 18px !important;
}
/* Container chứa 2 nút (thường không cần style nhiều nhưng đảm bảo không chặn click) */
.owl-nav {
  display: block;
}

/* Style chung cho cả 2 nút */
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 45px; /* Độ rộng hình tròn */
  height: 45px; /* Chiều cao hình tròn */
  background: #fff !important; /* Màu nền trắng */
  color: #28a745 !important; /* Màu của icon (màu xanh lá như trong ảnh) */
  border-radius: 50% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); /* Đổ bóng nhẹ */
  margin: 0;
  transition: all 0.3s ease;
  border: none;
  z-index: 10;
  cursor: pointer;
}

/* Nút bên trái */
.owl-carousel .owl-nav button.owl-prev {
  left: -22.5px; /* Đẩy ra ngoài lề một nửa chiều rộng của nút */
}

/* Nút bên phải */
.owl-carousel .owl-nav button.owl-next {
  right: -22.5px; /* Đẩy ra ngoài lề một nửa chiều rộng của nút */
}

/* Hiệu ứng khi di chuột vào (Hover) */
.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover {
  background: #28a745 !important;

  i {
    color: #fff !important;
  }
}

/* Đảm bảo icon bên trong có kích thước phù hợp */
.owl-carousel .owl-nav button i {
  font-size: 20px;
  color: var(--brand) !important;
}

/* ===== CATEGORY MENU - PRIMARY ALL-CATEGORIES LINK ===== */

.menu_component .menu_category .category_show_all,
.menu_list-mobile .menu_list_wrap .category_show_all,
.menu_list-mobile
  .menu_list_wrap
  > li:last-child
  > a.category_link[href="/tat-ca-danh-muc"] {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand);
  font-weight: 700;
  text-align: center;
}
/* ===== MENU DANH MUC — Rut gon ten dai va hien thi tooltip day du ===== */
.menu_component .menu_category .dropdown-menu a.category_link[title] {
  position: relative;
  min-width: 0;
  overflow: visible !important;
  font-size: 0 !important;
}

.menu_component
  .menu_category
  .dropdown-menu
  a.category_link[title]
  > .category_icon {
  flex: 0 0 auto;
  order: 1;
  font-size: 14px !important;
}

.menu_component .menu_category .dropdown-menu a.category_link[title]::before {
  content: attr(title);
  display: block;
  min-width: 0;
  overflow: hidden;
  order: 2;
  color: inherit;
  font-family: inherit;
  font-size: 14px;
  font-weight: inherit;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu_component .menu_category .dropdown-menu li:hover,
.menu_component .menu_category .dropdown-menu li:focus-within {
  position: relative;
  z-index: 10000;
}

.menu_component .menu_category .dropdown-menu a.category_link[title]::after {
  content: attr(title);
  position: absolute;
  top: calc(100% + 6px);
  left: 16px;
  z-index: 10001;
  width: max-content;
  max-width: min(420px, calc(100vw - 40px));
  padding: 8px 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 6px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
  color: #333333;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition:
    opacity 0.15s ease,
    transform 0.15s ease,
    visibility 0.15s ease;
  visibility: hidden;
  white-space: normal;
}

.menu_component
  .menu_category
  .dropdown-menu
  a.category_link[title]:hover::after,
.menu_component
  .menu_category
  .dropdown-menu
  a.category_link[title]:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

/* ===== TRANG CHỦ — Đồng bộ phần giao diện có HTML với bản tham chiếu ===== */
body {
  font-family: "Be Vietnam Pro", sans-serif;
}

.home_page .section.section-dt .book_content-title {
  min-height: 65px;
  margin-bottom: 24px;
  border-bottom: 1px solid rgba(20, 166, 78, 0.16);
}

.home_page .section.section-dt .book_content-title h3,
.home_page .section.section-mb .book_content-title h3 {
  display: flex;
  align-items: center;
  min-height: 65px;
  padding: 16px 0;
  border-bottom: 3px solid var(--danger);
  color: var(--danger);
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: -0.24px;
  text-transform: uppercase;
}

.home_page h3.h3-20 {
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: -0.24px;
  text-transform: uppercase;
}

.home_page .section.section-dt .book_content-title .button_item {
  display: block;
}

.home_page .section.section-dt .book_content-title .button_item a,
.home_page .section.section-mb .book_content-title > a {
  color: #02010e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}

.home_page .section.section-dt .book_content-title .button_item a:hover,
.home_page .section.section-dt .book_content-title .button_item a:focus-visible,
.home_page .section.section-mb .book_content-title > a:hover,
.home_page .section.section-mb .book_content-title > a:focus-visible {
  color: #02010e;
}

.home_page .book-carousel-5 {
  container-type: inline-size;
}

.home_page .book-carousel-5 .owl-nav button.owl-prev,
.home_page .book-carousel-5 .owl-nav button.owl-next {
  /* 24px tới đỉnh ảnh + nửa chiều cao ảnh 2:3 của một trong 5 cột. */
  top: calc(15cqi - 3px);
}

.home_page .book-carousel-5 .owl-item {
  padding-right: 18px;
  padding-left: 18px;
}

.home_page .book-carousel-5 .content_item {
  width: 100%;
}

.home_page .book-carousel-5 .item_infor-title h6 {
  display: -webkit-box;
  min-height: 48px;
  /* Cần thiết để thắng utility Bootstrap .mt-2 của chính thẻ h6. */
  margin: 0 0 15px !important;
  overflow: hidden;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.18px;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home_page .book-carousel-5 .item_infor-vote,
.home_page .book-carousel-5 .item_infor-category {
  display: none !important;
}

.home_page .book-carousel-5 .item_infor-price {
  color: var(--price);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.home_page .book-carousel-5 .item_infor-price span {
  color: var(--price);
  font-size: 18px;
  font-weight: 700;
  line-height: 21.6px;
}

.home_page .book_content .item_infor-price span {
  color: var(--price);
}

@media (min-width: 1025px) {
  .menu_component .menu_category,
  .menu_component .category_btn {
    flex: 0 0 310px;
    width: 310px !important;
    max-width: 310px;
  }

  .home_page
    .section.section-dt
    > .container
    > .row
    > .col-12
    > .book_content.book_slider {
    position: static;
    left: auto;
    right: auto;
    width: 100% !important;
    padding: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    border-radius: 5px !important;
  }
}

@media (max-width: 767.98px) {
  .home_page .banner_section,
  .home_page .home_section_sp.home_slider {
    width: 100% !important;
    margin: 0 0 24px !important;
    overflow: hidden;
  }

  .home_page .home_section_sp.home_slider .home-sliderMb {
    width: 100% !important;
  }

  .home_page .banner_section .home-slider_item img,
  .home_page .home-sliderMb .home-sliderMb_item img {
    display: block;
    width: 100% !important;
    height: auto !important;
  }

  .home_page .book-carousel-5 .item_infor-title h6 {
    min-height: 44px;
    font-size: 14px !important;
    line-height: 22px !important;
  }

  .home_page .book-carousel-5 .item_infor-price,
  .home_page .book-carousel-5 .item_infor-price span {
    font-size: 14px !important;
    line-height: 22px !important;
  }
}

/* ===== BANNER DESKTOP — Giữ đủ ảnh theo đúng tỉ lệ trên mọi độ rộng ===== */
@media (min-width: 768px) {
  .home_page .banner_section {
    padding: 0 !important;
  }

  .banner_section .home-slider {
    width: 100%;
    height: auto !important;
    aspect-ratio: 1600 / 545;
    max-height: none !important;
    overflow: hidden;
  }

  .banner_section .home-slider > .row,
  .banner_section .home-slider > .row > .col-12,
  .banner_section .home-slider .owl-carousel,
  .banner_section .home-slider .owl-stage-outer,
  .banner_section .home-slider .owl-stage,
  .banner_section .home-slider .owl-item,
  .banner_section .home-slider .home-slider_item,
  .banner_section .home-slider .home-slider_item > a {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .banner_section .home-slider .home-slider_item img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center;
  }
}

/* ===== BÌA SÁCH, COMBO VÀ NHỊP SECTION — Đồng bộ bản tham chiếu ===== */
.home_page .book-carousel-5 .bg-book-search.bg-book-category.bg-layout {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
}

.home_page .book-carousel-5 .bg-book-search.bg-book-category.bg-layout::before {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(2, 0, 36, 0.39) 0%,
    rgba(0, 0, 0, 0.5) 1.83%,
    rgba(255, 255, 255, 0.36) 3.21%,
    rgba(0, 0, 0, 0.33) 4.72%,
    rgba(247, 254, 255, 0.28) 9.84%,
    rgba(255, 255, 255, 0) 47.85%
  );
}

.home_page .book-carousel-5 .bg-book-search.bg-book-category.bg-layout::before {
  inset: 0;
  border-radius: 6px;
}

.home_page .collection-book .collection-slider_item {
  position: relative;
  border-radius: 0;
}

.home_page .collection-book .collection-slider_item .item-img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: visible;
  background: #ffffff;
}

.home_page .collection-book .collection-slider_item .item-img > img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  object-fit: cover;
}

.home_page .collection-book .item-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  text-align: center;
}

.home_page .collection-book .item-content_title {
  display: -webkit-box;
  min-height: 72px;
  margin: 0 0 4px;
  padding: 12px 0;
  overflow: hidden;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home_page .collection-book .item-content_price span:first-child {
  color: var(--price);
  font-size: 18px;
  font-weight: 700;
  line-height: 21.6px;
}

.home_page
  .collection-book
  .item-content_price
  span:last-child:not(:first-child) {
  color: #808080;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.home_page .collection-book .content_title-view {
  color: #02010e;
}

.home_page .collection-book .collection-slider {
  container-type: inline-size;
}

.home_page .collection-book .collection-slider .owl-nav button.owl-prev,
.home_page .collection-book .collection-slider .owl-nav button.owl-next {
  /* Owl nav starts after 12px top padding; add half of the square image edge. */
  top: calc(12.5cqi - 11.25px);
}

.home_page .collection-book .collection-slider .owl-nav button.owl-prev {
  left: 0;
}

.home_page .collection-book .collection-slider .owl-nav button.owl-next {
  right: 0;
}

/* Account upgrade uses the same heading rhythm as book sections. */
.home_page .reading-pack .book_content-title {
  min-height: 65px;
  margin-bottom: 12px;
  padding-bottom: 0;
  border-bottom: 1px solid #d7e9dc;
}

.home_page .reading-pack .book_content-title h3 {
  display: flex;
  align-items: center;
  align-self: stretch;
  height: 65px;
  border-bottom: 3px solid #14a64e;
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: -0.24px;
  text-transform: uppercase;
}

.home_page .reading-pack .button_item {
  display: block;
}

.home_page .reading-pack .button_item a,
.home_page .reading-pack .button_item a:hover,
.home_page .reading-pack .button_item a:focus-visible {
  color: #02010e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}

.home_page .reading-pack .button_item svg path {
  stroke: #02010e;
}

/* Dùng cùng hệ card 5 cột của section sách lẻ cho gói tài khoản. */
.home_page .reading-pack .book_content-content {
  container-type: inline-size;
  /* Cần thiết để thắng utility Bootstrap .d-flex trên chính carousel. */
  display: block !important;
  padding-top: 0;
  padding-bottom: 54px;
}

.home_page .reading-pack .book_content-content .owl-stage-outer {
  width: 100%;
}

.home_page .reading-pack .book_content-content .owl-stage {
  width: max-content !important;
}

.home_page .reading-pack .book_content-content .owl-item {
  width: 20cqi !important;
  margin-right: 0 !important;
  padding-right: 18px;
  padding-left: 18px;
}

.home_page .reading-pack .content_item,
.home_page .reading-pack .content_item > a {
  width: 100%;
  max-width: 100%;
}

.home_page .reading-pack .content_item {
  margin: 12px 0;
}

.home_page .reading-pack .bg-book-search.bg-book-category.bg-layout {
  width: 100%;
  height: calc(30cqi - 54px);
  max-height: none;
  aspect-ratio: 2 / 3;
  padding: 0;
  background-position: center;
  background-size: cover;
}

.home_page .reading-pack .bg-book-search.bg-book-category.bg-layout {
  position: relative;
  overflow: hidden;
}

.home_page .reading-pack .bg-book-search.bg-book-category.bg-layout::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(2, 0, 36, 0.39) 0%,
    rgba(0, 0, 0, 0.5) 1.83%,
    rgba(255, 255, 255, 0.36) 3.21%,
    rgba(0, 0, 0, 0.33) 4.72%,
    rgba(247, 254, 255, 0.28) 9.84%,
    rgba(255, 255, 255, 0) 47.85%
  );
  content: "";
  pointer-events: none;
}

.home_page .reading-pack .content_item-infor {
  min-height: 104px;
  margin-top: 16px;
}

.home_page .reading-pack .item_infor-title h6 {
  display: -webkit-box;
  min-height: 48px;
  margin: 0 0 15px !important;
  overflow: hidden;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.18px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home_page .reading-pack .item_infor-vote,
.home_page .reading-pack .item_infor-category {
  display: none;
}

.home_page .reading-pack .item_infor-price {
  color: #333333;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.home_page .reading-pack .item_infor-price span {
  color: var(--price);
  font-size: 18px;
  font-weight: 700;
  line-height: 21.6px;
}

.home_page .reading-pack .book_content-content .owl-nav button.owl-prev,
.home_page .reading-pack .book_content-content .owl-nav button.owl-next {
  top: calc(15cqi - 3px);
}

@media (min-width: 768px) {
  .home_page .reading-pack {
    /* Cần thiết để thắng utility Bootstrap .px-md-4 trên chính section. */
    padding-inline: 0 !important;
  }

  .home_page .reading-pack > .container {
    width: calc(100% - 32px);
    max-width: 1421px;
    padding-right: 0;
    padding-left: 0;
  }

  .home_page .section.section-dt .book-carousel-5 {
    padding-top: 0;
    padding-bottom: 54px;
  }

  .home_page .section.section-dt .book-carousel-5 .content_item-infor {
    min-height: 104px;
    margin-top: 16px;
  }

  .home_page .collection-book .collection-heading {
    min-height: 65px;
    margin-bottom: 15px;
    padding-bottom: 0;
    border-bottom: 1px solid #d7e9dc;
  }

  .home_page .collection-book .collection-heading h3 {
    margin-bottom: 0;
    margin-right: 0;
    margin-left: 0;
    padding: 16px 0;
    border-bottom: 3px solid #14a64e;
    color: #14a64e;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: -0.24px;
    text-transform: uppercase;
  }

  .home_page .collection-book .collection-slider {
    margin-bottom: 32px;
    padding-top: 0;
  }

  .home_page .section.section-dt .collection-book {
    padding-right: 0;
    padding-left: 0;
    margin-right: -15px;
    margin-left: -15px;
  }
}

/* ===== COMPONENT DÙNG CHUNG — sidebar và carousel toàn website ===== */
.category_wrapper-left .filter_menu-box h4 {
  margin: 18px 0 13px;
  padding: 0;
  border-bottom: 0;
  color: #555555;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 19.5px;
}

.category_wrapper-left .box-languages_item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.category_wrapper-left .box-languages_item .language {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.category_wrapper-left .box-languages_item .language label.item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 36px;
  margin: 0;
  padding: 7px 10px;
  overflow: visible;
  border: 1px solid #15a852;
  border-radius: 4px;
  background: #ffffff;
  color: #15a852;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  text-overflow: clip;
  white-space: normal;
}

.category_wrapper-left .box-languages_item input:checked + label.item-link,
.category_wrapper-left .box-languages_item .language label.item-link:hover,
.category_wrapper-left
  .box-languages_item
  .language
  label.item-link:focus-visible {
  border-color: #15a852;
  background: #15a852;
  color: #ffffff;
}

.section.section-dt:has(.book-carousel-5),
.section.section-dt:has(.collection-slider) {
  margin-bottom: 32px;
  background: #ffffff;
}

.section.section-dt:has(.book-carousel-5) > .container,
.section.section-dt:has(.collection-slider) > .container {
  width: calc(100% - 32px);
  max-width: 1421px;
  padding-right: 0;
  padding-left: 0;
}

.section.section-dt:has(.book-carousel-5) > .container > .row,
.section.section-dt:has(.book-carousel-5) > .container > .row > .col-12 {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
}

.section.section-dt:has(.book-carousel-5) .book_content.book_slider {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.section.section-dt:has(.book-carousel-5) .book_content-title,
.section.section-dt:has(.collection-slider) .collection-heading {
  min-height: 65px;
  margin-bottom: 24px;
  padding-bottom: 0;
  border-bottom: 1px solid #d7e9dc;
}

.section.section-dt:has(.collection-slider) .collection-heading {
  margin-bottom: 15px;
}

.section.section-dt:has(.book-carousel-5) .book_content-title h3,
.section.section-dt:has(.collection-slider) .collection-heading h3,
.section.section-mb:has(.b_content) .book_content-title h3,
.section.section-mb:has(.cb_content) .book_content-title h3 {
  display: flex;
  align-items: center;
  min-height: 65px;
  margin: 0;
  padding: 16px 0;
  border-bottom: 3px solid #14a64e;
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: -0.24px;
  text-transform: uppercase;
}

.section.section-dt:has(.book-carousel-5) .book_content-title .button_item,
.section.section-dt:has(.book-carousel-5) .book_content-title .button_item a {
  display: block;
}

.section.section-dt:has(.book-carousel-5) .book_content-title .button_item a,
.section.section-dt:has(.book-carousel-5)
  .book_content-title
  .button_item
  a:hover,
.section.section-dt:has(.book-carousel-5)
  .book_content-title
  .button_item
  a:focus-visible {
  color: #02010e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}

.book-carousel-5 {
  container-type: inline-size;
  padding-top: 0;
  padding-bottom: 54px;
}

.book-carousel-5 .owl-stage {
  width: max-content !important;
}

.book-carousel-5 .owl-item {
  width: 20cqi !important;
  margin-right: 0 !important;
  padding-right: 18px;
  padding-left: 18px;
}

.book-carousel-5 .owl-nav.disabled {
  display: block;
}

.book-carousel-5 .content_item {
  width: 100%;
}

.book-carousel-5 .bg-book-search.bg-book-category.bg-layout {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
}

.book-carousel-5 .bg-book-search.bg-book-category.bg-layout::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    rgba(2, 0, 36, 0.39) 0%,
    rgba(0, 0, 0, 0.5) 1.83%,
    rgba(255, 255, 255, 0.36) 3.21%,
    rgba(0, 0, 0, 0.33) 4.72%,
    rgba(247, 254, 255, 0.28) 9.84%,
    rgba(255, 255, 255, 0) 47.85%
  );
  content: "";
  pointer-events: none;
}

.book-carousel-5 .content_item-infor {
  min-height: 104px;
  margin-top: 16px;
}

.book-carousel-5 .item_infor-title h6 {
  display: -webkit-box;
  min-height: 48px;
  margin: 0 0 15px !important;
  overflow: hidden;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.18px;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.book-carousel-5 .item_infor-vote,
.book-carousel-5 .item_infor-category {
  display: none;
}

.book-carousel-5 .item_infor-price {
  color: var(--price);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.book-carousel-5 .item_infor-price span {
  color: var(--price);
  font-size: 18px;
  font-weight: 700;
  line-height: 21.6px;
}

.book-carousel-5 .owl-nav button.owl-prev,
.book-carousel-5 .owl-nav button.owl-next {
  top: calc(15cqi - 3px);
}

.collection-book {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
}

.collection-book .collection-heading h3 {
  margin-right: 0;
  margin-left: 0;
}

.collection-book .collection-slider {
  container-type: inline-size;
  margin-bottom: 32px;
  padding-top: 0;
}

.collection-book .collection-slider .owl-stage {
  width: max-content !important;
}

.collection-book .collection-slider .owl-item {
  width: calc((100cqi - 72px) / 4) !important;
  margin-right: 24px !important;
}

.collection-book .collection-slider .owl-nav.disabled {
  display: block;
}

.collection-book .collection-slider_item {
  position: relative;
  border-radius: 0;
}

.collection-book .collection-slider_item .item-img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: visible;
  background: #ffffff;
}

.collection-book .collection-slider_item .item-img > img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  object-fit: cover;
}

.collection-book .item-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  text-align: center;
}

.collection-book .item-content_title {
  display: -webkit-box;
  min-height: 72px;
  margin: 0 0 4px;
  padding: 12px 0;
  overflow: hidden;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.collection-book .item-content_price span:first-child {
  color: var(--price);
  font-size: 18px;
  font-weight: 700;
  line-height: 21.6px;
}

.collection-book .item-content_price span:last-child:not(:first-child),
.collection-book .item-content_price strike {
  color: #808080;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.collection-book .collection-slider .owl-nav button.owl-prev,
.collection-book .collection-slider .owl-nav button.owl-next {
  top: calc((100cqi - 72px) / 8) !important;
}

.collection-book .collection-slider .owl-nav button.owl-prev {
  left: 0;
}

.collection-book .collection-slider .owl-nav button.owl-next {
  right: 0;
}

@media (max-width: 767.98px) {
  .category_wrapper-left .box-languages_item .language label.item-link {
    min-height: 40px;
  }

  .book-carousel-5 .item_infor-title h6 {
    min-height: 44px;
    font-size: 14px;
    line-height: 22px;
  }

  .book-carousel-5 .item_infor-price,
  .book-carousel-5 .item_infor-price span {
    font-size: 14px;
    line-height: 22px;
  }
}

/* ===== HEADER ACCOUNT POPUP - MATCH ACCOUNT SIDEBAR ===== */
.section_header .header_button.account .header-account_info {
  box-sizing: border-box;
  width: 300px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #dddddd;
  border-radius: 5px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(38, 44, 55, 0.14);
  color: #444444;
  font-family: "Be Vietnam Pro", sans-serif;
  height: auto;
  z-index: 1000;
}

.section_header .header-account_info .info-inner {
  width: 100%;
  margin: 0;
  padding: 0;
}

.section_header .header-account_info .info-avatar {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  height: 64px;
  min-height: 64px;
  margin: 0;
  padding: 15px 18px;
  background: #fafafa;
}

.section_header .header-account_info .info-avatar_img {
  display: flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin: 0 12px 0 0;
}

.section_header .header-account_info .info-avatar_img img {
  display: block;
  width: 34px;
  height: 34px;
  margin: 0;
  border-radius: 50%;
  object-fit: cover;
}

.section_header .header-account_info .info-avatar_name {
  min-width: 0;
}

.section_header .header-account_info .info-avatar_name h5 {
  margin: 0;
  overflow: hidden;
  color: #444444;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.section_header .header-account_info .info-list {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0 18px 8px;
  list-style: none;
}

.section_header
  .header_info
  .header_button.account
  .header-account_info
  .info-list
  .info-list_item {
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  margin: 0;
  padding: 0;
  border: 0;
  background-image: linear-gradient(to right, #dddddd 50%, transparent 50%);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 4px 1px;
}

.section_header
  .header_info
  .header_button.account
  .header-account_info
  .info-list
  .info-list_item:last-child {
  background-image: none;
}

.section_header
  .header_info
  .header_button.account
  .header-account_info
  .info-list
  .info-list_item
  .item-link {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #555555;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-decoration: none;
  white-space: nowrap;
}

.section_header
  .header_info
  .header_button.account
  .header-account_info
  .info-list
  .info-list_item
  .item-link
  i {
  display: flex;
  flex: 0 0 18px;
  align-items: center;
  justify-content: center;
  width: 18px;
  min-width: 18px;
  height: 18px;
  margin: 0 10px 0 0;
  padding: 0;
  color: #666666;
  font-size: 16px;
  line-height: 1;
  text-align: center;
}

.section_header
  .header_info
  .header_button.account
  .header-account_info
  .info-list
  .info-list_item
  .item-link
  i::before {
  display: block;
  line-height: 1;
}

.section_header
  .header_info
  .header_button.account
  .header-account_info
  .info-list
  .info-list_item
  .item-link:hover {
  color: #14a64e;
}

/* ===== CUSTOMER ACCOUNT - CLEAN PAGE-SCOPED STYLES ===== */
:is(div.my-account, .purchased_book, .recent-books, .transaction-history) {
  --account-red: #f33336;
  --danger: #f33336;
  padding: 32px 0;
  background: #ffffff;
  color: #444444;
  font-family: "Be Vietnam Pro", sans-serif;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  > .container
  > .row {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 28px;
  margin-right: 0;
  margin-left: 0;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  > .container
  > .row
  > :is(.col-lg-3, .col-md-4) {
  box-sizing: border-box;
  flex: 0 0 300px;
  width: 300px;
  max-width: 300px;
  min-width: 300px;
  padding-right: 0;
  padding-left: 0;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  > .container
  > .row
  > :is(.col-lg-9, .col-md-8) {
  box-sizing: border-box;
  flex: 1 1 auto;
  width: auto;
  max-width: none;
  min-width: 0;
  padding-right: 0;
  padding-left: 0;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar.is-sticky {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid #dddddd;
  border-radius: 5px;
  background: #ffffff;
  box-shadow: none;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar_user {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  height: 64px;
  min-height: 64px;
  margin: 0;
  padding: 15px 18px;
  background: #fafafa;
}

/* Use the backend-provided initial; do not render the fallback avatar image. */
:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar_user-avatar {
  position: relative;
  display: flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-right: 12px;
  border-radius: 50%;
  background: #2f2f2f;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar_user-avatar
  .user_photo {
  display: none;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar_user-avatar
  .user_text {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 34px;
  height: 34px;
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 34px;
  text-align: center;
  text-transform: uppercase;
  pointer-events: none;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar_user-full_name {
  display: block;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #444444;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar_dashboard {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0 18px 8px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar_dashboard
  .nav-item {
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  margin: 0;
  padding: 0;
  border: 0;
  background-image: linear-gradient(to right, #dddddd 50%, transparent 50%);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 4px 1px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar_dashboard
  .nav-item:last-child {
  background-image: none;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar_dashboard
  .nav-line {
  display: none;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar
  .sidebar_dashboard
  .nav
  .nav-item
  .nav-link {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #555555;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-decoration: none;
  white-space: nowrap;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar
  .sidebar_dashboard
  .nav
  .nav-item
  .nav-link
  :is(img, i, svg) {
  display: flex;
  flex: 0 0 18px;
  align-items: center;
  justify-content: center;
  align-self: center;
  box-sizing: border-box;
  width: 18px;
  min-width: 18px;
  height: 18px;
  margin: 0 10px 0 0;
  padding: 0;
  border-radius: 0;
  color: #666666;
  font-size: 16px;
  line-height: 1;
  object-fit: contain;
  text-align: center;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar
  .sidebar_dashboard
  .nav
  .nav-item
  .nav-link
  i::before {
  display: block;
  line-height: 1;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar
  .sidebar_dashboard
  .nav
  .nav-item
  .nav-link
  span {
  display: block;
  min-width: 0;
  line-height: 20px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar
  .sidebar_dashboard
  .nav
  .nav-item.active
  .nav-link {
  color: #444444;
  font-weight: 700;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar
  .sidebar_dashboard
  .nav
  .nav-item.active
  .nav-link::after {
  display: flex;
  flex: 0 0 14px;
  align-items: center;
  justify-content: flex-end;
  align-self: stretch;
  width: 14px;
  height: 46px;
  margin-left: auto;
  content: "›";
  color: #555555;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  text-align: right;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .sidebar
  .sidebar_dashboard
  .nav
  .nav-item
  .nav-link:hover {
  color: #14a64e;
}

/* Shared balance-card component for every customer subpage that renders it. */
:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  > .container
  > .row
  > :is(.col-lg-9, .col-md-8)
  > .d-flex.mb-3 {
  position: static;
  display: flex;
  width: 696px;
  max-width: 696px;
  height: auto;
  margin: 0 0 28px;
  overflow: visible;
  gap: 28px;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .book-coin_item {
  box-sizing: border-box;
  flex: 1 1 0;
  min-width: 0;
  min-height: 100px;
  padding: 18px 20px;
  border: 1px solid #dddddd;
  border-radius: 5px;
  background: #ffffff;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .book-coin_item
  .item-title {
  margin: 0 0 8px;
  color: #666666;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .book-coin_item
  .item-value {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 0;
  color: var(--account-red);
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .book-coin_item
  .item-value
  i {
  margin: 0;
  color: #245cff;
}

/* Information page: compact 696px panel with floating field labels. */
:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content {
  box-sizing: border-box;
  width: 696px;
  max-width: 696px;
  padding: 24px 28px 32px;
  border: 1px solid #dddddd;
  border-radius: 6px;
  background: #ffffff;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .content_heading {
  margin: 0 0 24px;
  padding: 0 0 14px;
  border-bottom: 1px solid #cfcfcf;
  color: #333333;
  font-size: 18px;
  font-weight: 500;
  line-height: 21.6px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  form {
  display: block;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-group {
  position: relative;
  display: block;
  margin: 0 0 16px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-group
  label {
  position: relative;
  z-index: 2;
  display: table;
  width: auto;
  max-width: calc(100% - 28px);
  margin: 0 0 -8px 12px;
  padding: 0 4px;
  background: #ffffff;
  color: #333333;
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-input {
  position: relative;
  width: 100%;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-input
  :is(input, select) {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 42px;
  min-height: 42px;
  padding: 0 38px 0 10px;
  border: 1px solid #dddddd;
  border-radius: 4px;
  background: #ffffff;
  color: #555555;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  line-height: 21px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-input
  i {
  position: absolute;
  top: 50%;
  right: 12px;
  color: #a8afb6;
  font-size: 16px;
  transform: translateY(-50%);
  pointer-events: none;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-group::before,
:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-group::after,
:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-input::before,
:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-input::after {
  content: none;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-group:last-child {
  display: flex;
  justify-content: center;
  margin: 20px 0 0;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/Customer/Update"]
  )
  .change_password-content
  .form-group:last-child
  button {
  min-width: 128px;
  min-height: 38px;
  margin: 0;
  padding: 8px 18px;
  border: 0;
  border-radius: 4px;
  background: var(--account-red);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 22px;
}

/* Shared third-level customer content: purchased, reading, package and history pages. */
:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(
    .content.content-purchase,
    .content-purchase,
    .transaction-history-content,
    .purchase-history_table,
    .transaction-history_table
  ) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border: 1px solid #dddddd;
  border-radius: 6px;
  background: #ffffff;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(
    .content.content-purchase,
    .content-purchase,
    .transaction-history-content
  ) {
  padding: 24px 28px 32px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(
    .content-purchase h2,
    .content-purchase h3,
    .transaction-history-content h2,
    .transaction-history-content h3,
    .table-history .table-top h3,
    .purchase-history .table-top h3
  ) {
  margin: 0 0 24px;
  padding: 0 0 14px;
  border-bottom: 1px solid #dddddd;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 21.6px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(
    .list-book .tabbar,
    .reading_book-body .tabbar,
    .table-history .table-top,
    .transaction-history-content .history .table-top
  ) {
  margin: 0 0 24px;
  border-bottom: 1px solid #dddddd;
}

/* :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(
    .list-book .tabbar h3,
    .list-book .tabbar .h3-20.medium,
    .reading_book-body .title-link,
    .table-history .table-top h3,
    .transaction-history-content .history .table-top h3
  ) {
  width: fit-content;
  margin: 0 0 -1px;
  padding: 0 0 12px;
  border-bottom: 3px solid #12a751;
  height: auto !important;
  color: #12a751;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 21.6px;
} */

/* Keep the green title rule on the single gray header rule. */
:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .list-book
  .tabbar
  :is(h3, .h3-20.medium) {
  transform: translateY(16px);
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .list-book
  .tabbar_border,
:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .legal-document-main-wrapper:empty {
  display: none;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  .list-book
  > .row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin: 0;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(.list-book .w-20, .reading_book-body .book_reading) {
  box-sizing: border-box;
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  border-radius: 5px;
  background: #ffffff;
  text-align: center;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(.list-book .w-20 img, .reading_book-body .book_reading img) {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
  object-fit: cover;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(
    .list-book .w-20 h3,
    .list-book .w-20 h4,
    .reading_book-body .book_reading h3,
    .reading_book-body .book_reading h4
  ) {
  display: -webkit-box;
  min-height: 38px;
  margin: 12px 0 8px;
  overflow: hidden;
  color: #555555;
  font-size: 14px;
  font-weight: 400;
  line-height: 19px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(
    .reading_book-body .body_content .body_content-btn,
    .list-book .btn,
    .purchase-history_table .btn
  ) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 12px;
  line-height: 16px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(.purchase-history_table, .transaction-history_table) {
  overflow-x: auto;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(.purchase-history_table, .transaction-history_table)
  table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  color: #514847;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(.purchase-history_table, .transaction-history_table)
  :is(th, td) {
  padding: 12px;
  border: 1px solid #dbdbdb;
  vertical-align: middle;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(.purchase-history_table, .transaction-history_table)
  th {
  background: #f5f5f5;
  color: #444444;
  font-weight: 600;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history)
  :is(.purchase-history_table, .transaction-history_table)
  tr:nth-child(even) {
  background: #f9f9f9;
}
/* Password page: match the Information page card and floating-label form. */
:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content {
  box-sizing: border-box;
  width: 696px;
  max-width: 696px;
  padding: 24px 28px 32px;
  border: 1px solid #dddddd;
  border-radius: 6px;
  background: #ffffff;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .content_heading {
  margin: 0 0 24px;
  padding: 0 0 14px;
  border-bottom: 1px solid #cfcfcf;
  color: #333333;
  font-size: 18px;
  font-weight: 500;
  line-height: 21.6px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  form.mt-5 {
  display: block;
  margin-top: 0;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-group {
  position: relative;
  display: block;
  margin: 0 0 16px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-group
  label {
  position: relative;
  z-index: 2;
  display: table;
  width: auto;
  max-width: calc(100% - 28px);
  margin: 0 0 -8px 12px;
  padding: 0 4px;
  background: #ffffff;
  color: #333333;
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-input {
  position: relative;
  width: 100%;
  max-width: none;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-input
  input {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 42px;
  min-height: 42px;
  padding: 0 38px 0 10px;
  border: 1px solid #dddddd;
  border-radius: 4px;
  background: #ffffff;
  color: #555555;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  line-height: 21px;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-input
  img {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: 8px;
  display: block;
  width: 32px;
  height: 32px;
  margin-top: -16px;
  cursor: pointer;
  opacity: 0;
  pointer-events: auto !important;
  touch-action: manipulation;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-input::before {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 15px;
  width: 18px;
  height: 18px;
  content: "\f06e";
  pointer-events: none;
  color: #98a2ad;
  font-family: "Font Awesome 5 Free";
  font-size: 16px;
  font-weight: 900;
  line-height: 18px;
  text-align: center;
  transform: translateY(-50%);
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-input:has(input[type="text"])::before {
  content: "\f070";
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-input:is(:hover, :focus-within)::before {
  color: #14a64e;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-group:last-child {
  display: flex;
  justify-content: center;
  margin: 20px 0 0;
}

:is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
    form[action="/customer/change-password"]
  )
  .change_password-content
  .form-group:last-child
  button {
  min-width: 128px;
  min-height: 38px;
  margin: 0;
  padding: 8px 18px;
  border: 0;
  border-radius: 4px;
  background: var(--account-red);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 22px;
}

@media (max-width: 991.98px) {
  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    > .container
    > .row {
    flex-wrap: wrap;
    gap: 20px;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    > .container
    > .row
    > :is(.col-lg-3, .col-md-4, .col-lg-9, .col-md-8) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    > .container
    > .row
    > :is(.col-lg-9, .col-md-8)
    > .d-flex.mb-3,
  :is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
      form[action="/Customer/Update"]
    )
    .change_password-content,
  :is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
      form[action="/customer/change-password"]
    )
    .change_password-content {
    width: 100%;
    max-width: 100%;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .list-book
    > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* Shared tablet/mobile heading rhythm and single-book rail spacing. */
  .home_page .section-mb:has(.book_content-title) {
    padding-top: 0;
  }

  .home_page .section-mb .book_content-title {
    align-items: baseline;
    min-height: 56px;
    margin-bottom: 24px;
    padding: 0;
    border-bottom: 1px solid #d7e9dc;
  }

  .home_page .section-mb .book_content-title h3,
  .home_page .section-mb:has(.b_content) .book_content-title h3,
  .home_page .section-mb:has(.cb_content) .book_content-title h3 {
    min-height: 56px;
    padding: 14px 0 12px;
    font-size: 16px;
    line-height: 24px;
  }

  .home_page .section-mb .book_content-title > a {
    align-self: center;
    height: auto;
    padding: 0;
  }

  .home_page .section-mb:has(.b_content) .listproduct {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    overflow: visible;
  }

  .home_page .section-mb:has(.b_content) .listproduct > li:nth-child(n + 5) {
    display: none;
  }

  .home_page .section-mb:has(.b_content) .listproduct > li {
    margin: 0;
    border: 0;
    background: transparent;
  }

  .home_page .section-mb:has(.b_content) .listproduct .content_item {
    background: transparent;
  }

  /* Responsive collection cards: square covers, no image-top pad, 24px rhythm. */
  .home_page .section-mb:has(.cb_content) .listproduct {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    overflow: visible;
  }

  .home_page .section-mb:has(.cb_content) .listproduct > li {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .home_page .section-mb:has(.cb_content) .content_item,
  .home_page .section-mb:has(.cb_content) .item-img {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .home_page .section-mb:has(.cb_content) .item-img {
    height: auto;
    overflow: hidden;
    aspect-ratio: 1 / 1;
  }

  .home_page .section-mb:has(.cb_content) .item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .home_page :is(.section-mb, .section.section-dt) .price {
    color: var(--price);
  }

  /* Author card uses the same responsive section-heading system. */
  .home_page .author-box_section.author-home {
    padding-top: 0;
  }

  .home_page .author-home .author_wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 4px;
    justify-content: stretch;
  }

  .home_page .author-home .author_heading {
    display: flex;
    flex: 0 0 100%;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-height: 56px;
    margin: 0 0 24px;
    border-bottom: 1px solid #d7e9dc;
  }

  .home_page .author-home .author_heading h3 {
    display: flex;
    align-items: center;
    min-height: 56px;
    margin: 0;
    padding: 0;
    border-bottom: 3px solid #14a64e;
    color: #14a64e;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    text-transform: uppercase;
  }

  /* Match the desktop single-book cover overlay on tablet and mobile only. */
  :is(.section.section-mb:has(.b_content), .book-good-mb) .item-img {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    aspect-ratio: 2 / 3;
  }

  :is(.section.section-mb:has(.b_content), .book-good-mb) .item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  :is(.section.section-mb:has(.b_content), .book-good-mb) .item-img::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(
      90deg,
      rgba(2, 0, 36, 0.39) 0%,
      rgba(0, 0, 0, 0.5) 1.83%,
      rgba(255, 255, 255, 0.36) 3.21%,
      rgba(0, 0, 0, 0.33) 4.72%,
      rgba(247, 254, 255, 0.28) 9.84%,
      rgba(255, 255, 255, 0) 47.85%
    );
    content: "";
    pointer-events: none;
  }

  :is(.section.section-mb:has(.b_content), .book-good-mb) .listproduct > li,
  .section.section-dt:has(.book-carousel-5) .book-carousel-5 .content_item {
    box-sizing: border-box;
    padding-bottom: 16px;
    background: transparent;
  }

  /* Keep only the first social-follow block if responsive markup is duplicated. */
  .footer .footer_tablet > .tablet-follow ~ .tablet-follow,
  .footer .footer_tablet .tablet-follow > p ~ p {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .home_page .section-mb:has(.cb_content) .listproduct {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    > .container
    > .row {
    gap: 16px;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    > .container
    > .row
    > :is(.col-lg-9, .col-md-8)
    > .d-flex.mb-3 {
    flex-direction: column;
    gap: 16px;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .list-book
    > .row {
    grid-template-columns: 1fr;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    :is(
      .content.content-purchase,
      .content-purchase,
      .transaction-history-content
    ) {
    padding: 20px 16px 24px;
  }
  :is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
      form[action="/Customer/Update"]
    )
    .change_password-content,
  :is(div.my-account, .purchased_book, .recent-books, .transaction-history):has(
      form[action="/customer/change-password"]
    )
    .change_password-content {
    padding: 20px 16px 24px;
  }

  /* Center the mobile header glyphs inside their 35px controls. */
  .section_header-mobile .header_wrap .header_button,
  .section_header-mobile .header_wrap .header_button > a {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .section_header-mobile .header_wrap .header_button > a {
    width: 100%;
    height: 100%;
    line-height: 1;
  }

  .section_header-mobile .header_wrap .header_button :is(i, .fa, .fas) {
    margin: 0;
    line-height: 1;
    vertical-align: middle;
  }

  /* Stack both wallet cards on the same centered content axis. */
  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .book-coin_item {
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
  }

  /* CSS-only touch dropdown: tap the account row to reveal its menu. */
  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .sidebar_user {
    position: relative;
    cursor: pointer;
    touch-action: manipulation;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .sidebar_user::after {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    margin: -4px 2px 0 auto;
    border-right: 1.5px solid #666666;
    border-bottom: 1.5px solid #666666;
    content: "";
    transform: rotate(45deg);
    transition: transform 0.2s ease;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .sidebar_dashboard {
    max-height: 0;
    padding-bottom: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition:
      max-height 0.25s ease,
      padding-bottom 0.25s ease,
      opacity 0.2s ease;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .sidebar:hover
    .sidebar_dashboard,
  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .sidebar:focus-within
    .sidebar_dashboard {
    max-height: 380px;
    padding-bottom: 8px;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .sidebar:hover
    .sidebar_user::after,
  :is(div.my-account, .purchased_book, .recent-books, .transaction-history)
    .sidebar:focus-within
    .sidebar_user::after {
    margin-top: 4px;
    transform: rotate(225deg);
  }

  /* Allow long category names to wrap without widening the mobile drawer. */
  .menu_list-mobile .menu_list_wrap > li {
    height: auto;
    min-height: 52px;
  }

  .menu_list-mobile .menu_list_wrap > li > div.category_link {
    min-height: 52px;
    height: auto;
    padding-top: 8px;
    padding-bottom: 8px;
    white-space: normal;
  }

  .menu_list-mobile .menu_list_wrap > li > div.category_link > a {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    width: 100%;
    line-height: 20px;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .menu_list-mobile
    .menu_list_wrap
    > li:last-child
    > a.category_link[href="/tat-ca-danh-muc"] {
    min-height: 52px;
    white-space: nowrap;
  }

  .home_page .book-good-mb .HeadingCard {
    box-sizing: border-box;
    width: 100%;
    padding-right: 16px;
    padding-left: 16px;
  }

  .home_page .book-good-mb .HeadingCard-view {
    color: var(--brand);
    font-weight: 700;
  }

  /* Four single-book cards only: two equal columns, two rows, no dividers. */
  .home_page :is(.section-mb:has(.b_content), .book-good-mb) .listproduct {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
    overflow: visible;
  }

  .home_page :is(.section-mb:has(.b_content), .book-good-mb) .listproduct > li {
    display: block;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0 0 16px;
    border: 0;
    background: #ffffff;
  }

  .home_page
    :is(.section-mb:has(.b_content), .book-good-mb)
    .listproduct
    > li:nth-child(n + 5) {
    display: none;
  }

  .home_page
    :is(.section-mb:has(.b_content), .book-good-mb)
    .listproduct
    .content_item,
  .home_page
    :is(.section-mb:has(.b_content), .book-good-mb)
    .listproduct
    .item-img,
  .home_page
    :is(.section-mb:has(.b_content), .book-good-mb)
    .listproduct
    .item-content,
  .home_page
    :is(.section-mb:has(.b_content), .book-good-mb)
    .listproduct
    .item_infor {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    border: 0;
  }

  .home_page
    :is(.section-mb:has(.b_content), .book-good-mb)
    .listproduct
    .item-img {
    height: auto;
    aspect-ratio: 2 / 3;
  }

  .home_page
    :is(.section-mb:has(.b_content), .book-good-mb)
    .listproduct
    .item-img
    img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
/* Khối section chính theo đúng cấu trúc yêu cầu */
/*css mới bs*/
.section.introduce.publishing {
  position: relative;
  width: 100%;
  min-height: 580px;
  background-color: #faf7ee !important;
  /* Link hình nền chính xác từ admin.trithuctrebooks.com */
  background-image: url("/content/assets/images/lien-ket-xuat-ban.jpg");
  background-size: cover !important;
  background-repeat: no-repeat !important;
  display: flex;
  align-items: center;
  padding: 70px 0;
  overflow: hidden;
}

.banner-info {
  position: relative;
  z-index: 10;
  width: 100%;
}

.publishing-service {
  text-align: center;
  padding: 20px 0;
  max-width: 630px;
  margin: 0 auto 0 0;
}

/* Tiêu đề chính */
.service-title {
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 52px;
  font-weight: 700;
  color: #065f46;
  margin-bottom: 14px;
  letter-spacing: -0.5px;
  line-height: 1.18;
}

/* Divider trang trí quyển sách */
.service-divider {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 6px auto 26px auto;
}

.divider-line {
  width: 90px;
  height: 2px;
  background: #ea6a12;
  border-radius: 2px;
}

.divider-dot {
  width: 5px;
  height: 5px;
  background: #ea6a12;
  border-radius: 50%;
}

.divider-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}

/* Đoạn mô tả */
.service-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #334155;
  max-width: 580px;
  margin: 0 auto 34px auto;
  font-weight: 400;
}

/* Khung chứa 3 thẻ thống kê (luôn nằm trên 1 hàng ngang) */
.stats-cards-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: nowrap;
  margin-top: 24px;
  margin-bottom: 34px;
  width: 100%;
}

/* Từng thẻ thống kê (Card) */
.stat-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 14px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.95);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  flex: 1 1 0;
  min-width: 0;
  text-align: left;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.1);
}

/* Vòng tròn màu cam chứa icon */
.stat-icon-wrapper {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ff6b00;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(255, 107, 0, 0.3);
}

.stat-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stat-number {
  font-size: 24px;
  font-weight: 700;
  color: #ff6b00;
  line-height: 1.1;
  letter-spacing: -0.3px;
}

.stat-label {
  font-size: 13px;
  font-weight: 600;
  color: #065f46;
  margin-top: 4px;
  white-space: nowrap;
}

/* Nút Xem thêm */
.view-more-action {
  text-align: center;
}

.btn-view-more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  color: #065f46;
  font-size: 16px;
  font-weight: 700;
  padding: 13px 36px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.95);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-view-more svg {
  transition: transform 0.3s ease;
}

.btn-view-more:hover {
  color: #065f46;
  background: #ffffff;
  text-decoration: none;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.btn-view-more:hover svg {
  transform: translateX(4px);
}

/* Responsive breakpoints */
@media (max-width: 1199px) {
  .service-title {
    font-size: 44px;
  }

  .service-desc {
    font-size: 15px;
  }
}

@media (max-width: 991px) {
  .section.introduce.publishing {
    min-height: auto;
    padding: 50px 0;
    background-position: 70% center;
  }

  .publishing-service {
    margin: 0 auto;
  }

  .service-title {
    font-size: 38px;
  }

  .divider-line {
    width: 60px;
  }
}

@media (max-width: 767px) {
  .section.introduce.publishing {
    padding: 40px 0;
  }

  .service-title {
    font-size: 32px;
  }

  .service-desc {
    font-size: 14.5px;
    margin-bottom: 26px;
  }

  .stats-cards-row {
    gap: 8px;
    flex-wrap: nowrap;
  }

  .stat-card {
    padding: 10px 8px;
    gap: 8px;
    flex: 1 1 0;
  }

  .stat-icon-wrapper {
    width: 38px;
    height: 38px;
  }

  .stat-number {
    font-size: 18px;
  }

  .stat-label {
    font-size: 11px;
  }
}

/* Giao diện riêng cho màn hình mobile <= 575px chuẩn theo mẫu thiết kế dọc */
@media (max-width: 575px) {
  .section.introduce.publishing {
    min-height: 820px;
    padding: 40px 0 30px 0;
    background-image: url("/content/assets/images/lien-ket-xuat-ban-mobie.jpg");
    background-position: center top;
    background-size: cover;
  }

  .publishing-service {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    padding: 10px 5px;
  }

  .service-title {
    order: 1;
    font-size: 32px;
    margin-bottom: 10px;
  }

  .service-divider {
    order: 2;
    margin: 4px auto 16px auto;
  }

  .service-desc {
    width: 360px;
    order: 3;
    font-size: 14.5px;
    margin-bottom: 20px;
  }

  .view-more-action {
    order: 4;
    margin-bottom: 380px;
  }

  .stats-cards-row {
    order: 5;
    gap: 8px;
    flex-wrap: nowrap;
    margin-top: 20px;
    margin-bottom: 0;
    width: 100%;
  }

  .stat-card {
    flex-direction: column;
    text-align: center;
    padding: 12px 6px;
    gap: 6px;
    border-radius: 14px;
    flex: 1 1 0;
  }

  .stat-info {
    align-items: center;
  }

  .stat-icon-wrapper {
    width: 38px;
    height: 38px;
  }

  .stat-number {
    font-size: 18px;
  }

  .stat-label {
    font-size: 11px;
  }
}
/*category-product*/
.category-product {
  background-color: #fcf9f3;
  padding: 60px 0;
}

.HeadingCard {
  justify-content: center;
  margin-bottom: 35px;
}

.HeadingCard-title {
  text-transform: uppercase;
  font-weight: 800;
  font-size: 24px;
  color: #111;
  letter-spacing: 0.5px;
}

.Category-wrapper {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 20px;
  margin: 0;
}

.Category-wrapper-item {
  flex: 1 1 0;
  min-width: 0;
}

.CardComponent {
  background-color: #ffffff;
  border-radius: 8px;
  padding: 35px 15px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
  text-decoration: none !important;
  color: inherit;
  transition: all 0.3s ease;
  display: block !important;
}

.CardComponent:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
  color: inherit;
}

.resize-card-category {
  width: 110px;
  height: 110px;
  margin: 0 auto 20px auto;
  border-radius: 50%;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.resize-card-category img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.CardComponent:hover .resize-card-category {
  transform: scale(1.15);
}

.CardComponent-body-title {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  margin-bottom: 8px !important;
}

.CardComponent-body-description {
  font-size: 14.5px;
  color: #666;
}

@media (max-width: 991px) {
  .Category-wrapper {
    flex-wrap: wrap;
  }

  .Category-wrapper-item {
    flex: 0 0 calc(33.333% - 20px);
  }
}

@media (max-width: 767px) {
  .Category-wrapper-item {
    flex: 0 0 calc(50% - 15px);
  }

  .Category-wrapper {
    gap: 15px;
  }
}

@media (max-width: 480px) {
  .Category-wrapper-item {
    flex: 0 0 100%;
  }
}
.book-tags-container {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-start;
}

.book-type-tag {
  background: #fff;
  color: #333;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  border: 1px solid #eee;
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
/* Desktop: loại bỏ dải trắng giữa các section, giữ nguyên khoảng cách nội bộ. */
@media (min-width: 992px) {
  .home_page .section {
    margin-bottom: 0 !important;
  }
}

/* ===== FLASH SALES - Netlify visual alignment ===== */
.home_page :is(.book-good, .book-good-mb) {
  position: relative;
  overflow: hidden;
  background: #00b346;
  box-shadow: inset 0 0 0 100vmax #00b346;
  font-family: "Be Vietnam Pro", sans-serif;
}

.home_page :is(.book-good, .book-good-mb) > * {
  position: relative;
  z-index: 1;
}

.home_page :is(.book-good, .book-good-mb) .HeadingCard {
  box-sizing: border-box;
  min-height: 54px;
  margin: 0 0 8px;
  padding: 12px 24px;
  border-radius: 12px;
  background: #fff;
  justify-content: space-between;
}

.home_page :is(.book-good, .book-good-mb) .flash-sale-tab-header {
  gap: 8px;
  color: #333;
}

.home_page :is(.book-good, .book-good-mb) .flash-sale-tab-header-title {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0;
  color: #333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 30px;
  white-space: nowrap;
}

.home_page
  :is(.book-good, .book-good-mb)
  .flash-sale-tab-header-title
  .fa-bolt {
  color: #ea262a;
}

.home_page :is(.book-good, .book-good-mb) .flash-sale-tab-header-timeEnd {
  gap: 8px;
  padding: 0;
  list-style: none;
}

@media screen and (min-width: 996px) {
  .home_page :is(.book-good, .book-good-mb) .flash-sale-tab-header-timeEnd-in {
    margin-left: 2px;
    padding: 0 0 0 12px;
    border-left: 1px solid #54555b;
    color: #333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    white-space: nowrap;
  }
}

.home_page :is(.book-good, .book-good-mb) .flash-sale-tab-header-timeEnd-item {
  box-sizing: border-box;
  min-width: 30px;
  height: 30px;
  padding: 3px 5px;
  border-radius: 3px;
  background: #ea262a;
  color: #fff;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  text-align: center;
}

.home_page
  :is(.book-good, .book-good-mb)
  .flash-sale-tab-header-timeEnd-item.dot {
  min-width: auto;
  padding-right: 0;
  padding-left: 0;
  background: transparent;
  color: #333;
}

.home_page :is(.book-good, .book-good-mb) .HeadingCard-view,
.home_page :is(.book-good, .book-good-mb) .HeadingCard-view:hover,
.home_page :is(.book-good, .book-good-mb) .HeadingCard-view:focus-visible {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  color: #9c9c9c;
  -webkit-text-fill-color: #9c9c9c;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 20.8px;
  white-space: nowrap;
}

@media (min-width: 992px) {
  .home_page .section.section-dt.book-good {
    padding: 80px 0;
  }

  .home_page .book-good::before,
  .home_page .book-good::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 150px;
    height: 310px;
    background: rgba(255, 255, 255, 0.14);
    clip-path: polygon(
      58% 0,
      100% 0,
      72% 38%,
      100% 38%,
      18% 100%,
      40% 54%,
      0 54%
    );
    transform: translateY(-50%) rotate(8deg);
    pointer-events: none;
  }

  .home_page .book-good::before {
    left: -34px;
  }

  .home_page .book-good::after {
    right: -34px;
    transform: translateY(-50%) scaleX(-1) rotate(8deg);
  }

  .home_page .section.section-dt.book-good .book-carousel-5 {
    box-sizing: border-box;
    padding: 60px 48px;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
  }

  .home_page .section.section-dt.book-good .book-carousel-5 .owl-stage {
    margin-right: auto;
    margin-left: auto;
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5
    .owl-nav
    button.owl-prev,
  .home_page
    .section.section-dt.book-good
    .book-carousel-5
    .owl-nav
    button.owl-next {
    top: calc(36px + 15cqi);
  }
}

@media (max-width: 991px) {
  .home_page .section.section-mb.book-good-mb {
    box-sizing: border-box;
    margin: 24px 0;
    padding: 40px 12px;
  }

  .home_page .book-good-mb .HeadingCard {
    width: 100%;
  }

  .home_page .book-good-mb .book_content {
    padding: 0;
  }

  .home_page .book-good-mb .b_content {
    box-sizing: border-box;
    padding: 32px 16px 24px;
    border-radius: 12px;
    background: #fff;
  }
}

@media (max-width: 575px) {
  .home_page .book-good-mb .HeadingCard {
    flex-wrap: wrap;
    padding: 12px 16px;
  }

  .home_page .book-good-mb .flash-sale-tab-header {
    width: 100%;
  }

  .home_page .book-good-mb .HeadingCard-view {
    width: 100%;
    margin-top: 8px;
    margin-left: 0;
  }
}
.home_page :is(.book-good, .book-good-mb)::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  width: auto;
  height: auto;
  background: url("/content/assets/images/Flash-sale-bg.svg") center / cover
    no-repeat;
  clip-path: none;
  transform: none;
  pointer-events: none;
}

.home_page :is(.book-good, .book-good-mb)::after {
  content: none;
}

.home_page :is(.book-good, .book-good-mb) .HeadingCard-view .fa-chevron-right {
  color: #9c9c9c;
  -webkit-text-fill-color: #9c9c9c;
}
/* Danh mục sản phẩm — background gợn sóng từ bản Netlify. */
.home_page .Category.category-product {
  background-image:
    linear-gradient(rgba(255, 232, 184, 0.2), rgba(255, 232, 184, 0.2)),
    url("/content/assets/images/category-wave-bg.jpg");
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (max-width: 575px) {
  .home_page .book-good-mb .flash-sale-tab-header-title {
    font-size: 18px;
    line-height: 27px;
  }

  .home_page .book-good-mb .flash-sale-tab-header-timeEnd-in {
    display: list-item;
  }
}

.home_page
  :is(.book-good, .book-good-mb)
  .flash-sale-tab-header-title
  .fa-bolt {
  -webkit-text-fill-color: #ea262a;
}
/* Footer desktop — giảm khoảng trống trên social/payment còn khoảng một phần ba. */
@media (min-width: 992px) {
  .footer > .container,
  .footer > .container > .row,
  .footer > .container > .row > [class*="col-"]:last-child > .row {
    min-height: 424px;
  }

  .footer .footer_tablet {
    transform: translateY(56px);
  }

  .footer
    > .container
    > .row
    > [class*="col-"]:last-child
    > .row
    > [class*="col-"]:nth-child(4) {
    transform: translateY(64px);
  }
}
/* Publishing service: requested title typeface only. */
.home_page .section.introduce.publishing .service-title {
  font-family: "Be Vietnam Pro", sans-serif;
}

/* Homepage author section aligned with the Netlify section system. */
.home_page .author-box_section.author-home {
  margin: 0;
  padding: 16px 0;
  background: #fff;
}

.home_page .author-home .author_wrap {
  display: block;
  width: 100%;
  max-width: 100%;
}

.home_page .author-home .author_heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 65px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #d7e9dc;
  text-align: left;
}

.home_page .author-home .author_heading h3 {
  display: flex;
  align-items: center;
  min-height: 65px;
  margin: 0;
  padding: 16px 0;
  border-bottom: 3px solid #14a64e;
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  text-align: left;
  text-transform: uppercase;
}

.home_page .author-home .author_heading-line {
  display: none;
}

.home_page .author-home .author_box {
  display: flex;
  justify-content: flex-start;
  gap: 24px;
  width: 100%;
  margin: 0;
  padding: 16px 0;
  overflow: hidden;
}

.home_page .author-home .author_wrap .author_box .author_list {
  display: grid;
  flex: 0 0 236px;
  grid-template-rows: 150px auto;
  justify-items: center;
  gap: 12px;
  width: 236px;
  margin: 0;
  padding: 0;
  color: #202020;
  text-decoration: none;
}

.home_page
  .author-home
  .author_wrap
  .author_box
  .author_list
  .author_list-avatar {
  width: 150px;
  height: 150px;
  margin: 0;
  overflow: hidden;
  border-radius: 50%;
  background: #f5f7f6;
}

.home_page
  .author-home
  .author_wrap
  .author_box
  .author_list
  .author_list-avatar
  img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

.home_page
  .author-home
  .author_wrap
  .author_box
  .author_list
  .author_list-name {
  width: 100%;
  margin: 0;
  color: #202020;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 19px;
  text-align: center;
}

@media (max-width: 991.98px) {
  .home_page .author-home .author_section .row {
    margin-right: 0;
    margin-left: 0;
  }

  .home_page .author-box_section.author-home {
    padding: 16px 0;
  }

  .home_page .author-home .author_heading,
  .home_page .author-home .author_heading h3 {
    min-height: 56px;
  }

  .home_page .author-home .author_heading h3 {
    padding: 16px 0;
    font-size: 16px;
    line-height: 24px;
  }

  .home_page .author-home .author_box {
    gap: 16px;
    padding: 24px 0 16px;
  }

  .home_page .author-home .author_wrap .author_box .author_list {
    flex-basis: 131px;
    grid-template-rows: 128px auto;
    width: 131px;
  }

  .home_page
    .author-home
    .author_wrap
    .author_box
    .author_list
    .author_list-avatar {
    width: 128px;
    height: 128px;
  }
}
/* Desktop homepage: remove Bootstrap utility margins between direct sections. */
@media (min-width: 992px) {
  .home_page > :is(.mb-1, .mb-2, .mb-3, .mb-4, .mb-5) {
    margin-bottom: 0 !important;
  }
}

/* Category pages: keep the filter sidebar aligned to the 310px category menu. */
@media (min-width: 992px) {
  .list_category-wrapper .category_wrapper-left,
  .list_category-wrapper .category_wrapper-left .filter_menu-box {
    width: 310px;
    max-width: 310px;
  }
}

@media (max-width: 991.98px) {
  .filter_menu .filter_menu-box {
    width: 310px;
    max-width: calc(100vw - 32px);
  }
}
.home_page {
  .owl-item.active {
    .content_item:hover {
      img,
      .owl-lazy {
        transform: scale(1.06);
      }
    }
  }
}
.home_page .book-carousel-5 .bg-book-search.bg-book-category.bg-layout {
  transition:
    transform 0.4s,
    opacity 0.4s;
}
/* Search and category lists: spacing, toolbar and responsive two-column grid. */
.list_category-wrapper {
  padding-top: 0;
}

.category_wrapper-right .wrapper_right-tabbar {
  margin-bottom: 32px;
}

.category_wrapper-right .wrapper_right-tabbar .tabbar_headding {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  min-height: 56px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #d7e9dc;
}

.category_wrapper-right .wrapper_right-tabbar .tabbar_headding .headding {
  display: flex;
  align-items: center;
  min-height: 56px;
  margin: 0 0 -1px;
  padding: 16px 0 14px;
  border-bottom: 3px solid #14a64e;
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 27px;
  text-align: left;
  white-space: nowrap;
}

.category_wrapper-right .wrapper_right-tabbar .tabbar_headding .btn_filter {
  position: absolute;
  right: 0;
  bottom: 7px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 74px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #14a64e;
  border-radius: 6px;
  background: #ffffff;
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}

.category_wrapper-right .wrapper_right-tabbar .tabbar_headding .btn_filter img {
  display: none;
}

.category_wrapper-right
  .wrapper_right-tabbar
  .tabbar_headding
  .btn_filter::before {
  display: block;
  width: 18px;
  height: 16px;
  flex: 0 0 18px;
  background: currentColor;
  clip-path: polygon(0 0, 100% 0, 62% 43%, 62% 82%, 38% 100%, 38% 43%);
  content: "";
}

.category_wrapper-right .wrapper_right-tabbar .tabbar > .row {
  align-items: center;
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid #d7e9dc;
}

.category_wrapper-right .wrapper_right-tabbar .nav.nav-pills {
  gap: 8px;
}

.category_wrapper-right .wrapper_right-tabbar .nav-custom {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 14px;
  border-radius: 5px;
  font-family: "Be Vietnam Pro", sans-serif;
  line-height: 22px;
}

.category_wrapper-right .wrapper_right-tabbar .select-filter select {
  height: 42px;
  border-radius: 5px;
  font-family: "Be Vietnam Pro", sans-serif;
}

.category_wrapper-right .wrapper_right-book > .row > [class*="col-"] {
  margin-bottom: 56px !important;
}

@media (max-width: 991.98px) {
  .list_category-wrapper {
    padding-top: 0;
  }

  .category_wrapper-right .wrapper_right-tabbar {
    margin-bottom: 28px;
  }

  .category_wrapper-right .wrapper_right-tabbar .tabbar_headding {
    padding-right: 90px;
  }

  .category_wrapper-right .wrapper_right-tabbar > .tabbar > .row {
    row-gap: 14px;
  }

  .category_wrapper-right .wrapper_right-tabbar .nav.nav-pills {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 575.98px) {
  .category_wrapper-right .wrapper_right-tabbar .tabbar_headding {
    min-height: 54px;
    padding-right: 80px;
  }

  .category_wrapper-right .wrapper_right-tabbar .tabbar_headding .headding {
    min-height: 54px;
    padding: 15px 0 13px;
    font-size: 15px;
    line-height: 24px;
  }

  .category_wrapper-right .wrapper_right-tabbar .tabbar_headding .btn_filter {
    bottom: 7px;
    min-width: 70px;
    min-height: 40px;
    padding: 7px 10px;
  }
}

@media (min-width: 301px) and (max-width: 767.98px) {
  .category_wrapper-right .wrapper_right-book > .row {
    margin-right: -6px;
    margin-left: -6px;
  }

  .category_wrapper-right .wrapper_right-book > .row > [class*="col-"] {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    margin-bottom: 48px !important;
    padding-right: 6px;
    padding-left: 6px;
  }

  .category_wrapper-right .wrapper_right-book .content_item-infor {
    min-height: 104px;
    padding-top: 12px;
  }

  .category_wrapper-right .wrapper_right-book .item_infor-title,
  .category_wrapper-right .wrapper_right-book .item_infor-title h6,
  .category_wrapper-right .wrapper_right-book .item_infor-price {
    width: 100%;
    max-width: 100%;
  }

  .category_wrapper-right .wrapper_right-book .item_infor-title h6 {
    min-height: 44px;
    margin-top: 0;
    font-size: 14px;
    line-height: 22px;
  }

  .category_wrapper-right .wrapper_right-book .item_infor-price {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px 5px;
    font-size: 14px;
    line-height: 22px;
  }

  .category_wrapper-right .wrapper_right-book .item_infor-price span {
    font-size: 14px;
    line-height: 22px;
    white-space: nowrap;
  }
}

/* Homepage key partners: align with the Netlify section system. */
.home_page .partner-box_section.key-partner {
  margin: 0;
  padding: 40px 0;
  background: #ffffff;
}

.home_page .key-partner .partner_wrap,
.home_page .key-partner .partner_content {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

.home_page .key-partner .partner_head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  min-height: 63px;
  margin: 0 0 24px;
  padding: 0;
  border-bottom: 1px solid rgba(81, 72, 71, 0.18);
  text-align: left;
}

.home_page .key-partner .partner_head .partner_title-title {
  display: flex;
  align-items: center;
  min-height: 63px;
  margin: 0 0 -1px;
  padding: 16px 0 14px;
  border-bottom: 3px solid #14a64e;
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  text-align: left;
  text-transform: uppercase;
}

.home_page .key-partner .partner_title-vector {
  display: none;
}

.home_page .key-partner .partner_list {
  display: flex;
  align-items: flex-start;
  justify-content: stretch;
  gap: 16px;
  width: 100%;
  margin: 0;
  padding: 0 0 8px;
  overflow: hidden;
}

.home_page .key-partner .partner_list .partner_list-link {
  display: flex;
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  height: 112px;
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  background: #ffffff;
}

.home_page .key-partner .partner_list .partner_list-link .link_thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 112px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(34, 34, 34, 0.08);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.home_page .key-partner .partner_list .partner_list-link:hover .link_thumb {
  border-color: rgba(20, 166, 78, 0.45);
  box-shadow: 0 10px 24px rgba(34, 34, 34, 0.12);
  transform: translateY(-2px);
}

.home_page .key-partner .partner_list .partner_list-link .link_thumb img {
  display: block;
  width: 100%;
  height: 78px;
  max-width: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 767.98px) {
  .home_page .partner-box_section.key-partner {
    padding: 20px 0;
  }

  .home_page .partner-box_section.key-partner > .container {
    padding-right: 13px;
    padding-left: 13px;
  }

  .home_page .key-partner .partner_head {
    margin-bottom: 16px;
  }

  .home_page .key-partner .partner_list {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: flex-start !important;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 0 0 8px;
    overflow-x: auto;
    scroll-padding-inline: 0;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  .home_page .key-partner .partner_list::-webkit-scrollbar {
    display: none;
  }

  .home_page .key-partner .partner_list .partner_list-link {
    flex: 0 0 132px;
    width: 132px;
    scroll-snap-align: start;
  }
}
/* Book format tags: match the Netlify pill system. */
.book-tags-container {
  top: 10px;
  left: 10px;
  gap: 7px;
}

.book-tags-container .book-type-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 30px;
  padding: 5px 12px;
  border: 1px solid #d7d7d7;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.12);
  color: #175cff;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  white-space: nowrap;
}

.book-tags-container .book-type-tag i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: currentColor;
  font-size: 14px;
  line-height: 16px;
}

@media (max-width: 767.98px) {
  .book-tags-container {
    top: 8px;
    left: 8px;
    gap: 6px;
  }

  .book-tags-container .book-type-tag {
    gap: 6px;
    min-height: 27px;
    padding: 5px 10px;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.14);
    font-size: 12px;
    font-weight: 400;
    line-height: 12px;
  }

  .book-tags-container .book-type-tag i {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
    font-size: 12px;
    line-height: 14px;
  }
}
/* Desktop product categories: requested vertical breathing room. */
@media (min-width: 992px) {
  .home_page .Category.category-product {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
/* Keep the member-book category visible while temporarily disabling its wrong external URL. */
.home_page .Category-wrapper-item > a[href*="benbooks.sachbanquyen.com.vn"] {
  cursor: default;
  pointer-events: none;
}

/* Cooperation contact: use the same compact Netlify section and card language. */
.home_page .section.banner-services {
  margin: 0 !important;
  padding: 40px 0 !important;
  background: #fff9f5;
}

.home_page .banner-services .printer-list {
  width: 100%;
}

.home_page .banner-services .printer-list-heading {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 63px;
  margin: 0 0 24px;
  padding: 16px 0 14px;
  border: 0;
  border-bottom: 1px solid rgba(81, 72, 71, 0.18);
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  text-align: left;
  text-transform: uppercase;
}

.home_page .banner-services .printer-list-heading::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 190px;
  height: 3px;
  background: #14a64e;
  content: "";
}

.home_page .banner-services .printer-list > .row {
  margin-right: -8px;
  margin-left: -8px;
}

.home_page .banner-services .printer-list > .row > [class*="col-"] {
  margin-bottom: 0;
  padding-right: 8px;
  padding-left: 8px;
}

.home_page .banner-services .printer-list-content {
  height: 100%;
  min-height: 220px;
  padding: 20px 16px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(34, 34, 34, 0.06);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.home_page .banner-services .printer-list-content:hover {
  border-color: rgba(20, 166, 78, 0.45);
  box-shadow: 0 10px 24px rgba(34, 34, 34, 0.1);
  transform: translateY(-2px);
}

.home_page .banner-services .printer-list-content a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #333333;
  text-decoration: none;
}

.home_page .banner-services .printer-list-content img {
  display: block;
  width: 132px;
  height: 132px;
  margin: 0 auto 16px;
  object-fit: contain;
  object-position: center;
}

.home_page .banner-services .printer-list-content h5 {
  margin: 0;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  text-align: center;
}

@media (max-width: 767.98px) {
  .home_page .section.banner-services {
    padding: 20px 0 !important;
  }

  .home_page .banner-services .printer-list-heading {
    min-height: 55px;
    margin-bottom: 16px;
    padding: 12px 0 10px;
    font-size: 16px;
    line-height: 24px;
  }

  .home_page .banner-services .printer-list-heading::after {
    width: 154px;
  }

  .home_page .banner-services .printer-list > .row {
    margin-right: -6px;
    margin-left: -6px;
  }

  .home_page .banner-services .printer-list > .row > [class*="col-"] {
    margin-bottom: 12px;
    padding-right: 6px;
    padding-left: 6px;
  }

  .home_page .banner-services .printer-list-content {
    min-height: 176px;
    padding: 14px 10px;
  }

  .home_page .banner-services .printer-list-content img {
    width: 104px;
    height: 104px;
    margin-bottom: 10px;
  }

  .home_page .banner-services .printer-list-content h5 {
    font-size: 14px;
    line-height: 20px;
  }
}
/* Book detail: separate and refine author/publisher and publishing information cards. */
.section-chi-tiet-sach .chi-tiet-sach-main > .col-lg-9 > .author-list {
  margin-bottom: 22px;
  padding: 20px;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(34, 34, 34, 0.05);
}

.section-chi-tiet-sach .author-list-wrapper {
  align-items: stretch;
}

.section-chi-tiet-sach .author-list-wrapper-item {
  display: flex;
  align-items: center;
  min-height: 76px;
}

.section-chi-tiet-sach .author-list_sales {
  width: 100%;
  margin-top: 0;
}

.section-chi-tiet-sach .author-list_sales-txt {
  display: block;
  margin-bottom: 12px;
  color: #4f4f4f;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.section-chi-tiet-sach .author-list_sales-des {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333333;
}

.section-chi-tiet-sach .author-list_sales-des .des_info-title {
  margin: 0;
  color: #333333;
  font-size: 15px;
  font-weight: 700;
  line-height: 22px;
}

.section-chi-tiet-sach .details-table-list {
  padding: 20px;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(34, 34, 34, 0.05);
}

.section-chi-tiet-sach .details-table-list-title {
  margin: 0 0 18px;
  color: #333333;
  font-size: 16px;
  font-weight: 800;
  line-height: 24px;
  text-transform: uppercase;
}

.section-chi-tiet-sach .details-table-list-wrapper {
  overflow: hidden;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
}

.section-chi-tiet-sach .details-table-list-wrapper table {
  width: 100%;
  margin: 0;
  border: 0;
}

.section-chi-tiet-sach .details-table-list-wrapper td {
  padding: 10px 12px;
  border-color: #e5e5e5;
  color: #4f4f4f;
  font-size: 14px;
  line-height: 20px;
}

.section-chi-tiet-sach .details-table-list-wrapper td:nth-child(odd) {
  background: #fafafa;
  color: #4f4f4f;
  font-weight: 600;
}

/* Gallery arrows: replace missing case-sensitive SVG assets with CSS chevrons. */
.section-chi-tiet-sach #BookDetailSection-carousel .owl-nav button {
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-chi-tiet-sach #BookDetailSection-carousel .owl-nav button > img {
  display: none;
}

.section-chi-tiet-sach #BookDetailSection-carousel .owl-nav button::before {
  display: block;
  width: 11px;
  height: 11px;
  border-top: 2px solid #14a64e;
  border-right: 2px solid #14a64e;
  content: "";
}

.section-chi-tiet-sach #BookDetailSection-carousel .owl-nav .owl-prev::before {
  transform: rotate(-135deg);
}

.section-chi-tiet-sach #BookDetailSection-carousel .owl-nav .owl-next::before {
  transform: rotate(45deg);
}

.section-chi-tiet-sach
  #BookDetailSection-carousel
  .owl-nav
  button.disabled::before {
  opacity: 0.45;
}

@media (max-width: 767.98px) {
  .section-chi-tiet-sach .chi-tiet-sach-main > .col-lg-9 > .author-list,
  .section-chi-tiet-sach .details-table-list {
    padding: 16px;
  }

  .section-chi-tiet-sach .author-list-wrapper {
    flex-direction: column;
  }

  .section-chi-tiet-sach .author-list-wrapper-item {
    width: 100%;
    min-height: 0;
    padding: 0;
  }

  .section-chi-tiet-sach .author-list-wrapper-item + .author-list-wrapper-item {
    margin-top: 16px;
    padding: 16px 0 0;
    border-top: 1px solid #e5e5e5;
    border-left: 0;
  }

  .section-chi-tiet-sach .details-table-list-wrapper {
    overflow: visible;
  }

  .section-chi-tiet-sach .details-table-list-wrapper table,
  .section-chi-tiet-sach .details-table-list-wrapper tbody,
  .section-chi-tiet-sach .details-table-list-wrapper tr {
    display: block;
    width: 100%;
  }

  .section-chi-tiet-sach .details-table-list-wrapper tr {
    display: grid;
    grid-template-columns: minmax(112px, 0.85fr) minmax(0, 1.15fr);
  }

  .section-chi-tiet-sach .details-table-list-wrapper td {
    display: block;
    width: auto;
    min-width: 0;
    min-height: 42px;
    padding: 10px;
    overflow-wrap: anywhere;
  }
}
/* Category listing: compact Netlify-style title, filters and scoped sidebar headings. */
.list_category-wrapper .category_wrapper-right .topic-headding > .topic-title {
  min-height: 48px;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 16px;
}

.list_category-wrapper
  .category_wrapper-right
  .topic-headding
  > .topic-title
  > h3 {
  width: auto;
  margin: 0 !important;
  border-bottom: 0;
  color: #222222;
  font-family: "Be Vietnam Pro", sans-serif;
  font-weight: 700;
  line-height: 30px;
  text-align: left;
}

.list_category-wrapper
  .category_wrapper-left
  .filter_menu-box
  .box-classify_title,
.list_category-wrapper .category_wrapper-left .filter_menu-box .author-title,
.list_category-wrapper
  .category_wrapper-left
  .filter_menu-box
  .box-languages_title,
.list_category-wrapper
  .category_wrapper-left
  .filter_menu-box
  .box-price_title {
  margin: 20px 0 12px;
  padding: 0 0 10px;
  border-bottom: 1px solid #e5e7eb;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 24px;
}

@media (min-width: 992px) {
  .list_category-wrapper .category_wrapper-right .wrapper_right-tabbar {
    margin-bottom: 32px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    display: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row {
    min-height: 58px;
    align-items: center;
    padding: 8px 0 16px;
    border-bottom: 1px solid #d7e9dc;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom {
    min-height: 34px;
    padding: 5px 13px;
    border-color: #d1d5db;
    border-radius: 4px;
    background: #ffffff;
    color: #666666;
    font-size: 13px;
    line-height: 22px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom:hover,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom.active {
    border-color: #14a64e;
    background: #14a64e;
    color: #ffffff;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select {
    min-width: 136px;
    height: 36px;
    border-radius: 4px;
    color: #666666;
    font-size: 13px;
  }
}

@media (max-width: 991.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title {
    min-height: 40px;
    margin-bottom: 12px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title
    > h3 {
    line-height: 28px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    min-height: 42px;
    justify-content: flex-end;
    margin: 0 0 12px;
    padding: 0;
    border-bottom: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .headding {
    display: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter {
    position: static;
    min-width: 74px;
    min-height: 40px;
    margin-left: auto;
    padding: 7px 11px;
  }
}
.list_category-wrapper
  .category_wrapper-right
  .nav.nav-pills:not(:has(.nav-custom.active))
  .nav-item:first-child
  .nav-custom {
  border-color: #14a64e;
  background: #14a64e;
  color: #ffffff;
}
/* Book list and category pages use a clean white canvas. */
.list_category-wrapper {
  background: #ffffff;
}
@media (min-width: 992px) {
  .list_category-wrapper .category_wrapper-right .wrapper_right {
    padding: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom {
    min-height: 36px;
    padding: 6px 14px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom:hover,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom.active {
    border-color: #14a64e;
    background: #14a64e;
    color: #ffffff;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select {
    min-width: 156px;
    height: 36px;
    padding: 6px 34px 6px 12px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    background-color: #ffffff;
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
  }
}
/* Category page canvas, shared row spacing and desktop sticky filters. */
body:has(.list_category-wrapper) .wrapper,
.list_category-wrapper {
  background: #ffffff;
}

.list_category-wrapper > .container > .row.mb-3 {
  padding-bottom: 48px;
}

@media (min-width: 992px) {
  .list_category-wrapper > .container > .row.mb-3 > .col-lg-3 > .sticky {
    position: sticky;
    z-index: 2;
    top: 16px;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .list_category-wrapper > .container > .row.mb-3 {
    padding-bottom: 32px;
  }
}

@media (max-width: 767.98px) {
  .list_category-wrapper > .container > .row.mb-3 {
    padding-bottom: 24px;
  }
}
/* Shared textual button rhythm measured from the Netlify reference. */
:root {
  --ttb-button-font-size: 13px;
  --ttb-button-line-height: 19.5px;
  --ttb-button-padding-y: 5px;
  --ttb-button-padding-x: 13px;
}

:is(.btn, input[type="button"], input[type="submit"], input[type="reset"]) {
  padding: var(--ttb-button-padding-y) var(--ttb-button-padding-x);
  font-size: var(--ttb-button-font-size);
  line-height: var(--ttb-button-line-height);
}

.list_category-wrapper .category_wrapper-right .topic-headding > .topic-title {
  min-height: 50px;
  margin-bottom: 20px;
}

.list_category-wrapper
  .category_wrapper-right
  .topic-headding
  > .topic-title
  > h3 {
  color: #333333 !important;
  font-size: 24px !important;
  font-weight: 700;
  line-height: 30px;
}

@media (min-width: 992px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom {
    min-height: 0;
    padding: var(--ttb-button-padding-y) var(--ttb-button-padding-x);
    border: 1px solid #b8b8b8;
    border-radius: 4px;
    background: #ffffff;
    color: #8c8c8c;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: var(--ttb-button-font-size);
    font-weight: 400;
    line-height: var(--ttb-button-line-height);
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom:hover,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom.active,
  .list_category-wrapper
    .category_wrapper-right
    .nav.nav-pills:not(:has(.nav-custom.active))
    .nav-item:first-child
    .nav-custom {
    border-color: #12a751;
    background: #12a751;
    color: #ffffff;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select {
    width: 134px;
    min-width: 134px;
    max-width: 134px;
    height: 33px;
    padding: 5px 20px;
    border: 1px solid #a9a9a9;
    border-radius: 4px;
    background-color: #ffffff;
    color: #777777;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
  }

  /* All desktop book/combo carousels share the same content width as their headers. */
  .section.section-dt:has(.book-carousel-5) > .container,
  .section.section-dt:has(.collection-slider) > .container {
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media (max-width: 991.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title
    > h3 {
    font-size: 20px !important;
    line-height: 28px;
  }
}
@media (min-width: 992px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom {
    font-size: var(--ttb-button-font-size) !important;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .box-filter,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter {
    width: 134px;
  }
}

/* Flash Sale responsive carousel: one card per step, moving left to right. */
@keyframes ttb-flash-sale-card-step {
  0%,
  18% {
    transform: translate3d(calc(-1 * var(--ttb-flash-sale-step)), 0, 0);
  }

  25%,
  43% {
    transform: translate3d(0, 0, 0);
  }

  50%,
  68% {
    transform: translate3d(var(--ttb-flash-sale-step), 0, 0);
  }

  75%,
  99% {
    transform: translate3d(calc(2 * var(--ttb-flash-sale-step)), 0, 0);
  }

  99.01%,
  100% {
    transform: translate3d(calc(-1 * var(--ttb-flash-sale-step)), 0, 0);
  }
}

@media (max-width: 991.98px) {
  .home_page .section.section-mb.book-good-mb {
    --ttb-flash-sale-gap: 16px;
    --ttb-flash-sale-card-width: calc(40% - 10px);
    --ttb-flash-sale-step: calc(100% + var(--ttb-flash-sale-gap));
  }

  .home_page .section.section-mb.book-good-mb > .HeadingCard,
  .home_page .section.section-mb.book-good-mb > .book_content {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }

  .home_page .section.section-mb.book-good-mb > .book_content,
  .home_page .section.section-mb.book-good-mb .b_content {
    overflow: hidden;
  }

  .home_page .section.section-mb.book-good-mb > .book_content {
    border-radius: 12px;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .home_page .section.section-mb.book-good-mb .b_content,
  .home_page .section.section-mb.book-good-mb .listproduct {
    box-sizing: border-box;
    width: 100%;
  }

  .home_page .section.section-mb.book-good-mb .b_content {
    padding-right: 24px;
    padding-left: 24px;
  }

  .home_page .section.section-mb.book-good-mb .listproduct {
    position: relative;
    display: flex;
    max-width: none;
    overflow: visible;
  }

  .home_page .section.section-mb.book-good-mb .listproduct > li {
    position: relative;
    display: block;
    width: var(--ttb-flash-sale-card-width);
    min-width: 0;
  }
}

@media (max-width: 575.98px) {
  .home_page .section.section-mb.book-good-mb {
    --ttb-flash-sale-card-width: calc((100% - var(--ttb-flash-sale-gap)) / 2);
  }

  .home_page .section.section-mb.book-good-mb .b_content {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* Product category grid: equal row/column rhythm and two columns from 360px. */
.home_page .Category.category-product .Category-wrapper {
  --ttb-category-card-gap: 20px;
  row-gap: var(--ttb-category-card-gap);
  column-gap: var(--ttb-category-card-gap);
}

.home_page
  .Category.category-product
  .Category-wrapper
  > .Category-wrapper-item {
  margin-bottom: 0 !important;
}

@media (max-width: 767.98px) {
  .home_page .Category.category-product .Category-wrapper {
    --ttb-category-card-gap: 16px;
  }
}

@media (min-width: 360px) and (max-width: 767.98px) {
  .home_page
    .Category.category-product
    .Category-wrapper
    > .Category-wrapper-item {
    flex: 0 0 calc((100% - var(--ttb-category-card-gap)) / 2);
    max-width: calc((100% - var(--ttb-category-card-gap)) / 2);
  }
}

/* Product category card titles scale with small mobile viewports. */
@media (max-width: 767.98px) {
  .home_page .Category.category-product .CardComponent-body-title {
    font-size: clamp(15px, 4.1vw, 16px);
    font-weight: 600;
    line-height: 1.35;
  }
}

/* Author detail: compact Netlify-aligned layout and reliable biography clipping. */
.partner_detail-wrapper {
  background: #ffffff;
}

.partner_detail-wrapper .partner-detail {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  align-items: start;
  gap: 32px;
  padding: 32px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #ffffff;
}

.partner_detail-wrapper .partner-detail_left {
  width: 270px;
  height: auto;
  margin: 0;
}

.partner_detail-wrapper .partner-detail_left-img {
  width: 270px;
  height: 270px;
  border: 1px solid #d7e9dc;
  border-radius: 4px;
  box-shadow: 4px 4px 0 #e8dfca;
  overflow: hidden;
}

.partner_detail-wrapper .partner-detail_left-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.partner_detail-wrapper .partner-detail_right {
  width: 100%;
  min-width: 0;
  height: auto;
  color: #4f4f4f;
}

.partner_detail-wrapper .partner-detail_right-heading {
  margin: 0 0 12px;
  padding: 0 0 8px;
  border-bottom: 2px solid #00ad50;
  color: #333333;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
}

.partner_detail-wrapper .partner-detail_right-list {
  width: 100%;
  margin: 12px 0 0;
}

.partner_detail-wrapper .partner-detail_right-list .list_item {
  width: 100%;
  margin: 0;
}

.partner_detail-wrapper .partner-detail_right-list .list_item-listData {
  width: 100%;
  margin: 0;
  padding: 0;
  color: #4f4f4f;
  line-height: 1.55;
}

.partner_detail-wrapper .partner-detail_right-list .list_item-title,
.partner_detail-wrapper .partner-detail_right-list .listData_item-title {
  color: #333333;
  font-weight: 600;
}

.partner_detail-wrapper .partner-detail_right-list a:not(.load-more-btn) {
  color: #00ad50;
}

/* The source biography contains invalid nested paragraphs. Hide that empty
   generated node and clip the real parsed list while the toggle is active. */
.partner_detail-wrapper .partner-detail_right-list .content-more:empty {
  display: none;
}

.partner_detail-wrapper
  .partner-detail_right-list
  .list_item:has(> .btn_readmore.active)
  > .list_item-listData {
  max-height: 220px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
}

.partner_detail-wrapper
  .partner-detail_right-list
  .list_item:has(> .btn_readmore:not(.active))
  > .list_item-listData {
  max-height: none;
  overflow: visible;
  -webkit-mask-image: none;
  mask-image: none;
}

.partner_detail-wrapper .partner-detail_right-list .btn_readmore {
  display: flex;
  position: static;
  inset: auto;
  transform: none;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: 12px 0 16px;
}

.partner_detail-wrapper
  .partner-detail_right-list
  .btn_readmore
  .load-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  border-radius: 4px;
  background: #00ad50 !important;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  box-shadow: 0 4px 12px rgba(0, 173, 80, 0.18);
}

.partner_detail-wrapper
  .partner-detail_right-list
  .list_item
  + .list_item
  .list_item-listData {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}

.partner_detail-wrapper
  .partner-detail_right-list
  .list_item
  + .list_item
  .listData_item {
  margin: 0;
}

@media (max-width: 991.98px) {
  .partner_detail-wrapper .partner-detail {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding: 24px;
  }

  .partner_detail-wrapper .partner-detail_left {
    width: 220px;
    margin: 0 auto;
  }

  .partner_detail-wrapper .partner-detail_left-img {
    width: 220px;
    height: 220px;
  }

  .partner_detail-wrapper .partner-detail_right {
    margin: 0;
  }
}

@media (max-width: 575.98px) {
  .partner_detail-wrapper {
    padding-top: 16px;
  }

  .partner_detail-wrapper .partner-detail {
    gap: 20px;
    padding: 16px;
  }

  .partner_detail-wrapper .partner-detail_left,
  .partner_detail-wrapper .partner-detail_left-img {
    width: 180px;
  }

  .partner_detail-wrapper .partner-detail_left-img {
    height: 180px;
  }

  .partner_detail-wrapper .partner-detail_right-heading {
    font-size: 20px;
  }

  .partner_detail-wrapper
    .partner-detail_right-list
    .list_item
    + .list_item
    .list_item-listData {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
}

/* Author detail: align information markers and show facts before biography. */
.partner_detail-wrapper .partner-detail_right-list .listData_item {
  list-style-position: inside;
}

.partner_detail-wrapper .partner-detail_right,
.partner_detail-wrapper .partner-detail_right p,
.partner_detail-wrapper .partner-detail_right li,
.partner_detail-wrapper .partner-detail_right .listData_item-content {
  line-height: 1.5;
}

.partner_detail-wrapper .partner-detail_right-list:nth-of-type(2) {
  display: flex;
  flex-direction: column;
}

.partner_detail-wrapper
  .partner-detail_right-list:nth-of-type(2)
  > .list_item:first-child {
  order: 2;
}

.partner_detail-wrapper
  .partner-detail_right-list:nth-of-type(2)
  > .list_item:last-child {
  order: 1;
  margin-bottom: 16px;
}

/* Author portrait: offset outline behind the image, matching the reference. */
.partner_detail-wrapper .partner-detail_left-img {
  position: relative;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  isolation: isolate;
}

.partner_detail-wrapper .partner-detail_left-img::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 14px;
  left: 14px;
  width: 100%;
  height: 100%;
  border: 4px solid #e3d9bd;
  border-radius: 4px;
  background: transparent;
  pointer-events: none;
}

.partner_detail-wrapper .partner-detail_left-img img {
  position: relative;
  z-index: 1;
  border-radius: 0;
  background: #ffffff;
}

@media (max-width: 575.98px) {
  .partner_detail-wrapper .partner-detail_right-heading {
    display: block;
    width: max-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }
}

/* Author page: finish portrait spacing requested before the filter pass. */
.partner_detail-wrapper .partner-detail_left-img img {
  border-radius: 4px;
}

@media (min-width: 992px) {
  .partner_detail-wrapper .partner-detail {
    gap: 64px;
  }
}

/* Author page: reuse the clean All Books filter/list visual language. */
.partner_detail-wrapper .main_left .filter_menu-box {
  padding: 4px 20px 20px;
  border: 0;
  border-radius: 4px;
  outline: 1px solid #e5e7eb;
  outline-offset: -1px;
  background: #ffffff;
  box-shadow: none;
}

.partner_detail-wrapper
  .main_left
  :is(
    .box-classify_title,
    .author-title,
    .box-languages_title,
    .box-price_title
  ) {
  margin: 20px 0 12px;
  padding: 0 0 10px;
  border-bottom: 1px solid #e5e7eb;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

.partner_detail-wrapper .main_left .box-classify_list .list-item_link {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 9px 0;
  border-bottom: 1px solid #f0f1f2;
  color: #4b5563;
  font-size: 14px;
  line-height: 20px;
}

.partner_detail-wrapper .main_left .box-classify_list .list-item_link:hover,
.partner_detail-wrapper .main_left .box-classify_list .list-item_link i {
  color: #14a64e;
}

.partner_detail-wrapper .main_left .box-languages_item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.partner_detail-wrapper .main_left .box-languages_item .item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 8px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #ffffff;
  color: #4b5563;
  font-size: 13px;
  line-height: 18px;
  text-align: center;
  cursor: pointer;
}

.partner_detail-wrapper
  .main_left
  .box-languages_item
  input:checked
  + .item-link,
.partner_detail-wrapper .main_left .box-languages_item .item-link:hover {
  border-color: #14a64e;
  background: #f0fbf4;
  color: #14a64e;
}

.partner_detail-wrapper .main_left .box-price_form {
  padding: 12px;
  border-radius: 7px;
  background: #f0fbf4;
}

.partner_detail-wrapper .main_left .box-price_form .input-control {
  width: 100%;
  height: 40px;
  padding: 8px 12px;
  border: 1px solid #cfd8d3;
  border-radius: 6px;
  background: #ffffff;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  line-height: 22px;
  outline: none;
}

.partner_detail-wrapper .detail_wrapper-right .wrapper_right {
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: #ffffff;
  box-shadow: none;
}

.partner_detail-wrapper .detail_wrapper-right .wrapper_right-tabbar {
  margin-bottom: 32px;
}

.partner_detail-wrapper .detail_wrapper-right .tabbar_headding {
  display: flex;
  align-items: center;
  min-height: 34px;
  margin: 0 0 4px;
  padding: 0;
  border: 0;
}

.partner_detail-wrapper .detail_wrapper-right .tabbar_headding .headding {
  margin: 0;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  text-align: left;
}

.partner_detail-wrapper
  .detail_wrapper-right
  .wrapper_right-tabbar
  .tabbar
  > .row {
  min-height: 54px;
  align-items: center;
  margin: 0;
  padding: 0 0 16px;
  border-bottom: 1px solid #d7e9dc;
}

.partner_detail-wrapper .detail_wrapper-right .nav.nav-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 0;
}

.partner_detail-wrapper .detail_wrapper-right .nav-item-ct {
  margin-right: 0;
}

.partner_detail-wrapper .detail_wrapper-right .nav-custom {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: var(--ttb-button-padding-y) var(--ttb-button-padding-x);
  border: 1px solid #b8b8b8;
  border-radius: 4px;
  background: #ffffff;
  color: #8c8c8c;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: var(--ttb-button-font-size);
  font-weight: 400;
  line-height: var(--ttb-button-line-height);
  cursor: pointer;
}

.partner_detail-wrapper .detail_wrapper-right .nav-custom:hover,
.partner_detail-wrapper .detail_wrapper-right .nav-custom.active {
  border-color: #12a751;
  background: #12a751;
  color: #ffffff;
}

.partner_detail-wrapper .detail_wrapper-right .select-filter select {
  width: 134px;
  min-width: 134px;
  max-width: 134px;
  height: 33px;
  padding: 5px 20px;
  border: 1px solid #a9a9a9;
  border-radius: 4px;
  background-color: #ffffff;
  color: #777777;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}

.partner_detail-wrapper .detail_wrapper-right .wrapper_right-book {
  margin-top: 0;
}

@media (min-width: 992px) {
  .partner_detail-wrapper > .container > .row:nth-of-type(2) {
    padding-top: 32px;
    padding-bottom: 48px;
  }

  .partner_detail-wrapper .main_left .filter_menu-box {
    position: sticky;
    top: 16px;
  }
}

@media (max-width: 991.98px) {
  .partner_detail-wrapper > .container > .row:nth-of-type(2) {
    padding-top: 24px;
    padding-bottom: 32px;
  }

  .partner_detail-wrapper .detail_wrapper-right .wrapper_right-tabbar {
    margin-bottom: 28px;
  }

  .partner_detail-wrapper .detail_wrapper-right .tabbar_headding {
    justify-content: space-between;
  }

  .partner_detail-wrapper .detail_wrapper-right .tabbar_headding .btn_filter {
    display: inline-flex;
    position: static;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 74px;
    min-height: 40px;
    margin-left: auto;
    padding: 7px 11px;
    border: 1px solid #14a64e;
    border-radius: 6px;
    background: #ffffff;
    color: #14a64e;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
  }

  .partner_detail-wrapper
    .detail_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row {
    row-gap: 14px;
  }

  .partner_detail-wrapper .detail_wrapper-right .wrapper_right-tabbar .col-lg-8,
  .partner_detail-wrapper
    .detail_wrapper-right
    .wrapper_right-tabbar
    .col-lg-4 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .partner_detail-wrapper .detail_wrapper-right .box-filter,
  .partner_detail-wrapper .detail_wrapper-right .select-filter,
  .partner_detail-wrapper .detail_wrapper-right .select-filter select {
    float: none;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}

@media (max-width: 767.98px) {
  .partner_detail-wrapper > .container > .row:nth-of-type(2) {
    padding-top: 20px;
    padding-bottom: 24px;
  }

  .partner_detail-wrapper .detail_wrapper-right .tabbar_headding .headding {
    font-size: 15px;
  }
}

/* Flash Sale desktop: let the first/last cover edge bisect the nav buttons. */
@media (min-width: 992px) {
  .home_page
    .section.section-dt.book-good
    .book-carousel-5
    .owl-nav
    button.owl-prev,
  .home_page
    .section.section-dt.book-good
    .book-carousel-5
    .owl-nav
    button.owl-next {
    top: calc(45px + 15cqi);
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5
    .owl-nav
    button.owl-prev {
    left: 43.5px;
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5
    .owl-nav
    button.owl-next {
    right: 43.5px;
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5:has(.owl-stage > .owl-item:first-child:last-child)
    .owl-nav
    button.owl-next {
    right: auto;
    left: calc(20cqi + 7.5px);
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5:has(.owl-stage > .owl-item:nth-child(2):last-child)
    .owl-nav
    button.owl-next {
    right: auto;
    left: calc(40cqi + 7.5px);
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5:has(.owl-stage > .owl-item:nth-child(3):last-child)
    .owl-nav
    button.owl-next {
    right: auto;
    left: calc(60cqi + 7.5px);
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5:has(.owl-stage > .owl-item:nth-child(4):last-child)
    .owl-nav
    button.owl-next {
    right: auto;
    left: calc(80cqi + 7.5px);
  }
}

/* Functional carousel controls for homepage authors and key partners. */
.home_page
  :is(
    .author-home .author_box,
    .key-partner .partner_list
  ).ttb-home-static-carousel {
  display: block;
  width: 100%;
  overflow: visible;
}

.home_page
  :is(
    .author-home .author_box,
    .key-partner .partner_list
  ).ttb-home-static-carousel
  .owl-stage-outer {
  overflow: hidden;
}

.home_page .author-home .author_box.ttb-home-static-carousel .author_list {
  width: 100%;
  max-width: none;
}

.home_page
  .key-partner
  .partner_list.ttb-home-static-carousel
  .partner_list-link {
  width: 100%;
  max-width: none;
}

.home_page
  :is(
    .author-home .author_box,
    .key-partner .partner_list
  ).ttb-home-static-carousel
  .owl-nav
  button.owl-prev,
.home_page
  :is(
    .author-home .author_box,
    .key-partner .partner_list
  ).ttb-home-static-carousel
  .owl-nav
  button.owl-next {
  top: 50%;
  width: 45px;
  height: 45px;
  transform: translateY(-50%);
}

.home_page
  :is(
    .author-home .author_box,
    .key-partner .partner_list
  ).ttb-home-static-carousel
  .owl-nav
  button.owl-prev {
  left: -22.5px;
}

.home_page
  :is(
    .author-home .author_box,
    .key-partner .partner_list
  ).ttb-home-static-carousel
  .owl-nav
  button.owl-next {
  right: -22.5px;
}

.home_page
  :is(
    .author-home .author_box,
    .key-partner .partner_list
  ).ttb-home-static-carousel
  .owl-nav
  button.disabled {
  display: flex;
  opacity: 0.45;
}

@media (max-width: 991.98px) {
  .home_page .key-partner .partner_list.ttb-home-static-carousel {
    overflow: visible;
    scroll-snap-type: none;
  }

  .home_page
    :is(
      .author-home .author_box,
      .key-partner .partner_list
    ).ttb-home-static-carousel
    .owl-nav
    button.owl-prev {
    left: -10px;
  }

  .home_page
    :is(
      .author-home .author_box,
      .key-partner .partner_list
    ).ttb-home-static-carousel
    .owl-nav
    button.owl-next {
    right: -10px;
  }
}

.home_page
  :is(
    .author-home .author_box,
    .key-partner .partner_list
  ).ttb-home-static-carousel
  .owl-nav.disabled {
  display: block;
}

/* Author detail catalog: complete visual parity with category result pages. */
.partner_detail-wrapper .main_left .box-languages_item .language {
  width: 100%;
  min-width: 0;
}

.partner_detail-wrapper .main_left .box-languages_item .item-link {
  width: 100%;
  box-sizing: border-box;
  line-height: 20px;
}

.partner_detail-wrapper .detail_wrapper-right .tabbar_headding {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: 100%;
  min-height: 50px;
  margin: 0 0 8px;
  align-items: center;
}

.partner_detail-wrapper .detail_wrapper-right .tabbar_headding .headding {
  display: block;
  width: max-content;
  max-width: 100%;
  color: #333333;
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
  text-align: left;
}

@media (min-width: 992px) {
  .partner_detail-wrapper .main_left .filter_menu-box {
    width: 310px;
    max-width: 100%;
  }
}

@media (max-width: 991.98px) {
  .partner_detail-wrapper .detail_wrapper-right .tabbar_headding {
    min-height: 44px;
    margin-bottom: 8px;
  }

  .partner_detail-wrapper .detail_wrapper-right .tabbar_headding .headding {
    font-size: 20px;
    line-height: 28px;
  }
}

@media (max-width: 767.98px) {
  .partner_detail-wrapper .detail_wrapper-right .tabbar_headding .headding {
    font-size: 16px;
    line-height: 24px;
  }
}

/* Flash Sale desktop: keep Next aligned to the hypothetical fifth cover. */
@media (min-width: 992px) {
  .home_page
    .section.section-dt.book-good
    .book-carousel-5.book-carousel-5.book-carousel-5:has(.owl-stage > .owl-item)
    .owl-nav
    button.owl-next {
    right: 43.5px;
    left: auto;
  }
}

/* Flash Sale desktop: halve inner spacing without changing card width. */
@media (min-width: 992px) {
  .home_page .section.section-dt.book-good .book-carousel-5 {
    padding: 30px 24px;
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5
    .owl-nav
    button.owl-prev,
  .home_page
    .section.section-dt.book-good
    .book-carousel-5
    .owl-nav
    button.owl-next {
    top: calc(15px + 15cqi);
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5
    .owl-nav
    button.owl-prev {
    left: 19.5px;
  }

  .home_page
    .section.section-dt.book-good
    .book-carousel-5.book-carousel-5.book-carousel-5:has(.owl-stage > .owl-item)
    .owl-nav
    button.owl-next {
    right: 19.5px;
    left: auto;
  }
}

/* AUTHOR DETAIL — keep the sort arrow inside the native select control */
.partner_detail-wrapper .detail_wrapper-right .select-filter {
  width: 169px;
  min-width: 169px;
  max-width: 169px;
}

.partner_detail-wrapper .detail_wrapper-right .select-filter select {
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 5px 38px 5px 12px;
}

@media (max-width: 991.98px) {
  .partner_detail-wrapper .detail_wrapper-right .select-filter {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}

/* CART — empty state visual parity */
.cart-none-book-dk,
.cart-none-book-dk > .container,
.cart-none-book-dk .cart-none-book-dk_content {
  background-color: #ffffff;
}

.cart-none-book-dk .cart-none-book-dk_content-img {
  width: 180px;
  height: 180px;
  margin-right: auto;
  margin-left: auto;
  background: url("/content/assets/images/gio-hang.svg") center / contain
    no-repeat;
}

.cart-none-book-dk .cart-none-book-dk_content-img > svg {
  display: none;
}

.cart-none-book-dk .cart-none-book-dk_content-text {
  color: #666666;
}

@media (max-width: 767.98px) {
  .cart-none-book-dk .cart-none-book-dk_content-img {
    width: 144px;
    height: 144px;
  }

  .cart-none-book-dk .cart-none-book-dk_content-text {
    padding-right: 16px;
    padding-left: 16px;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
  }
}

/* DESKTOP CATEGORY MENU — lifted panel and 25% content scrim */
@media (min-width: 992px) {
  .menu_component {
    position: sticky;
    top: 72px;
    z-index: 1000;
  }

  .menu_component .menu_component_wrap {
    position: relative;
    z-index: 2;
  }

  .menu_component:has(.menu_category:hover)::after,
  .menu_component:has(.menu_category:focus-within)::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 100%;
    right: 0;
    left: 0;
    height: calc(100vh - 124px);
    background: rgba(0, 0, 0, 0.25);
    pointer-events: none;
  }

  .menu_component .menu_category:hover > .dropdown-menu,
  .menu_component .menu_category:focus-within > .dropdown-menu {
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.2);
  }
}

/* CART — remove Bootstrap's forced spacer before the subscribe/footer area */
.wrapper .cart-none-book-dk.mb-4 {
  margin-bottom: 0 !important;
}

/* The last visible carousel has a Bootstrap margin that collapses outside its parent. */
.wrapper .cart-none-book-dk > .container > .section.book-hot-home.mb-3,
.wrapper .cart-none-book-dk > .container > .section.book-hot-home-mb.mb-4 {
  margin-bottom: 0 !important;
}

/* NEWS DETAIL — Netlify visual system */
.termsofuse {
  margin-bottom: 0;
  padding-bottom: 76px;
  background: #ffffff;
  color: #3e3e3e;
}

.termsofuse > .container > .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 42px;
  align-items: start;
  margin: 44px 0 0;
}

.termsofuse > .container > .row > .col-lg-9,
.termsofuse > .container > .row > .col-lg-3 {
  width: auto;
  max-width: none;
  padding: 0;
}

.termsofuse .termsofuse_details {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.termsofuse .termsofuse_details .termsofuse_details-title h1.font-time {
  margin: 0 0 16px;
  color: #272727;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
}

.termsofuse .termsofuse_details-content {
  color: #3e3e3e;
  font-size: 16px;
  line-height: 1.75;
}

.termsofuse .termsofuse_details-content p {
  margin: 0 0 18px;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.termsofuse .termsofuse_details-content h2,
.termsofuse .termsofuse_details-content h3,
.termsofuse .termsofuse_details-content h4 {
  margin: 30px 0 12px;
  color: #2d2d2d;
  font-family: "Be Vietnam Pro", sans-serif;
  font-weight: 700;
  line-height: 1.35;
}

.termsofuse .termsofuse_details-content h2 {
  font-size: 24px;
}

.termsofuse .termsofuse_details-content h3 {
  font-size: 20px;
}

.termsofuse .termsofuse_details-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 22px auto;
  border-radius: 3px;
}

.termsofuse .termsofuse_details-content a {
  color: #0eaa50;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.termsofuse .sticky {
  position: sticky;
  top: 20px;
}

.termsofuse .menu-topic,
.termsofuse .news {
  width: 100%;
  margin: 0 0 24px;
  padding: 18px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: none;
}

.termsofuse .menu-topic_title,
.termsofuse .new-feed_heading {
  display: block;
  margin: 0;
  padding: 0 0 12px;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
  border-bottom: 1px solid #e5e7eb;
}

.termsofuse .menu-topic_list {
  margin: 0;
  padding: 0;
}

.termsofuse .menu-topic_list-item {
  min-height: 0;
  border-bottom: 1px solid #eeeeee;
}

.termsofuse .menu-topic_list-item:last-child {
  border-bottom: 0;
}

.termsofuse .menu-topic_list-item .item_links {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 0;
  color: #4f4f4f;
  font-size: 14px;
  line-height: 1.45;
}

.termsofuse .menu-topic_list-item .item_links:hover {
  color: #0eaa50;
}

.termsofuse .menu-topic_list-item .item_links-icon {
  display: inline-flex;
  flex: 0 0 19px;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

.termsofuse .news_list {
  margin: 0;
  padding: 0;
}

.termsofuse .news_list-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid #eeeeee;
}

.termsofuse .news_list-item:last-child {
  border-bottom: 0;
}

.termsofuse .news_list-item .item_link {
  width: 88px;
  height: 64px;
  margin: 0;
  overflow: hidden;
  border-radius: 4px;
}

.termsofuse .news_list-item .item_link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.termsofuse .news_list-item .item_title {
  align-self: center;
  min-width: 0;
}

.termsofuse .news_list-item .item_title .news_title {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #333333;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.termsofuse .news_list-item .item_title .news_content {
  display: none;
}

.termsofuse .new-feed_view {
  display: block;
  margin-top: 14px;
  color: #0eaa50;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  text-align: right;
}

@media (max-width: 991.98px) {
  .termsofuse {
    padding-bottom: 48px;
  }

  .termsofuse > .container > .row {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    margin-top: 32px;
  }

  .termsofuse .sticky {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .termsofuse {
    padding-bottom: 32px;
  }

  .termsofuse > .container > .row {
    gap: 24px;
    margin-top: 24px;
  }

  .termsofuse .termsofuse_details {
    padding: 0;
  }

  .termsofuse .termsofuse_details .termsofuse_details-title h1.font-time {
    margin-bottom: 14px;
    font-size: 26px;
    line-height: 1.25;
  }

  .termsofuse .termsofuse_details-content {
    font-size: 16px;
    line-height: 1.65;
  }

  .termsofuse .termsofuse_details-content h2 {
    font-size: 21px;
  }

  .termsofuse .menu-topic,
  .termsofuse .news {
    padding: 16px;
  }

  .termsofuse .menu-topic_title,
  .termsofuse .new-feed_heading {
    font-size: 18px;
  }
}

/* News index: mirror the compact Netlify list system without affecting news detail pages. */
.main_list-news {
  margin-bottom: 0 !important;
  padding-bottom: 76px;
  background: #ffffff;
  color: #4a4a4a;
}

.main_list-news .category_wrapper-breadcrum {
  margin-bottom: 18px;
}

.main_list-news .list_news > .container > .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  align-items: start;
  gap: 36px;
  margin: 0;
}

.main_list-news .list_news > .container > .row > [class*="col-"] {
  width: auto;
  max-width: none;
  padding: 0;
}

.main_list-news .list_news-content {
  padding: 0 !important;
  border-radius: 0;
  background: transparent;
}

.main_list-news .news-content_book {
  padding: 0 !important;
}

.main_list-news .content_book-list {
  margin: 0 0 28px;
  padding: 0 0 28px;
  border-bottom: 1px solid #e1e1e1;
}

.main_list-news .content_book-list > .row {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  margin: 0;
}

.main_list-news .content_book-list > .row > [class*="col-"] {
  width: auto;
  max-width: none;
  margin: 0 !important;
  padding: 0;
}

.main_list-news .book-left {
  display: block;
  width: 260px;
  height: 150px;
  overflow: hidden;
  border-radius: 4px;
  background: #f3f3f3;
}

.main_list-news .book-left img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main_list-news .book-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 150px;
  padding: 0;
}

.main_list-news .book-right > a {
  color: #333333;
}

.main_list-news .book-right > a:hover,
.main_list-news .book-right > a:focus-visible {
  color: #12a751;
  text-decoration: none;
}

.main_list-news .text_description {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: inherit;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.main_list-news .book-right_text {
  display: -webkit-box;
  margin: 12px 0 0;
  padding: 0 !important;
  overflow: hidden;
  color: #777777;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.component_pagination {
  margin-top: 46px;
}

.component_pagination .pagination_list {
  display: flex;
  justify-content: center;
  gap: 4px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.component_pagination .pagination__list-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.component_pagination .pagination__list-btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid #14a64e !important;
  border-radius: 50%;
  background: #ffffff !important;
  color: #14a64e !important;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.component_pagination .pagination__list-btn.active a,
.component_pagination .pagination__list-btn a:hover {
  border-color: #14a64e !important;
  background: #14a64e !important;
  color: #ffffff !important;
  text-decoration: none;
}

.component_pagination .pagination__list-btn.active {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.component_pagination .pagination__list-btn a i {
  color: inherit !important;
}

.component_pagination .pagination__list-btn.disabled a {
  border-color: #d1d5db;
  background: #f3f4f6;
  color: #9ca3af;
  cursor: not-allowed;
  pointer-events: none;
}

.main_list-news .sticky {
  position: sticky;
  top: 20px;
  display: block;
  margin: 0;
}

.main_list-news .menu-topic,
.main_list-news .news {
  width: 100%;
  margin: 0 0 24px;
  padding: 18px;
  border: 1px solid #dedede;
  border-radius: 5px;
  background: #ffffff;
}

.main_list-news .menu-topic_title,
.main_list-news .new-feed_heading {
  display: block;
  margin: 0 0 16px;
  padding: 0 0 16px;
  border-bottom: 1px solid #e5e5e5;
  color: #333333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.main_list-news .menu-topic_list-item {
  border-bottom: 1px solid #ededed;
}

.main_list-news .menu-topic_list-item .item_links {
  min-height: 44px;
  padding: 10px 0 !important;
  color: #555555;
}

.main_list-news .news_list-item {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 12px;
  margin: 0 0 16px;
  padding: 0 0 16px;
  border-bottom: 1px solid #ededed;
}

.main_list-news .news_list-item .item_link,
.main_list-news .news_list-item .item_link img {
  display: block;
  width: 80px;
  height: 56px;
  border-radius: 3px;
  object-fit: cover;
}

.main_list-news .news_list-item .item_title {
  min-width: 0;
  color: #555555;
}

.main_list-news .news_list-item .news_title {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.main_list-news .news_list-item .news_content {
  display: none;
}

.main_list-news .new-feed_view {
  display: block;
  color: #ff5959;
  font-size: 13px;
  text-align: center;
}

/* Book detail: publication properties use equal label/value columns and row banding. */
@media (min-width: 768px) {
  .section-chi-tiet-sach .details-table-list-wrapper table {
    table-layout: fixed;
  }

  .section-chi-tiet-sach .details-table-list-wrapper td:nth-child(1),
  .section-chi-tiet-sach .details-table-list-wrapper td:nth-child(3) {
    width: 20% !important;
    white-space: nowrap;
  }

  .section-chi-tiet-sach .details-table-list-wrapper td:nth-child(2),
  .section-chi-tiet-sach .details-table-list-wrapper td:nth-child(4) {
    width: 30%;
  }
}

.section-chi-tiet-sach .details-table-list-wrapper td {
  background: #ffffff;
}

.section-chi-tiet-sach .details-table-list-wrapper tr:nth-child(odd) td {
  background: #f8f9f8;
}

.section-chi-tiet-sach .details-table-list-wrapper td:nth-child(odd) {
  color: #4f4f4f;
  font-weight: 600;
}

/* Book detail: related books follow the shared five-column single-book carousel. */
.section-chi-tiet-sach .section:is(.section-dt, .section-mb) {
  margin-bottom: 0;
  background: #ffffff;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .book_content-title {
  min-height: 65px;
  margin-bottom: 24px;
  padding-bottom: 0;
  border-bottom: 1px solid #d7e9dc;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .book_content-title
  h3 {
  display: flex;
  align-items: center;
  min-height: 65px;
  margin: 0;
  padding: 16px 0;
  border-bottom: 3px solid #14a64e;
  color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  text-transform: uppercase;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .book_content-title
  .button_item
  a {
  color: #02010e;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .book_content-content {
  container-type: inline-size;
  padding: 0 0 54px;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .book_content-content
  .owl-stage {
  width: max-content !important;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .book_content-content
  .owl-item {
  width: 20cqi !important;
  margin-right: 0 !important;
  padding-right: 18px;
  padding-left: 18px;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .book_content-content
  .owl-nav.disabled {
  display: block;
}

.section-chi-tiet-sach .section:is(.section-dt, .section-mb) .content_item,
.section-chi-tiet-sach .section:is(.section-dt, .section-mb) .content_item > a {
  width: 100%;
  max-width: 100%;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .content_item
  .item {
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .bg-book-search.bg-book-category.bg-layout {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 6px;
  background-position: center;
  background-size: cover;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .bg-book-search.bg-book-category.bg-layout::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    rgba(2, 0, 36, 0.39) 0%,
    rgba(0, 0, 0, 0.5) 1.83%,
    rgba(255, 255, 255, 0.36) 3.21%,
    rgba(0, 0, 0, 0.33) 4.72%,
    rgba(247, 254, 255, 0.28) 9.84%,
    rgba(255, 255, 255, 0) 47.85%
  );
  content: "";
  pointer-events: none;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .content_item-infor {
  min-height: 104px;
  margin-top: 16px;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .item_infor-title
  h6 {
  display: -webkit-box;
  min-height: 48px;
  margin: 0 0 15px !important;
  overflow: hidden;
  color: #333333;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.section-chi-tiet-sach .section:is(.section-dt, .section-mb) .item_infor-vote,
.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .item_infor-category {
  display: none;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .item_infor-price
  span {
  color: var(--price);
  font-size: 18px;
  font-weight: 700;
  line-height: 21.6px;
}

.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .book_content-content
  .owl-nav
  button {
  top: calc(15cqi - 3px);
}

@media (max-width: 991.98px) {
  .main_list-news {
    padding-bottom: 48px;
  }

  .main_list-news .list_news > .container > .row {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .main_list-news .sticky {
    position: static;
  }

  .main_list-news .content_book-list > .row {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .main_list-news .book-left {
    width: 220px;
    height: 132px;
  }

  .main_list-news .book-right {
    min-height: 132px;
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .book_content-content
    .owl-item {
    width: 25cqi !important;
    padding-right: 12px;
    padding-left: 12px;
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .book_content-content
    .owl-nav
    button {
    top: calc(18.75cqi - 3px);
  }
}

@media (max-width: 575.98px) {
  .main_list-news {
    padding-bottom: 32px;
  }

  .main_list-news .category_wrapper-breadcrum {
    margin-bottom: 16px;
  }

  .main_list-news .list_news > .container > .row {
    gap: 24px;
  }

  .main_list-news .content_book-list {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .main_list-news .content_book-list > .row {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
  }

  .main_list-news .book-left {
    width: 112px;
    height: 78px;
  }

  .main_list-news .book-right {
    min-height: 78px;
  }

  .main_list-news .text_description {
    font-size: 15px !important;
    line-height: 1.4;
  }

  .main_list-news .book-right_text {
    margin-top: 8px;
    font-size: 13px;
    -webkit-line-clamp: 2;
  }

  .main_list-news .menu-topic,
  .main_list-news .news {
    padding: 16px;
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .book_content-title {
    min-height: 48px;
    margin-bottom: 24px;
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .book_content-title
    h3 {
    min-height: 48px;
    padding: 12px 0;
    font-size: 16px;
    line-height: 24px;
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .book_content-content {
    padding-bottom: 32px;
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .book_content-content
    .owl-item {
    width: 50cqi !important;
    padding-right: 8px;
    padding-left: 8px;
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .book_content-content
    .owl-nav
    button {
    top: calc(37.5cqi - 3px);
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .item_infor-title
    h6 {
    min-height: 44px;
    font-size: 14px;
    line-height: 22px;
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .item_infor-price
    span {
    font-size: 14px;
    line-height: 22px;
  }
}

/* Refinement after computed-style QA. */
.main_list-news .list_news-content .news-content_book .content_book-list {
  padding-top: 0;
  padding-bottom: 28px;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .section-chi-tiet-sach .details-table-list-wrapper td:nth-child(1),
  .section-chi-tiet-sach .details-table-list-wrapper td:nth-child(2),
  .section-chi-tiet-sach .details-table-list-wrapper td:nth-child(3),
  .section-chi-tiet-sach .details-table-list-wrapper td:nth-child(4) {
    width: 25% !important;
  }
}

@media (max-width: 575.98px) {
  .main_list-news .list_news-content .news-content_book .content_book-list {
    padding-bottom: 20px;
  }
}

/* News detail — category label and coordinated sticky sidebar. */
/*.termsofuse .termsofuse_details-title::before {*/
/*  display: block;*/
/*  width: max-content;*/
/*  margin: 0 0 12px;*/
/*  color: #0eaa50;*/
/*  content: "TIN TỨC";*/
/*  font-family: "Be Vietnam Pro", sans-serif;*/
/*  font-size: 14px;*/
/*  font-weight: 700;*/
/*  line-height: 1.4;*/
/*  text-transform: uppercase;*/
/*}*/

@media (min-width: 992px) {
  .termsofuse > .container > .row > .col-lg-3,
  .main_list-news .list_news > .container > .row > .col-lg-3 {
    align-self: stretch;
  }

  .termsofuse .sticky,
  .main_list-news .sticky {
    position: sticky;
    top: 24px;
    z-index: 2;
  }
}

@media (max-width: 767.98px) {
  .termsofuse .termsofuse_details-title::before {
    margin-bottom: 8px;
    font-size: 12px;
  }
}

/* Checkout combo — Netlify-inspired, scoped to the checkout component. */
.section-checkout {
  background: #fff;
  padding: 24px 0 48px;
}

.section-checkout .section-checkout_content {
  margin: 0;
}

.section-checkout .section-checkout_content > .row {
  align-items: flex-start;
  row-gap: 24px;
}

.section-checkout .section-checkout_left,
.section-checkout .section-checkout_right-content {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
}

.section-checkout .section-checkout_left {
  padding: 24px;
}

.section-checkout .section-checkout_left form {
  padding: 0;
}

.section-checkout .title {
  margin: 0 0 18px;
  padding: 0 0 12px;
  border-bottom: 1px solid #e5e7eb;
  color: #333;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}

.section-checkout .payment-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 220px));
  gap: 16px;
  align-items: stretch;
}

.section-checkout .paymentMethod {
  display: block;
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  flex: none;
  cursor: pointer;
}

.section-checkout .paymentMethod .method {
  position: relative;
  display: flex;
  min-height: 148px;
  height: 100%;
  padding: 18px 14px 16px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  border: 1px solid #d9dde2;
  border-radius: 5px;
  background: #fff;
  text-align: center;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.section-checkout .paymentMethod:hover .method {
  border-color: #00ad50;
  box-shadow: 0 6px 18px rgba(0, 173, 80, 0.1);
  transform: translateY(-1px);
}

.section-checkout .paymentMethod .method.active {
  border-color: #00ad50;
  box-shadow: 0 0 0 1px rgba(0, 173, 80, 0.08);
}

.section-checkout .paymentMethod .icon {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  flex: 0 0 52px;
}

.section-checkout .paymentMethod .icon img {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.section-checkout .paymentMethod .text h4 {
  margin: 0 0 5px;
  color: #333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.section-checkout .paymentMethod .text span {
  display: block;
  color: #7b8087;
  font-size: 14px;
  line-height: 1.45;
}

.section-checkout .paymentMethod .tag {
  position: absolute;
  top: -11px;
  right: -11px;
  display: none;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #00ad50;
  color: #fff;
  font-size: 12px;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.12);
}

.section-checkout .paymentMethod .method.active .tag {
  display: flex;
}

.section-checkout .info-user {
  margin-top: 28px;
}

.section-checkout .info-user ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
}

.section-checkout .info-user li {
  min-width: 0;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #e1e4e8;
  border-radius: 4px;
  background: #fff;
  color: #4d535a;
  font-size: 15px;
  line-height: 1.4;
}

.section-checkout .info-user li:first-child {
  grid-column: 1 / -1;
}

.section-checkout .info-user li:nth-child(2),
.section-checkout .info-user li:nth-child(3) {
  display: none;
}

.section-checkout .info-user li span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
}

.section-checkout .info-user li i {
  width: 18px;
  flex: 0 0 18px;
  color: #a2a8af;
  text-align: center;
}

.section-checkout .section-checkout_right {
  position: sticky;
  top: 16px;
}

.section-checkout .section-checkout_right-content {
  position: relative;
  overflow: hidden;
  padding: 22px;
  box-shadow: 0 8px 26px rgba(23, 31, 42, 0.06);
}

.section-checkout .section-checkout_right-content::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 8px;
  background: #d7d7d7;
}

.section-checkout .section-checkout_right-list {
  margin: 0;
  padding: 14px 0 0;
}

.section-checkout .section-checkout_right-item {
  display: flex;
  min-height: 41px;
  margin: 0;
  padding: 10px 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #eceef0;
  color: #4d535a;
  font-size: 15px;
  line-height: 1.4;
}

.section-checkout .section-checkout_right-item b {
  color: #444;
  font-weight: 600;
}

.section-checkout .section-checkout_right-item > span {
  color: #333;
  text-align: right;
}

.section-checkout .section-checkout_right-item .discount {
  color: #00a94f;
}

.section-checkout .section-checkout_right-item.deliver-info {
  display: block;
  min-height: 0;
  margin: 10px 0 4px;
  padding: 10px 12px;
  border: 1px solid #f0d885;
  border-radius: 4px;
  background: #fffdf4;
  color: #6c6347;
  font-size: 13px;
  text-align: center;
}

.section-checkout .section-checkout_right-item--money {
  margin-top: 4px;
  padding: 16px 0;
  border-top: 1px solid #e2e4e7;
  border-bottom: 0;
}

.section-checkout .section-checkout_right-item--money .money {
  color: #ff3038;
  font-size: 24px;
  font-weight: 700;
}

.section-checkout .desc-btn {
  padding-top: 12px;
}

.section-checkout #btn-confirm-payment {
  min-height: 48px;
  padding: 12px 20px;
  border: 0;
  border-radius: 4px;
  background: #ff3038;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  box-shadow: none;
}

.section-checkout #btn-confirm-payment:hover {
  background: #e9272f;
}

.section-checkout .bill-note {
  margin-top: 14px;
  padding: 0 10px;
  color: #747a81;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.section-checkout .bill-note a,
.section-checkout .bill-note span {
  color: inherit;
}

/* Override the legacy checkout selectors without stacking !important rules. */
.section-checkout .section-checkout_left .payment-group .paymentMethod {
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  flex: none;
}

.section-checkout .section-checkout_left .payment-group .paymentMethod .method {
  display: flex;
  min-height: 148px;
  height: 100%;
  padding: 18px 14px 16px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  border: 1px solid #d9dde2;
  text-align: center;
}

.section-checkout
  .section-checkout_left
  .payment-group
  .paymentMethod
  .method.active {
  border-color: #00ad50;
}

.section-checkout
  .section-checkout_left
  .payment-group
  .paymentMethod
  .method
  .icon {
  width: 52px;
  height: 52px;
  margin: 0;
}

.section-checkout
  .section-checkout_left
  .payment-group
  .paymentMethod
  .method
  .text {
  text-align: center;
}
@media (max-width: 991.98px) {
  .section-checkout {
    padding: 18px 0 32px;
  }

  .section-checkout .section-checkout_left {
    padding: 20px;
  }

  .section-checkout .section-checkout_right {
    position: static;
  }

  .section-checkout .payment-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .section-checkout {
    padding: 16px 0 24px;
  }

  .section-checkout .section-checkout_content {
    margin: 0;
  }

  .section-checkout .section-checkout_left,
  .section-checkout .section-checkout_right-content {
    border-radius: 5px;
  }

  .section-checkout .section-checkout_left {
    padding: 16px;
  }

  .section-checkout .title {
    margin-bottom: 14px;
    padding-bottom: 10px;
    font-size: 18px;
  }

  .section-checkout .payment-group {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .section-checkout .paymentMethod .method {
    min-height: 0;
    padding: 14px;
    flex-direction: row;
    align-items: center;
    text-align: left;
  }

  .section-checkout .paymentMethod .icon,
  .section-checkout .paymentMethod .icon img {
    width: 46px;
    height: 46px;
  }

  .section-checkout .paymentMethod .icon {
    flex-basis: 46px;
  }

  .section-checkout .paymentMethod .text h4 {
    font-size: 14px;
  }

  .section-checkout .paymentMethod .text span {
    font-size: 13px;
  }

  .section-checkout .paymentMethod .tag {
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
  }

  .section-checkout .info-user {
    margin-top: 22px;
  }

  .section-checkout .info-user ul {
    grid-template-columns: 1fr;
  }

  .section-checkout .info-user li:first-child {
    grid-column: auto;
  }

  .section-checkout .section-checkout_right-content {
    padding: 18px 16px;
  }

  .section-checkout .section-checkout_right-item {
    font-size: 14px;
  }

  .section-checkout .section-checkout_right-item--money .money {
    font-size: 21px;
  }

  .section-checkout #btn-confirm-payment {
    min-height: 46px;
    font-size: 15px;
  }

  .section-checkout
    .section-checkout_left
    .payment-group
    .paymentMethod
    .method {
    min-height: 0;
    padding: 14px;
    flex-direction: row;
    align-items: center;
    text-align: left;
  }

  .section-checkout
    .section-checkout_left
    .payment-group
    .paymentMethod
    .method
    .icon {
    width: 46px;
    height: 46px;
    margin: 0 12px 0 0;
    flex-basis: 46px;
  }

  .section-checkout
    .section-checkout_left
    .payment-group
    .paymentMethod
    .method
    .text {
    padding-right: 34px;
    text-align: left;
  }

  .section-checkout
    .section-checkout_left
    .payment-group
    .paymentMethod
    .method.active
    .tag {
    display: flex;
  }
}

/* FLOAT CONTACT — retain every existing action and share one visual system */
.contact {
  right: 18px;
  bottom: 84px;
  z-index: 98;
  display: flex;
  width: 48px;
  height: auto;
  padding: 0;
  flex-direction: column;
  gap: 10px;
  background: transparent;
  box-shadow: none;
}

.contact > .contact-item:nth-child(-n + 2) {
  display: block;
}

.contact > .contact-item {
  display: block;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  background: transparent;
}

.contact > .contact-item a {
  display: flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid #e2e6e4;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(20, 40, 30, 0.12);
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.contact > .contact-item i {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  line-height: 1;
}

.contact > .contact-item:nth-child(1) i {
  color: #3f454b;
}
.contact > .contact-item:nth-child(2) i {
  color: #d4b880;
}
.contact > .contact-item:nth-child(3) i {
  color: #4267b2;
}
.contact > .contact-item:nth-child(4) i {
  color: #006aff;
}

.contact > .contact-item a:hover,
.contact > .contact-item a:focus-visible {
  border-color: #00ad50;
  box-shadow: 0 9px 22px rgba(20, 40, 30, 0.18);
  transform: translateY(-2px);
}

/* PRODUCT GALLERY — progressive enhancement for existing detail-page images */
.BookDetailSection-preview-carousel-item {
  position: relative;
  cursor: zoom-in;
}

.BookDetailSection-preview-carousel-item::after {
  position: absolute;
  right: 14px;
  bottom: 14px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  background: rgba(18, 18, 18, 0.58);
  color: #fff;
  content: "\f00e";
  font-family: "Font Awesome 5 Pro";
  font-size: 16px;
  line-height: 38px;
  text-align: center;
  pointer-events: none;
}

body.ttb-gallery-open {
  overflow: hidden;
}

.ttb-live-gallery {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  padding: 24px;
  place-items: center;
  background: rgba(0, 0, 0, 0.72);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 180ms ease,
    visibility 180ms ease;
}

.ttb-live-gallery.is-open {
  opacity: 1;
  visibility: visible;
}

.ttb-live-gallery-dialog {
  position: relative;
  display: grid;
  width: min(1080px, calc(100vw - 48px));
  height: min(820px, calc(100vh - 48px));
  padding: 24px 88px 18px;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 10px;
  border-radius: 16px;
  background: #101010;
  box-shadow: 0 24px 72px rgba(0, 0, 0, 0.34);
}

.ttb-live-gallery-figure {
  display: grid;
  min-height: 0;
  margin: 0;
  place-items: center;
}

.ttb-live-gallery-image {
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  border: 5px solid #fff;
  border-radius: 5px;
  object-fit: contain;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
}

.ttb-live-gallery-caption {
  min-height: 24px;
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
}

.ttb-live-gallery-caption strong {
  margin-left: 8px;
}

.ttb-live-gallery-close,
.ttb-live-gallery-nav {
  position: absolute;
  display: flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition:
    background-color 160ms ease,
    border-color 160ms ease;
}

.ttb-live-gallery-close:hover,
.ttb-live-gallery-nav:hover {
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.18);
}

.ttb-live-gallery-close {
  top: 16px;
  right: 16px;
  z-index: 2;
  background: #fff;
  color: #333;
}

.ttb-live-gallery-nav {
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
}

.ttb-live-gallery-prev {
  left: 24px;
}
.ttb-live-gallery-next {
  right: 24px;
}

.ttb-live-gallery.is-single .ttb-live-gallery-nav,
.ttb-live-gallery.is-single .ttb-live-gallery-strip {
  display: none;
}

.ttb-live-gallery-strip {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  overflow-x: auto;
}

.ttb-live-gallery-thumb {
  width: 52px;
  height: 66px;
  padding: 2px;
  flex: 0 0 52px;
  border: 2px solid transparent;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.12);
  cursor: pointer;
}

.ttb-live-gallery-thumb.is-active {
  border-color: #00ad50;
}

.ttb-live-gallery-thumb img {
  width: 100%;
  height: 100%;
  border-radius: 3px;
  object-fit: cover;
}

@media (max-width: 767.98px) {
  .contact {
    right: 18px;
    bottom: 80px;
  }

  .ttb-live-gallery {
    padding: 0;
  }

  .ttb-live-gallery-dialog {
    width: 100vw;
    height: 100dvh;
    padding: 68px 16px 16px;
    border-radius: 0;
  }

  .ttb-live-gallery-close {
    top: 12px;
    right: 12px;
  }

  .ttb-live-gallery-nav {
    top: 48%;
    width: 42px;
    height: 42px;
  }

  .ttb-live-gallery-prev {
    left: 10px;
  }
  .ttb-live-gallery-next {
    right: 10px;
  }
  .ttb-live-gallery-image {
    max-width: calc(100% - 44px);
  }
}

.ttb-live-gallery-figure {
  min-width: 0;
  overflow: hidden;
}

.ttb-live-gallery-image {
  min-height: 0;
}

/* SHARED FLOAT CONTROLS AND RELATED-BOOK HEADING PARITY */
.scroll_to-top {
  right: 18px;
  bottom: 18px;
  width: 50px;
  height: 50px;
  z-index: 99;
}

.scroll_to-top > a {
  display: flex;
  width: 50px;
  height: 50px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #111111;
  color: #ffffff;
  line-height: 1;
  box-shadow: 0 7px 20px rgba(20, 25, 23, 0.2);
  transition:
    background-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.scroll_to-top > a:hover,
.scroll_to-top > a:focus-visible {
  background: #00ad50;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(0, 173, 80, 0.24);
  transform: translateY(-2px);
}

/* The detail-page title now keeps the same top rhythm as “Sách nổi bật”. */
.section-chi-tiet-sach
  .section:is(.section-dt, .section-mb)
  .book_content-title {
  padding-top: 16px;
}

@media (max-width: 767.98px) {
  .contact {
    right: 14px;
    bottom: 78px;
    width: 44px;
    gap: 8px;
  }

  .contact > .contact-item,
  .contact > .contact-item a {
    width: 44px;
    height: 44px;
  }

  .contact > .contact-item i {
    font-size: 19px;
  }

  .scroll_to-top {
    right: 14px;
    bottom: 16px;
    width: 46px;
    height: 46px;
  }

  .scroll_to-top > a {
    width: 46px;
    height: 46px;
    font-size: 20px;
  }

  .section-chi-tiet-sach
    .section:is(.section-dt, .section-mb)
    .book_content-title {
    padding-top: 16px;
  }
}

/* Responsive audit 2026-07-20: shared book and collection rails. */
@media (min-width: 576px) and (max-width: 1199.98px) {
  .section.section-mb:not(.book-good-mb):has(.listproduct) .book_content-title {
    align-items: center;
    min-height: 56px;
    margin-bottom: 24px;
    padding: 0;
    border-bottom: 1px solid #d7e9dc;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct)
    .book_content-title
    h3 {
    display: flex;
    align-items: center;
    min-height: 56px;
    margin: 0;
    padding: 14px 0 12px;
    border-bottom: 3px solid #14a64e;
    color: #14a64e;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    text-transform: uppercase;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct)
    .book_content-title
    > a {
    align-self: center;
    color: #333333;
    font-size: 14px;
    line-height: 21px;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct) .listproduct {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    overflow: hidden;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct) .listproduct > li {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0 0 16px;
    border: 0;
    background: transparent;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct)
    .listproduct
    > li:nth-child(n + 5) {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .section.section-mb:not(.book-good-mb):has(.listproduct) .listproduct {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    overflow: hidden;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct) .listproduct > li {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0 0 16px;
    border: 0;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct)
    .listproduct
    > li:nth-child(n + 5) {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .section.section-mb:not(.book-good-mb):has(.listproduct) .content_item,
  .section.section-mb:not(.book-good-mb):has(.listproduct) .content_item > a {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    background: transparent;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct) .item-img {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 6px;
    aspect-ratio: 2 / 3;
  }

  .section.section-mb:not(.book-good-mb):has(.cb_content) .item-img {
    aspect-ratio: 1 / 1;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct) .item-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .section.section-mb:not(.book-good-mb):has(.b_content) .item-img::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
      90deg,
      rgba(2, 0, 36, 0.39) 0%,
      rgba(0, 0, 0, 0.5) 1.83%,
      rgba(255, 255, 255, 0.36) 3.21%,
      rgba(0, 0, 0, 0.33) 4.72%,
      rgba(247, 254, 255, 0.28) 9.84%,
      rgba(255, 255, 255, 0) 47.85%
    );
    content: "";
    pointer-events: none;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct) .content_item h3 {
    display: -webkit-box;
    min-height: 44px;
    margin: 12px 0 4px;
    overflow: hidden;
    color: #333333;
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct) .item-txt-online {
    display: -webkit-box;
    min-height: 21px;
    margin: 0 0 4px;
    overflow: hidden;
    color: #555555;
    font-size: 13px;
    line-height: 21px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct)
    :is(.price, .item_infor-price, .item-content_price),
  .section.section-mb:not(.book-good-mb):has(.listproduct)
    :is(.price, .item_infor-price, .item-content_price)
    span:first-child {
    color: var(--price, #f33336);
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
  }

  .section.section-mb:not(.book-good-mb):has(.listproduct)
    :is(.price, .item_infor-price, .item-content_price)
    :is(strike, span:last-child:not(:first-child)) {
    color: #777777;
    font-weight: 400;
  }
}

/* All categories page: Netlify visual parity for the available backend markup. */
.wrapper:has(.category_wrapper-right .topic-headding) {
  background: #ffffff;
}

.category_wrapper-right .topic-headding {
  padding: 0;
  background: #ffffff;
}

.category_wrapper-right .topic-headding > .topic-title {
  display: flex;
  min-height: 64px;
  align-items: center;
  margin: 0 0 16px;
  padding: 0;
  border-bottom: 1px solid #aeb4b0;
}

.category_wrapper-right .topic-headding > .topic-title > h3 {
  position: relative;
  display: flex;
  min-height: 64px;
  align-items: center;
  margin: 0;
  padding: 0;
  color: #14a64e;
  -webkit-text-fill-color: #14a64e;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  text-transform: uppercase;
}

.category_wrapper-right .topic-headding > .topic-title > h3::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: #14a64e;
  content: "";
}

.category_wrapper-right .topic-headding > .topic-title .button_item {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.category_wrapper-right .topic-headding > .topic-title .btn-gray-link {
  padding: 8px 0;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
}

.category_wrapper-right .topic-headding > .topic-box {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px 24px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.category_wrapper-right .topic-headding > .topic-box > .box_item {
  width: 100% !important;
  max-width: none;
  min-width: 0;
  height: 85px;
  margin: 0 !important;
  padding: 0 12px;
  border-radius: 4px;
  background-color: #0fb65a;
  background-image:
    linear-gradient(
      45deg,
      rgba(255, 255, 255, 0.035) 25%,
      transparent 25%,
      transparent 75%,
      rgba(255, 255, 255, 0.035) 75%
    ),
    linear-gradient(
      45deg,
      rgba(255, 255, 255, 0.035) 25%,
      transparent 25%,
      transparent 75%,
      rgba(255, 255, 255, 0.035) 75%
    );
  background-position:
    0 0,
    8px 8px;
  background-size: 16px 16px;
  box-shadow: none;
}

.category_wrapper-right .topic-headding > .topic-box > .box_item > a {
  width: 100%;
  height: 100%;
  color: #ffffff;
  text-decoration: none;
}

.category_wrapper-right .topic-headding > .topic-box > .box_item h2 {
  margin: 0;
  color: #ffffff;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 26px;
  font-weight: 800;
  line-height: 30px;
}

.category_wrapper-right .topic-headding > .topic-box > .box_item h6 {
  margin: 2px 0 0;
  color: #ffffff;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
}

@media (min-width: 992px) {
  .wrapper:has(.category_wrapper-right .topic-headding)
    .category_wrapper-right {
    padding-bottom: 48px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .category_wrapper-right .topic-headding > .topic-box {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .wrapper:has(.category_wrapper-right .topic-headding)
    .category_wrapper-right {
    padding-bottom: 32px;
  }

  .category_wrapper-right .topic-headding > .topic-title,
  .category_wrapper-right .topic-headding > .topic-title > h3 {
    min-height: 56px;
  }

  .category_wrapper-right .topic-headding > .topic-box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .category_wrapper-right .topic-headding > .topic-box > .box_item {
    height: 72px;
  }
}

@media (max-width: 575.98px) {
  .wrapper:has(.category_wrapper-right .topic-headding)
    .category_wrapper-right {
    padding-bottom: 24px;
  }

  .category_wrapper-right .topic-headding > .topic-title > h3 {
    font-size: 18px;
    line-height: 24px;
  }

  .category_wrapper-right .topic-headding > .topic-title .btn-gray-link {
    font-size: 14px;
  }

  .category_wrapper-right .topic-headding > .topic-box {
    grid-template-columns: 1fr;
  }
}

/* Keep Flash Sale as a carousel on tablet while using the shared price color. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .home_page
    .section.section-mb.book-good-mb
    :is(.price, .item_infor-price, .item-content_price),
  .home_page
    .section.section-mb.book-good-mb
    :is(.price, .item_infor-price, .item-content_price)
    span:first-child {
    color: var(--price, #f33336);
  }
}

/* Footer social: replace the legacy Twitter glyph with the uploaded TikTok icon. */
.footer .footer_tablet .tablet-follow .fa-twitter::before {
  display: block;
  width: 14px;
  height: 14px;
  background: url("/content/assets/images/tiktok-footer.svg") center / contain
    no-repeat;
  content: "";
}

/* Author detail catalog: restore the single-book cover gradient. */
.partner_detail-wrapper
  .detail_wrapper-right
  .wrapper_right-book
  .bg-book-detail {
  position: relative;
  overflow: hidden;
}

.partner_detail-wrapper
  .detail_wrapper-right
  .wrapper_right-book
  .bg-book-detail::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    rgba(2, 0, 36, 0.39) 0%,
    rgba(0, 0, 0, 0.5) 1.83%,
    rgba(255, 255, 255, 0.36) 3.21%,
    rgba(0, 0, 0, 0.33) 4.72%,
    rgba(247, 254, 255, 0.28) 9.84%,
    rgba(255, 255, 255, 0) 47.85%
  );
  content: "";
  pointer-events: none;
}

/* Author detail: keep the format filter compact without changing author content. */
.partner_detail-wrapper .detail_wrapper-right .wrapper_right-tabbar {
  margin-bottom: 24px;
}

.partner_detail-wrapper .detail_wrapper-right .tabbar_headding {
  min-height: 32px;
  margin-bottom: 2px;
}

.partner_detail-wrapper
  .detail_wrapper-right
  .wrapper_right-tabbar
  .tabbar
  > .row {
  min-height: 46px;
  padding-bottom: 12px;
}

.partner_detail-wrapper .detail_wrapper-right .nav.nav-pills {
  column-gap: 6px;
  row-gap: 6px;
}

@media (max-width: 991.98px) {
  .partner_detail-wrapper .detail_wrapper-right .wrapper_right-tabbar {
    margin-bottom: 20px;
  }

  .partner_detail-wrapper .detail_wrapper-right .tabbar_headding {
    min-height: 30px;
    margin-bottom: 2px;
  }
}

/* Author detail portrait frame and responsive spacing v2. */
@media (min-width: 992px) {
  .partner_detail-wrapper .partner-detail {
    padding: 64px;
  }
}

.partner_detail-wrapper .partner-detail_left-img {
  border-radius: 6px;
}

.partner_detail-wrapper .partner-detail_left-img img {
  box-sizing: border-box;
  border: 2px solid #e3d9bd;
  border-radius: 4px;
}

.partner_detail-wrapper .detail_wrapper-right .tabbar_headding .headding {
  font-size: 20px;
  line-height: 28px;
}

.partner_detail-wrapper .detail_wrapper-right .nav-custom {
  min-height: 36px;
  padding: 7px 16px;
  font-size: 14px;
  line-height: 20px;
}

.partner_detail-wrapper .detail_wrapper-right .nav.nav-pills {
  gap: 8px;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .partner_detail-wrapper .partner-detail {
    padding: 40px;
  }

  .partner_detail-wrapper .detail_wrapper-right .tabbar_headding .headding {
    font-size: 18px;
    line-height: 26px;
  }
}

@media (max-width: 767.98px) {
  .partner_detail-wrapper .partner-detail {
    padding: 24px;
  }

  .partner_detail-wrapper .detail_wrapper-right .tabbar_headding .headding {
    font-size: 16px;
    line-height: 24px;
  }

  .partner_detail-wrapper .detail_wrapper-right .nav-custom {
    min-height: 34px;
    padding: 6px 12px;
    font-size: 13px;
  }
}

@media (max-width: 359.98px) {
  .partner_detail-wrapper .partner-detail {
    padding: 16px;
  }
}

/* All categories: restore the real "Xem toàn bộ sách" CTA from the existing HTML. */
.category_wrapper-right
  .wrapper_right
  .topic-headding
  > .topic-title
  .button_item {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.category_wrapper-right
  .wrapper_right
  .topic-headding
  > .topic-title
  .button_item
  .btn-gray-link {
  /* Overrides the legacy .topic-title a.btn { display: none !important; }. */
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 7px 0;
  color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  white-space: nowrap;
}

.category_wrapper-right
  .wrapper_right
  .topic-headding
  > .topic-title
  .button_item
  .btn-gray-link:hover,
.category_wrapper-right
  .wrapper_right
  .topic-headding
  > .topic-title
  .button_item
  .btn-gray-link:focus-visible {
  color: #00ad4e;
}

@media (max-width: 575.98px) {
  .category_wrapper-right .wrapper_right .topic-headding > .topic-title {
    gap: 12px;
  }

  .category_wrapper-right
    .wrapper_right
    .topic-headding
    > .topic-title
    .button_item
    .btn-gray-link {
    min-height: 34px;
    padding: 6px 0;
    font-size: 13px;
  }
}
/* Category lists: close the 992-1199px breakpoint gap and collapse empty titles. */
.list_category-wrapper
  .category_wrapper-right
  .topic-headding
  > .topic-title:has(> h3:empty) {
  display: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.list_category-wrapper
  .category_wrapper-right
  .wrapper_right-tabbar
  .tabbar_headding
  .btn_filter
  span {
  color: currentColor;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .list_category-wrapper > .container > .row.mb-3 > .col-lg-3 {
    display: none;
  }

  .list_category-wrapper > .container > .row.mb-3 > .col-lg-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    display: flex;
    min-height: 50px;
    justify-content: space-between;
    padding-right: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .headding {
    display: flex;
    min-height: 50px;
    padding: 13px 0 11px;
    font-size: 16px;
    line-height: 24px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter {
    display: inline-flex;
    position: static;
    min-width: 74px;
    min-height: 40px;
    margin-left: auto;
    padding: 7px 11px;
  }
}

@media (max-width: 991.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    min-height: 44px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row {
    padding-top: 14px;
    padding-bottom: 14px;
  }
}
/* Category filters: keep the heading visible beside the drawer button. */
@media (max-width: 991.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-right: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .headding {
    display: flex;
    min-width: 0;
    min-height: 44px;
    align-items: center;
    margin: 0 0 -1px;
    padding: 10px 0 9px;
    border-bottom: 3px solid #14a64e;
    color: #14a64e;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    white-space: nowrap;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter {
    flex: 0 0 auto;
  }
}

@media (max-width: 359.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    gap: 10px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .headding {
    font-size: 15px;
  }
}
/* Category filters: make the intermediate-width drawer behave like mobile. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .list_category-wrapper .filter_menu {
    position: fixed;
    inset: 0;
    display: block;
    width: 100vw;
    height: 100dvh;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.25);
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 180ms ease,
      visibility 180ms ease;
    z-index: 999;
  }

  .list_category-wrapper .filter_menu.active {
    opacity: 1;
    visibility: visible;
  }

  .list_category-wrapper .filter_menu .filter_menu-box {
    position: absolute;
    inset: 0 0 0 auto;
    display: block;
    width: min(310px, calc(100vw - 32px));
    max-width: none;
    height: 100dvh;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: #ffffff;
    transform: translateX(100%);
    transition: transform 220ms ease;
    z-index: 1000;
  }

  .list_category-wrapper .filter_menu.active .filter_menu-box {
    transform: translateX(0);
  }
}
/* Category filters: keep the fixed drawer alive while removing its desktop grid column. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .list_category-wrapper > .container > .row.mb-3 {
    position: relative;
  }

  .list_category-wrapper > .container > .row.mb-3 > .col-lg-3 {
    position: absolute;
    inset: 0 auto auto 0;
    display: block;
    flex: 0 0 0;
    width: 0;
    max-width: 0;
    height: 0;
    padding: 0;
  }
}
/* Category list responsive toolbar: top drawer and same-row sorting. */
@media (max-width: 1199.98px) {
  .list_category-wrapper > .container > .row.mb-3 {
    position: relative;
  }

  .list_category-wrapper > .container > .row.mb-3 > .col-lg-3 {
    position: static;
    flex: 0 0 0;
    width: 0;
    max-width: 0;
    height: 0;
    padding: 0;
  }

  .list_category-wrapper .filter_menu {
    position: fixed;
    inset: 0;
    display: block;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.25);
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 180ms ease,
      visibility 180ms ease;
    z-index: 10050;
  }

  .list_category-wrapper .filter_menu.active {
    opacity: 1;
    visibility: visible;
  }

  .list_category-wrapper .filter_menu .filter_menu-box {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    display: block;
    width: min(340px, calc(100vw - 32px));
    max-width: none;
    height: 100dvh;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: #ffffff;
    transform: translateX(100%);
    transition: transform 220ms ease;
    z-index: 10051;
  }

  .list_category-wrapper .filter_menu.active .filter_menu-box {
    transform: translateX(0);
  }

  .list_category-wrapper > .container > .row.mb-3 > .col-lg-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .list_category-wrapper .category_wrapper-right .wrapper_right-tabbar {
    margin-bottom: 28px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    position: relative;
    display: flex;
    min-height: 48px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding: 0;
    border-bottom: 1px solid #d7e9dc;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .headding {
    display: inline-flex;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    margin: 0 0 -1px;
    padding: 10px 0 9px;
    border-bottom: 3px solid #14a64e;
    color: #14a64e;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    white-space: nowrap;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter {
    position: static;
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 74px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-left: auto;
    padding: 7px 11px;
    border: 1px solid #14a64e;
    border-radius: 6px;
    background: #ffffff;
    color: #14a64e;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter
    span {
    color: currentColor;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    margin: 0;
    padding: 14px 0 16px;
    border-bottom: 1px solid #d7e9dc;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row
    > [class*="col-"] {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav.nav-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter {
    width: auto;
    margin-left: auto;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select {
    width: 148px;
    min-width: 148px;
    height: 40px;
    padding: 7px 34px 7px 14px;
    font-size: 14px;
    line-height: 22px;
  }
}

@media (max-width: 767.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row {
    gap: 10px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row
    > [class*="col-"] {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select {
    width: 100%;
    min-width: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav.nav-pills {
    width: 100%;
  }
}

@media (max-width: 390px) {
  .list_category-wrapper .filter_menu .filter_menu-box {
    width: min(310px, calc(100vw - 32px));
  }
}

/* Category listing reset: keep Netlify-like neutral page title and remove the duplicate filter label. */
.list_category-wrapper .category_wrapper-right .topic-headding > .topic-title {
  min-height: 0;
  margin: 0 0 20px;
  padding: 0;
  border-bottom: 0;
}

.list_category-wrapper
  .category_wrapper-right
  .topic-headding
  > .topic-title
  > h3 {
  min-height: 0;
  color: #333333;
  -webkit-text-fill-color: #333333;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
  text-transform: none;
}

.list_category-wrapper
  .category_wrapper-right
  .topic-headding
  > .topic-title
  > h3::after {
  display: none;
  content: none;
}

.list_category-wrapper
  .category_wrapper-right
  .wrapper_right-tabbar
  .tabbar_headding {
  min-height: 0;
  margin: 0;
  padding: 0;
  border-bottom: 0;
}

.list_category-wrapper
  .category_wrapper-right
  .wrapper_right-tabbar
  .tabbar_headding
  .headding {
  display: none;
}

@media (min-width: 1200px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title {
    margin-bottom: 16px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title
    > h3 {
    font-size: 20px;
    line-height: 28px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: flex-end;
  }
}
/* Category listing toolbar spacing: keep tabs close to title and pair Filter with sort select. */
.list_category-wrapper .category_wrapper-right .topic-headding > .topic-title {
  margin-bottom: 8px;
}

.list_category-wrapper
  .category_wrapper-right
  .wrapper_right-tabbar
  .tabbar
  > .row {
  padding-top: 0;
}

@media (max-width: 1199.98px) {
  .list_category-wrapper .category_wrapper-right .wrapper_right-tabbar {
    position: relative;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    position: absolute;
    right: 160px;
    bottom: 16px;
    z-index: 3;
    display: block;
    width: auto;
    min-height: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter {
    display: inline-flex;
    min-width: 74px;
    min-height: 40px;
  }
}

@media (max-width: 767.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    right: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter {
    width: calc(100% - 88px);
    margin-right: 88px;
    margin-left: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select {
    width: 100%;
    min-width: 0;
  }
}
/* Category listing toolbar correction: align Filter button on the same baseline as the sort select. */
@media (max-width: 1199.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    top: 0;
    bottom: auto;
  }
}
/* Category listing mobile toolbar: keep Filter beside the sort select after wrapped tabs. */
@media (max-width: 767.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    top: calc(100% - 59px);
    bottom: auto;
  }
}
/* Mobile-served category pages: the server sends a separate mobile DOM, not only responsive desktop markup. */
@media (max-width: 767.98px) {
  body:has(.book_content-mb .book_item) {
    background: #ffffff;
  }

  body:has(.book_content-mb .book_item) .wrapper {
    background: #ffffff;
    overflow-x: hidden;
  }

  body:has(.book_content-mb .book_item) .topic-title.py-2.px-3 {
    display: flex;
    min-height: 0;
    height: auto;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0 16px 8px;
    padding: 16px 0 0;
    border: 0;
    background: #ffffff;
  }

  body:has(.book_content-mb .book_item) .topic-title.py-2.px-3 > h3 {
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    color: #333333;
    -webkit-text-fill-color: #333333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    text-align: left;
    text-transform: none;
  }

  body:has(.book_content-mb .book_item) .topic-title.py-2.px-3 > h3::after {
    display: none;
    content: none;
  }

  body:has(.book_content-mb .book_item) .cate-filter {
    margin: 0;
    padding: 0 16px 10px;
    border: 0;
    background: #ffffff;
  }

  body:has(.book_content-mb .book_item) .cate-filter_button {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 0 10px;
    border: 0;
  }

  body:has(.book_content-mb .book_item) .cate-filter_button button {
    height: 36px;
    margin: 0;
    padding: 8px 13px;
    border: 1px solid #d7dce2;
    border-radius: 4px;
    background: #f7f8fb;
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
    text-transform: none;
  }

  body:has(.book_content-mb .book_item) .cate-filter_button button.active,
  body:has(.book_content-mb .book_item) .cate-filter_button button:first-child {
    border-color: #14a64e;
    background: #14a64e;
    color: #ffffff;
  }

  body:has(.book_content-mb .book_item) .cate-filter_control {
    position: relative;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(20, 166, 78, 0.18);
  }

  body:has(.book_content-mb .book_item) .cate-filter_control .container {
    width: 100%;
    max-width: none;
    padding: 0;
  }

  body:has(.book_content-mb .book_item)
    .cate-filter_control
    .d-flex.align-items-center.justify-content-between {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 74px;
    gap: 8px;
    align-items: center;
  }

  body:has(.book_content-mb .book_item) .cate-filter_control span {
    color: #333333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
  }

  body:has(.book_content-mb .book_item) .cate-filter_control .control-value {
    display: inline-flex;
    width: 100%;
    height: 40px;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    border: 1px solid #d7dce2;
    border-radius: 4px;
    background: #ffffff;
  }

  body:has(.book_content-mb .book_item) .cate-filter_control .control-value h6 {
    margin: 0;
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
  }

  body:has(.book_content-mb .book_item) .cate-filter_control .control-value i {
    color: #555555;
    font-size: 14px;
    line-height: 1;
  }

  body:has(.book_content-mb .book_item) .cate-filter_control .control-btn {
    display: inline-flex;
    width: 74px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid #14a64e;
    border-radius: 6px;
    background: #ffffff;
    color: #14a64e;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
  }

  body:has(.book_content-mb .book_item) .cate-filter_control .control-btn span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    white-space: nowrap;
  }

  body:has(.book_content-mb .book_item) .cate-filter_control .control-btn i {
    display: inline-block;
    color: inherit;
    font-size: 15px;
    line-height: 1;
  }

  body:has(.book_content-mb .book_item) .cate-filter_dropdow {
    right: 90px;
    left: auto;
    width: min(220px, calc(100vw - 122px));
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.14);
  }

  body:has(.book_content-mb .book_item) .book_content-mb {
    padding-right: 16px;
    padding-left: 16px;
    background: #ffffff;
  }

  body:has(.book_content-mb .book_item) .book_content-mb .book_content-content {
    width: 100%;
    padding: 0;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_content-content
    > .row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 18px;
    margin: 0;
  }

  body:has(.book_content-mb .book_item) .book_content-mb .book_item {
    width: auto;
    max-width: none;
    min-width: 0;
    padding: 0;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .content_item {
    width: 100%;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .content_item-img {
    width: 100%;
    max-width: 190px;
    margin: 0 auto;
  }

  body:has(.book_content-mb .book_item) .book_content-mb .book_item .item {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    margin: 0;
    overflow: hidden;
    border-radius: 6px;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    pointer-events: none;
    content: "";
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.16) 0%,
      rgba(0, 0, 0, 0) 42%
    );
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item
    > .lazy {
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item-img_sale {
    top: 8px;
    right: 8px;
    z-index: 2;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .content_item-infor {
    width: 100%;
    max-width: 190px;
    margin: 10px auto 0;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-title
    h6 {
    display: -webkit-box;
    min-height: 40px;
    margin: 0;
    overflow: hidden;
    color: #222222;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-category
    p {
    display: -webkit-box;
    min-height: 20px;
    margin: 4px 0 0;
    overflow: hidden;
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-price {
    margin-top: 4px;
    text-align: center;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-price
    span {
    color: #ff2727;
    -webkit-text-fill-color: #ff2727;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
  }
}

@media (max-width: 360px) {
  body:has(.book_content-mb .book_item)
    .cate-filter_control
    .d-flex.align-items-center.justify-content-between {
    grid-template-columns: minmax(0, 1fr) 74px;
  }

  body:has(.book_content-mb .book_item)
    .cate-filter_control
    > .container
    span:first-child {
    display: none;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_content-content
    > .row {
    column-gap: 14px;
  }
}
/* Mobile-served category pages: final parity overrides for Bootstrap utilities and inline title size. */
@media (max-width: 767.98px) {
  body:has(.book_content-mb .book_item) .topic-title.py-2.px-3 {
    justify-content: flex-start !important;
    margin: 0 16px 8px !important;
    padding: 16px 0 0 !important;
    border-bottom: 0 !important;
  }

  body:has(.book_content-mb .book_item) .topic-title.py-2.px-3 > h3 {
    width: auto !important;
    margin: 0 !important;
    color: #333333 !important;
    -webkit-text-fill-color: #333333 !important;
    font-size: 20px !important;
    line-height: 28px !important;
    text-align: left !important;
    text-transform: none !important;
  }

  body:has(.book_content-mb .book_item) .cate-filter_button.pt-2.pb-1 {
    padding-top: 0 !important;
    padding-bottom: 10px !important;
  }

  body:has(.book_content-mb .book_item) .book_content-mb .book_item.py-4 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* Product/combo gallery: lighter tablet & mobile lightbox */
@media (max-width: 991.98px) {
  .ttb-live-gallery {
    background: rgba(0, 0, 0, 0.25);
  }

  .ttb-live-gallery-dialog {
    background: transparent;
    box-shadow: none;
  }

  .ttb-live-gallery-image {
    border: 0;
    border-radius: 5px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18);
  }
}
/* Footer mobile: keep one social-follow block only */
@media (max-width: 767.98px) {
  .footer > .container:has(.footer_info .footer_tablet) > .footer_tablet {
    display: none;
  }
}
/* Category responsive polish: compact toolbar, native sort select, and mobile cover overlay. */
@media (max-width: 767.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title {
    min-height: 0;
    margin: 0 0 8px;
    padding: 0;
    border: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title
    > h3 {
    margin: 0;
    border: 0;
    color: #222222;
    -webkit-text-fill-color: #222222;
    font-size: 20px !important;
    font-weight: 700;
    line-height: 26px;
    text-align: left;
    text-transform: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title
    > h3::after {
    display: none;
    content: none;
  }

  .list_category-wrapper .category_wrapper-right .wrapper_right-tabbar {
    margin: 0 0 22px;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(20, 166, 78, 0.18);
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px;
    gap: 8px 10px;
    align-items: center;
    margin: 0;
    padding: 0;
    border-bottom: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row
    > [class*="col-"] {
    width: 100%;
    max-width: none;
    flex: none;
    padding-right: 0;
    padding-left: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row
    > .col-lg-8 {
    grid-column: 1 / -1;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row
    > .col-lg-4 {
    grid-column: 1 / 2;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav.nav-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-item-ct {
    margin-right: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom {
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid #d7dce2;
    border-radius: 5px;
    background: #f7f8fb;
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    text-transform: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select {
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 38px;
    padding: 6px 28px 6px 12px;
    border: 1px solid #d1d7df;
    border-radius: 5px;
    background-color: #ffffff;
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select
    option {
    min-height: 28px;
    padding: 6px 10px;
    color: #333333;
    background: #ffffff;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    line-height: 18px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    position: static;
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    display: flex;
    width: 82px;
    height: 38px;
    min-height: 0;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: flex-end;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .headding {
    display: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter {
    display: inline-flex;
    width: 82px;
    min-width: 0;
    height: 38px;
    min-height: 0;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
    border: 1px solid #14a64e;
    border-radius: 6px;
    background: #ffffff;
    color: #14a64e;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter
    img {
    display: block;
    width: 15px;
    height: 15px;
    object-fit: contain;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter
    span {
    display: inline-block;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
  }

  .list_category-wrapper .category_wrapper-right .wrapper_right-book {
    margin-top: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .book_item
    .item,
  .list_category-wrapper .book_content-mb .book_item .item {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .book_item
    .item::after,
  .list_category-wrapper .book_content-mb .book_item .item::after {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    pointer-events: none;
    content: "";
    background:
      linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.24) 0%,
        rgba(255, 255, 255, 0.13) 8%,
        rgba(255, 255, 255, 0) 22%
      ),
      linear-gradient(180deg, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0.13) 100%);
  }
}
/* Category responsive final pass: keep sort + filter on one compact line and restore cover gradient. */
@media (max-width: 767.98px) {
  .list_category-wrapper .category_wrapper-right .wrapper_right-tabbar .tabbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 8px;
    align-items: center;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row {
    display: contents;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row
    > .col-lg-8 {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row
    > .col-lg-4 {
    grid-column: 1 / 2;
    grid-row: 2;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding {
    position: static;
    grid-column: 2 / 3;
    grid-row: 2;
    display: flex;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: flex-end;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .headding {
    display: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .box-filter {
    float: none;
    width: 100%;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter {
    width: 100%;
    margin: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select.form-control {
    width: 100%;
    height: 38px;
    min-height: 38px;
    padding: 6px 30px 6px 12px;
    border: 1px solid #d7dce2;
    border-radius: 5px;
    background-color: #ffffff;
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    box-shadow: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter {
    display: inline-flex;
    width: 76px;
    height: 38px;
    min-width: 76px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
    border: 1px solid #14a64e;
    border-radius: 6px;
    background: #ffffff;
    color: #14a64e;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    box-shadow: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter
    img {
    display: block;
    width: 15px;
    height: 15px;
    object-fit: contain;
    opacity: 1;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter
    span {
    display: inline-block;
    color: inherit;
    font: inherit;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .position-relative
    .item,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .content_item-img
    .item,
  .list_category-wrapper .book_content-mb .position-relative .item,
  .list_category-wrapper .book_content-mb .content_item-img .item {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .position-relative
    .item::after,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .content_item-img
    .item::after,
  .list_category-wrapper .book_content-mb .position-relative .item::after,
  .list_category-wrapper .book_content-mb .content_item-img .item::after {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    pointer-events: none;
    content: "";
    background:
      linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.24) 0%,
        rgba(255, 255, 255, 0.16) 8%,
        rgba(255, 255, 255, 0) 22%
      ),
      linear-gradient(180deg, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0.13) 100%);
  }
}

@media (max-width: 374.98px) {
  .list_category-wrapper .category_wrapper-right .wrapper_right-tabbar .tabbar {
    grid-template-columns: minmax(0, 1fr) 70px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter {
    width: 70px;
    min-width: 70px;
    padding: 0 8px;
  }
}
/* TTB compact custom sort dropdown on responsive category/list pages */
@media (max-width: 767.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter.ttb-sort-ready {
    position: relative;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter.ttb-sort-ready
    .ttb-sort-source {
    position: absolute;
    inset: auto;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-trigger {
    position: relative;
    display: flex;
    width: 100%;
    height: 38px;
    min-height: 38px;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px 0 12px;
    border: 1px solid #d7dce2;
    border-radius: 5px;
    background: #ffffff;
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    text-align: left;
    box-shadow: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-trigger::after {
    position: absolute;
    top: 50%;
    right: 12px;
    width: 0;
    height: 0;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 5px solid #555555;
    content: "";
    transform: translateY(-50%);
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter.ttb-sort-ready.is-open
    .ttb-sort-trigger {
    border-color: #14a64e;
    box-shadow: 0 0 0 2px rgba(20, 166, 78, 0.08);
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    z-index: 90;
    display: none;
    max-height: 188px;
    overflow: auto;
    padding: 4px;
    border: 1px solid #e2e6ea;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter.ttb-sort-ready.is-open
    .ttb-sort-menu {
    display: block;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-option {
    display: flex;
    width: 100%;
    min-height: 34px;
    align-items: center;
    padding: 8px 12px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #333333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    text-align: left;
    cursor: pointer;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-option:hover,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-option.is-active {
    background: rgba(20, 166, 78, 0.08);
    color: #14a64e;
  }
}

/* Category/list mobile parity: use the same cover-spine overlay and typography as the approved responsive layout. */
@media (max-width: 767.98px) {
  body:has(.book_content-mb .book_item) .topic-title.py-2.px-3 > h3,
  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title
    > h3 {
    color: #222222;
    -webkit-text-fill-color: #222222;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 16px !important;
    font-weight: 700;
    line-height: 22px !important;
    text-align: left;
    text-transform: none;
  }

  body:has(.book_content-mb .book_item) .book_content-mb .book_item .item,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .book_item
    .item,
  .partner_detail-wrapper
    .detail_wrapper-right
    .wrapper_right-book
    .bg-book-detail,
  .section.section-mb:not(.book-good-mb):has(.b_content) .item-img,
  .section.section-mb:not(.book-good-mb):has(.listproduct) .item-img {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item::after,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .book_item
    .item::after {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: block;
    pointer-events: none;
    content: "";
    background: linear-gradient(
      90deg,
      rgba(2, 0, 36, 0.39) 0%,
      rgba(0, 0, 0, 0.5) 1.83%,
      rgba(255, 255, 255, 0.36) 3.21%,
      rgba(0, 0, 0, 0.33) 4.72%,
      rgba(247, 254, 255, 0.28) 9.84%,
      rgba(255, 255, 255, 0) 47.85%
    );
  }

  .section.section-mb:not(.book-good-mb):has(.b_content) .item-img::before,
  .section.section-mb:not(.book-good-mb):has(.listproduct) .item-img::before,
  .partner_detail-wrapper
    .detail_wrapper-right
    .wrapper_right-book
    .bg-book-detail::before {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: block;
    pointer-events: none;
    border-radius: inherit;
    content: "";
    background: linear-gradient(
      90deg,
      rgba(2, 0, 36, 0.39) 0%,
      rgba(0, 0, 0, 0.5) 1.83%,
      rgba(255, 255, 255, 0.36) 3.21%,
      rgba(0, 0, 0, 0.33) 4.72%,
      rgba(247, 254, 255, 0.28) 9.84%,
      rgba(255, 255, 255, 0) 47.85%
    );
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-title
    h6,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .item_infor-title
    h6,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .content_item
    h3 {
    color: #222222;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-category
    p,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .item_infor-category
    p,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .item-txt-online {
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
  }

  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-price
    span,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .item_infor-price
    span,
  .list_category-wrapper .category_wrapper-right .wrapper_right-book .price,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .price
    span {
    color: #ff2727;
    -webkit-text-fill-color: #ff2727;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 18px;
  }
}
/* Final mobile/responsive book-card parity: exact desktop spine overlay + compact approved font sizes. */
@media (max-width: 767.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .bg-book-search.bg-book-category.bg-layout,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .book_item
    .item,
  body:has(.book_content-mb .book_item) .book_content-mb .book_item .item,
  .section.section-mb:not(.book-good-mb):has(.b_content) .item-img,
  .section.section-mb:not(.book-good-mb):has(.listproduct) .item-img,
  .partner_detail-wrapper
    .detail_wrapper-right
    .wrapper_right-book
    .bg-book-detail {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .bg-book-search.bg-book-category.bg-layout::before,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .book_item
    .item::after,
  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item::after,
  .section.section-mb:not(.book-good-mb):has(.b_content) .item-img::before,
  .section.section-mb:not(.book-good-mb):has(.listproduct) .item-img::before,
  .partner_detail-wrapper
    .detail_wrapper-right
    .wrapper_right-book
    .bg-book-detail::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    pointer-events: none;
    border-radius: inherit;
    content: "";
    background: linear-gradient(
      90deg,
      rgba(2, 0, 36, 0.39) 0%,
      rgba(0, 0, 0, 0.5) 1.83%,
      rgba(255, 255, 255, 0.36) 3.21%,
      rgba(0, 0, 0, 0.33) 4.72%,
      rgba(247, 254, 255, 0.28) 9.84%,
      rgba(255, 255, 255, 0) 47.85%
    );
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .content_item
    h3,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .item_infor-title
    h6,
  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-title
    h6 {
    color: #222222;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .item-txt-online,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .item_infor-category
    p,
  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-category
    p {
    color: #555555;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
  }

  .list_category-wrapper .category_wrapper-right .wrapper_right-book .price,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .price
    span,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-book
    .item_infor-price
    span,
  body:has(.book_content-mb .book_item)
    .book_content-mb
    .book_item
    .item_infor-price
    span {
    color: #ff2727;
    -webkit-text-fill-color: #ff2727;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 18px;
  }
}
/* Final list/category mobile toolbar: borderless sort/filter pair, compact type chips. */
@media (max-width: 767.98px) {
  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title {
    margin: 0 0 8px;
    padding: 0;
    border-bottom: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title
    > h3 {
    margin: 0;
    color: #222222;
    -webkit-text-fill-color: #222222;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 16px !important;
    font-weight: 700;
    line-height: 22px !important;
    text-align: left;
    text-transform: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .topic-headding
    > .topic-title
    > h3::after {
    display: none;
    content: none;
  }

  .list_category-wrapper .category_wrapper-right .wrapper_right-tabbar {
    margin-top: 0;
    padding-top: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .headding {
    display: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav.nav-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 6px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .nav-custom {
    min-height: 26px;
    height: 26px;
    padding: 3px 10px;
    border-radius: 4px;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
  }

  .list_category-wrapper .category_wrapper-right .wrapper_right-tabbar .tabbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 76px;
    column-gap: 0;
    align-items: center;
    width: 100%;
    margin-top: 4px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(20, 166, 78, 0.18);
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row {
    display: contents;
    margin: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row
    > .col-lg-8 {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    flex: 0 0 auto;
    padding: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar
    > .row
    > .col-lg-4 {
    display: contents;
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    padding: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .box-filter,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter {
    margin: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter {
    position: relative;
    grid-column: 1;
    width: 100%;
    min-width: 0;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter::after {
    position: absolute;
    top: 7px;
    right: 0;
    width: 1px;
    height: 24px;
    background: #e1e4e8;
    content: "";
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-trigger,
  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter
    select.form-control {
    height: 38px;
    min-height: 38px;
    padding: 0 28px 0 0;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    color: #333333;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    box-shadow: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .select-filter.ttb-sort-ready.is-open
    .ttb-sort-trigger {
    border-color: transparent;
    box-shadow: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-trigger::after {
    right: 12px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter {
    position: relative;
    right: auto;
    bottom: auto;
    grid-column: 2;
    display: flex;
    width: 76px;
    min-width: 76px;
    height: 38px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 0 0 12px;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    color: #14a64e;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    box-shadow: none;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter
    span {
    color: #14a64e;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .tabbar_headding
    .btn_filter
    img {
    display: block;
    width: 16px;
    height: 16px;
    object-fit: contain;
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-menu {
    top: calc(100% + 2px);
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: 164px;
    overflow-y: auto;
    padding: 4px 0;
    border: 1px solid #e6e8eb;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
  }

  .list_category-wrapper
    .category_wrapper-right
    .wrapper_right-tabbar
    .ttb-sort-option {
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 18px;
  }
}

/* Hide the header hotline per the 2026-08-06 UI request. */
.header_hotline.hotline2.d-flex.align-items-center.yellow {
  display: none !important;
}
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Be Vietnam Pro", sans-serif;
  background-color: #faf7ee;
}

/* Khối section chính theo đúng cấu trúc yêu cầu */
.section.introduce {
  position: relative;
  width: 100%;
  min-height: 580px;
  background-color: #faf7ee;
  /* Link hình nền chính xác từ admin.trithuctrebooks.com */
  background-image: url("/content/assets/images/lien-ket-xuat-ban.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  padding: 70px 0;
  overflow: hidden;
}

.banner-info {
  position: relative;
  z-index: 10;
  width: 100%;
}

.publishing-service {
  text-align: center;
  padding: 20px 0;
  max-width: 630px;
  margin: 0 auto 0 0;
}

/* Tiêu đề chính */
.service-title {
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 52px;
  font-weight: 700;
  color: #065f46;
  margin-bottom: 14px;
  letter-spacing: -0.5px;
  line-height: 1.18;
}

/* Divider trang trí quyển sách */
.service-divider {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 6px auto 26px auto;
}

.divider-line {
  width: 90px;
  height: 2px;
  background: #ea6a12;
  border-radius: 2px;
}

.divider-dot {
  width: 5px;
  height: 5px;
  background: #ea6a12;
  border-radius: 50%;
}

.divider-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}

/* Đoạn mô tả */
.service-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #334155;
  max-width: 580px;
  margin: 0 auto 34px auto;
  font-weight: 400;
}

/* Khung chứa 3 thẻ thống kê (luôn nằm trên 1 hàng ngang) */
.stats-cards-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: nowrap;
  margin-top: 24px;
  margin-bottom: 34px;
  width: 100%;
}

/* Từng thẻ thống kê (Card) */
.stat-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 14px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.95);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  flex: 1 1 0;
  min-width: 0;
  text-align: left;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.1);
}

/* Vòng tròn màu cam chứa icon */
.stat-icon-wrapper {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ff6b00;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(255, 107, 0, 0.3);
}

.stat-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stat-number {
  font-size: 24px;
  font-weight: 700;
  color: #ff6b00;
  line-height: 1.1;
  letter-spacing: -0.3px;
}

.stat-label {
  font-size: 13px;
  font-weight: 600;
  color: #065f46;
  margin-top: 4px;
  white-space: nowrap;
}

/* Nút Xem thêm */
.view-more-action {
  text-align: center;
}

.btn-view-more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  color: #065f46;
  font-size: 16px;
  font-weight: 700;
  padding: 13px 36px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.95);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-view-more svg {
  transition: transform 0.3s ease;
}

.btn-view-more:hover {
  color: #065f46;
  background: #ffffff;
  text-decoration: none;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.btn-view-more:hover svg {
  transform: translateX(4px);
}

/* Responsive breakpoints */
@media (max-width: 1199px) {
  .service-title {
    font-size: 44px;
  }
  .service-desc {
    font-size: 15px;
  }
}

@media (max-width: 991px) {
  .section.introduce {
    min-height: auto;
    padding: 50px 0;
    background-position: 70% center;
  }

  .publishing-service {
    margin: 0 auto;
  }

  .service-title {
    font-size: 38px;
  }

  .divider-line {
    width: 60px;
  }
}

@media (max-width: 767px) {
  .section.introduce {
    padding: 40px 0;
  }

  .service-title {
    font-size: 32px;
  }

  .service-desc {
    font-size: 14.5px;
    margin-bottom: 26px;
  }

  .stats-cards-row {
    gap: 8px;
    flex-wrap: nowrap;
  }

  .stat-card {
    padding: 10px 8px;
    gap: 8px;
    flex: 1 1 0;
  }

  .stat-icon-wrapper {
    width: 38px;
    height: 38px;
  }

  .stat-number {
    font-size: 18px;
  }

  .stat-label {
    font-size: 11px;
  }
}

/* Giao diện riêng cho màn hình mobile <= 575px chuẩn theo mẫu thiết kế dọc */
@media (max-width: 575px) {
  .section.introduce {
    min-height: 820px;
    padding: 40px 0 30px 0;
    background-image: url("/content/assets/images/lien-ket-xuat-ban-mobie.jpg");
    background-position: center top;
    background-size: cover;
  }

  .publishing-service {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    padding: 10px 5px;
  }

  .service-title {
    order: 1;
    font-size: 32px;
    margin-bottom: 10px;
  }

  .service-divider {
    order: 2;
    margin: 4px auto 16px auto;
  }

  .service-desc {
    width: 360px;
    order: 3;
    font-size: 14.5px;
    margin-bottom: 20px;
  }

  .view-more-action {
    order: 4;
    margin-bottom: 380px;
  }

  .stats-cards-row {
    order: 5;
    gap: 8px;
    flex-wrap: nowrap;
    margin-top: 20px;
    margin-bottom: 0;
    width: 100%;
  }

  .stat-card {
    flex-direction: column;
    text-align: center;
    padding: 12px 6px;
    gap: 6px;
    border-radius: 14px;
    flex: 1 1 0;
  }

  .stat-info {
    align-items: center;
  }

  .stat-icon-wrapper {
    width: 38px;
    height: 38px;
  }

  .stat-number {
    font-size: 18px;
  }

  .stat-label {
    font-size: 11px;
  }
}
.main-menu li > a,
.category_btn,
.h3-20,
.h6-14,
.footer {
  font-family: "Be Vietnam Pro", sans-serif !important;
}
.alert-confirm {
  width: 600px;
  height: 350px;
  padding-top: 40px;
}
.alert-confirm_label {
  font-size: 30px;
  margin: 32px 0;
}
.alert-confirm_text {
  font-size: 24px;
  margin-bottom: 40px;
}
.alert-confirm_btn button {
  font-size: 24px;
  padding: 6px 20px !important;
  height: 50px;
}
.my-account,
.purchased_book,
.recent-books,
.transaction-history {
  .col-lg-9 .d-flex.mb-3,
  .sidebar.is-sticky .sidebar_dashboard ul li.nav-item:nth-child(3),
  .sidebar.is-sticky .sidebar_dashboard ul li.nav-item:nth-child(7) {
    display: none !important;
  }
}

.breadcrumb {
  font-size: 14px !important;
}
.list_item-main {
  .h6-14 {
    font-size: 16px !important;
  }
  .main_date {
    font-size: 14px !important;
  }
}
.main-menu li a {
  font-size: 16px !important;
}
.fa-facebook-messenger::before {
  content: "" !important;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  /* Chèn SVG icon Zalo màu xanh */
  background-image: url("/content/assets/icons/zalo-icon.png");
}
.btn-gray-link {
  font-size: 16px !important;
  color: #333;
}
.btn-danger.btn-buynow,
.btn-outline-danger.btn-buynow:hover,
.BookDetailSection-info-price-btn .btn-danger,
.BookDetailSection-info-price-btn .btn-danger:hover {
  background-color: #f58f0d !important;
  border-color: #f58f0d !important;
  color: #fff !important;
}
.btn-outline-danger.btn-buynow {
  border-color: #f58f0d !important;
  color: #f58f0d !important;
}
.price,
.total-price-show,
.cart-price,
.js-cart-payment,
.bill-total-price-unit,
.js-cart-cost,
.js-cart-price {
  color: #008036 !important;
}
.header-account_info .info-list .info-list_item:nth-child(6) {
  display: none !important;
}
.fa-user-edit::before {
  content: "\f044";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.menu_component .menu_category .dropdown-menu .category_link .category_arrow {
  margin-left: 0 !important;
}
.section.subscribe .footer_logo-list li:nth-child(4) a img {
  content: url(/content/assets/images/logo-tiktok.svg);
}
.content-purchase
  #see-desktop
  .modal-body
  .wrapper
  > *:not(.detail-order-desktop) {
  display: none !important;
}
.section-dt.book_content.reading-pack {
  display: none;
}
@media (max-width: 576px) {
  .author-list-wrapper-item {
    flex: 100%;
    max-width: 100%;
  }
  .BookDetailSection-info-options-item-icon {
    display: none;
  }
  .HeadingCard {
    position: relative;
    .HeadingCard-view {
      position: absolute;
      top: 3px;
      right: 10px;
      width: fit-content !important;
    }
  }
  .my-account-mb-main_dashboard .row .col-4:nth-child(7) {
    display: none;
  }
  .book-good-mb ul.listproduct {
    overflow-x: auto !important;
  }
}
i.far.fa-search-plus,
i.far.fa-chevron-left,
i.far.fa-chevron-right,
i.far.fa-search,
i.far.fa-home-alt {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important; /* Bắt buộc để nhận icon bản Free */
}
.fa-shield-check::before {
  content: "\f3ed" !important; /* Unicode của fa-shield-alt */
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal;
}
.section_header-mobile,
.menu_component-mobile {
  position: sticky;
  top: 0;
  z-index: 1000;
}
.menu_component-mobile {
  top: 61px;
}
.Category-wrapper .Category-wrapper-item:last-child,
.section-mb.reading-pack-mb,
#btn-subscribe,
.section-checkout .HeadingCard-view,
.footer .footer_content-list .content-list_item.main,
div.col-12.col-lg-4.col-md-4:has(> .content-title:first-child){
  display: none !important;
}

.latest-news_heading-label {
  color: #14a64e !important;
}

.footer > .container > .row > [class*="col-"]:last-child > .row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    
    .col-12.col-lg-4.col-md-4:first-child{
        padding-left: 72px !important;
    }
    .col-12.col-lg-4.col-md-4:nth-child(2) {
      order: -1;
    }
    .col-12.col-lg-4.col-md-4:nth-child(3) {
      padding-left: 24px !important;
    }
}