/* ===== 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 {
  min-height: 72px;
  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: 62px 0 44px;
  background: #fffaf6;
  color: #333333;
  font-family: Inter, Arial, 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;
  padding: 77px 16px 0 0;
}

.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: "Times New Roman", Times, 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: "Times New Roman", Times, 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 {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 18px 0 0;
  padding: 0;
}

.footer .footer_logo-list li,
.footer .footer_logo-list img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.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: "Times New Roman", Times, 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;
}

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: Inter, Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  text-align: center;
}

@media (max-width: 767.98px) {
  .section.subscribe {
    min-height: 138px;
  }

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

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

  .section.subscribe > .container > .row > [class*="col-"]:first-child {
    display: none;
  }

  .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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: #ea262a;
}
.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;
}

.button_item,
.partner_title-vector,
.author_heading-line {
  display: none;
}

.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 {
  min-height: 72px !important;
}

.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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, sans-serif;
}

.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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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;
  color: #12a751;
  font-family: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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-line {
    display: none;
  }

  .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: Inter, Arial, 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: "Playfair Display", Georgia, 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: Inter, Arial, 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: Inter, Arial, 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;
}

.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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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(-16px);
  }

  .footer > .container > .row > [class*="col-"]:last-child > .row > [class*="col-"]:nth-child(4) {
    transform: translateY(-6px);
  }
}
/* Publishing service: requested title typeface only. */
.home_page .section.introduce.publishing .service-title {
  font-family: "Times New Roman", Times, 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;
  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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, sans-serif;
  line-height: 22px;
}

.category_wrapper-right .wrapper_right-tabbar .select-filter select {
  height: 42px;
  border-radius: 5px;
  font-family: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: 100px;
    padding-bottom: 100px;
  }
}
/* 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: block;
    max-width: none;
    overflow: visible;
  }

  .home_page .section.section-mb.book-good-mb .listproduct > li {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: var(--ttb-flash-sale-card-width);
    min-width: 0;
    animation: ttb-flash-sale-card-step 12s ease-in-out infinite;
    will-change: transform;
  }

  .home_page .section.section-mb.book-good-mb .listproduct > li:first-child {
    position: relative;
  }

  .home_page .section.section-mb.book-good-mb .listproduct > li:nth-child(2) {
    animation-delay: -3s;
  }

  .home_page .section.section-mb.book-good-mb .listproduct > li:nth-child(3) {
    animation-delay: -6s;
  }

  .home_page .section.section-mb.book-good-mb .listproduct > li:nth-child(4) {
    animation-delay: -9s;
  }

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

  .home_page .section.section-mb.book-good-mb .listproduct:hover > li,
  .home_page .section.section-mb.book-good-mb .listproduct:active > li,
  .home_page .section.section-mb.book-good-mb .listproduct:focus-within > li {
    animation-play-state: paused;
  }
}

@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;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home_page .section.section-mb.book-good-mb .listproduct > li {
    animation: none;
  }

  .home_page .section.section-mb.book-good-mb .listproduct > li:first-child {
    transform: translate3d(0, 0, 0);
  }

  .home_page .section.section-mb.book-good-mb .listproduct > li:nth-child(2) {
    transform: translate3d(var(--ttb-flash-sale-step), 0, 0);
  }

  .home_page .section.section-mb.book-good-mb .listproduct > li:nth-child(3) {
    transform: translate3d(calc(2 * var(--ttb-flash-sale-step)), 0, 0);
  }
}

/* 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: relative;
    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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.main_list-news .news-pagination {
  margin-top: 46px;
}

.main_list-news .pagination_list {
  display: flex;
  justify-content: center;
  gap: 9px;
}

.main_list-news .Pagination-item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid #cfcfcf;
  border-radius: 50%;
  background: #ffffff;
  color: #8c8c8c;
  font-size: 14px;
}

.main_list-news .Pagination-item.active a,
.main_list-news .Pagination-item a:hover {
  border-color: #12a751;
  background: #12a751;
  color: #ffffff;
  text-decoration: 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: Inter, Arial, 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: Inter, Arial, 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 .2s ease, box-shadow .2s ease, transform .2s ease;
}

.section-checkout .paymentMethod:hover .method {
    border-color: #00ad50;
    box-shadow: 0 6px 18px rgba(0, 173, 80, .1);
    transform: translateY(-1px);
}

.section-checkout .paymentMethod .method.active {
    border-color: #00ad50;
    box-shadow: 0 0 0 1px rgba(0, 173, 80, .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, .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, .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: #555555;
    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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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: Inter, Arial, 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:
          "Plus Jakarta Sans",
          -apple-system,
          BlinkMacSystemFont,
          "Segoe UI",
          Roboto,
          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: "Playfair Display", Georgia, 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;
        }
      }
