[x-cloak] {
   display: none !important;
}

.share {
   padding: 17px 10px 10px 10px;
   line-height: normal;
   background: rgba(128, 128, 128, 0.15);
   margin-top: 15px;
   border-radius: 5px;
   display: flex;
   align-items: center;
   gap: 10px;
}

.wrap-main {
   margin: 30px 0;
}

.notify-phone {
   animation: notifyPhone 1s infinite ease-in-out;
}

@keyframes notifyPhone {
   0% {
      transform: rotate(0) scale(1) skew(1deg);
   }

   10% {
      transform: rotate(-25deg) scale(1) skew(1deg);
   }

   20% {
      transform: rotate(25deg) scale(1) skew(1deg);
   }

   30% {
      transform: rotate(-25deg) scale(1) skew(1deg);
   }

   40% {
      transform: rotate(25deg) scale(1) skew(1deg);
   }

   50% {
      transform: rotate(0) scale(1) skew(1deg);
   }

   100% {
      transform: rotate(0) scale(1) skew(1deg);
   }
}

.search-inline {
   display: flex;
   align-items: center;
   gap: 5px;
   max-width: 230px;
   border-radius: 5px;
   border: 1px solid #bababa;
   background: #fff;
}

.search-inline p {
   width: 30px;
   height: 30px;
   cursor: pointer;
   text-align: center;
   margin: 0;
   color: var(--theme-brand);
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 8px;
}

.search-inline input {
   width: calc(100% - 30px);
   height: 30px;
   outline: 0;
   padding: 0;
   border: 0;
   background: 0;
   text-indent: 12px;
   font-size: 14px;
}

.search-inline input::-webkit-input-placeholder {
   color: #7d7d7d;
}

.search-inline input:-moz-placeholder {
   color: #7d7d7d;
}

.search-inline input::-moz-placeholder {
   color: #7d7d7d;
}

.search-inline input:-ms-input-placeholder {
   color: #7d7d7d;
}

.title-main {
   text-align: center;
   margin-bottom: clamp(12px, 8.5886px + 0.8027vw, 24px);
}

.title-main h1,
.title-main h2 {
   font-size: clamp(28px, calc(40 / 1200 * 100vw), 40px);
   font-weight: 700;
   text-transform: uppercase;
   color: var(--text-primary);
   margin-bottom: 0;
}

.title-detail {
   margin-bottom: clamp(12px, 8.5886px + 0.8027vw, 24px);
}

.title-detail h1 {
   font-size: clamp(22px, calc(30 / 1200 * 100vw), 30px);
   font-weight: 700;
   color: var(--text-primary);
   margin-bottom: 0;
}

.search-popup {
   position: relative;
}

.search-popup .icon-search {
   width: 40px;
   height: 40px;
   border-radius: 40px;
   cursor: pointer;
   text-align: center;
   color: #fff;
   font-size: 17px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0;
}

.search-popup .icon-search.active {
   background: #fff;
   color: var(--theme-brand);
   border: solid 1px var(--theme-brand);
}

.search-popup .search-grid {
   position: absolute;
   top: 50px;
   right: 0;
   width: 0;
   height: 40px;
   overflow: hidden;
   background: #fff;
   border: 1px solid var(--theme-brand);
   z-index: 2;
   opacity: 0;
   border-radius: 25px;
   display: flex;
   align-items: center;
}

.search-popup .search-grid p {
   width: 35px;
   height: 35px;
   cursor: pointer;
   outline: 0;
   border: none;
   margin: 0;
   font-size: 17px;
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--theme-brand);
}

.search-popup .search-grid input {
   width: calc(100% - 35px);
   float: right;
   line-height: 35px;
   outline: 0;
   border: none;
   color: #000;
   font-size: 14px;
}

.search-popup .search-grid input::placeholder {
   color: #ccc;
}

.product-item a {
   display: block;
   position: relative;
}

.product-item__pic {
   background: #eee;
   overflow: hidden;
}

.product-item__info {
   text-align: center;
   margin-top: 10px;
}

.product-item__name {
   -webkit-line-clamp: 1;
   line-clamp: 1;
   font-size: 16px;
   transition: 0.2s ease-in-out;
   margin-bottom: 5px;
   color: #333;
}

.product-item a:hover .product-item__name {
   color: var(--theme-brand);
}

.product-item__price--new {
   font-size: clamp(14px, calc(15 / 1200 * 100vw), 15px);
   font-weight: 700;
   color: var(--theme-brand);
}

.product-item__price--old {
   margin: 0 8px;
   font-size: clamp(12px, calc(13 / 1200 * 100vw), 13px);
   color: #6c757d;
   text-decoration: line-through;
}

.product-item__price--per {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   background: var(--theme-brand);
   font-size: 11px;
   border-radius: 20px;
   padding: 3px 10px;
   gap: 5px;
}

.splide.procategory:not(.is-overflow) .splide__list {
   justify-content: center;
}

.notify-phone {
   animation: notifyPhone 1s infinite ease-in-out;
}

@keyframes notifyPhone {
   0% {
      transform: rotate(0) scale(1) skew(1deg);
   }

   10% {
      transform: rotate(-25deg) scale(1) skew(1deg);
   }

   20% {
      transform: rotate(25deg) scale(1) skew(1deg);
   }

   30% {
      transform: rotate(-25deg) scale(1) skew(1deg);
   }

   40% {
      transform: rotate(25deg) scale(1) skew(1deg);
   }

   50% {
      transform: rotate(0) scale(1) skew(1deg);
   }

   100% {
      transform: rotate(0) scale(1) skew(1deg);
   }
}

.category-nav {
   margin-bottom: 30px;
}

.category-nav__item {
   font-size: clamp(14px, calc(16 / 1200 * 100vw), 16px);
   text-transform: uppercase;
   color: inherit;
   display: inline-block;
   vertical-align: top;
   padding-block: 7px;
   padding-inline: clamp(10px, calc(20 / 1200 * 100vw), 20px);
   transition: 0.2s;
   border: 1px solid #1a1918;
   background-color: #fff;
}

.category-nav__item.active {
   background: #1a1918;
   color: #fff;
}

.main-widget {
   position: fixed;
   right: 15px;
   bottom: 20px;
   z-index: 1000;
}

.main-widge .img svg {
   width: 100%;
   height: 100%;
}

.main-widget .img {
   width: 25px;
   height: 25px;
}

.main-icon svg {
   width: 20px;
   height: 20px;
   fill: #fff;
   margin-bottom: 5px;
}

.main-icon p {
   font-size: 10px;
   color: #fff;
   margin: 0;
}

.out-circle {
   overflow: hidden;
   padding: 17px;
   border-radius: 100%;
   background: var(--button-primary);
   width: 60px;
   height: 60px;
}

.main-icon {
   line-height: 0;
   color: #fff;
   width: 100%;
   height: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   position: absolute;
   top: 43%;
   left: 50%;
   transform: translate(-50%, -50%);
   text-align: center;
}

.main-icon i {
   width: 26px;
   height: 26px;
   transform: translateX(2px);
}

.ser-icon {
   display: inline-flex;
   position: absolute;
   font-size: 30px;
   top: 0;
   left: 0;
   padding: 10%;
   background: #fff;
   max-width: 100%;
   overflow: hidden;
   border-radius: 100%;
   color: var(--button-primary);
   width: 70%;
   height: 70%;
   margin: 15%;
   transition: 0.2s all;
}

.unsee {
   opacity: 0;
   transform: scale(0);
}

.main-widget-process {
   display: inline-flex;
   transform: translateX(0);
   transition: 0.15s linear transform;
   line-height: 0;
}

.ser-icon .item {
   margin-right: 40px;
   width: 30px;
   height: 30px;
   color: var(--button-primary);
   display: flex;
   justify-content: center;
   align-items: center;
}

.ser-icon .item svg {
   width: 25px;
   height: 25px;
   color: var(--button-primary);
}

.ser-icon i:nth-child(2n) {
   color: #000;
}

.def-content {
   overflow: hidden;
   position: absolute;
   bottom: 62px;
   right: 0;
   background: #fff;
   border-radius: 8px;
   transition: 0.2s all;
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
   width: 300px;
   z-index: 1;
}

.def-content:before {
   position: absolute;
   bottom: -8px;
   right: 22px;
   left: auto;
   display: inline-block !important;
   border-right: 8px solid transparent;
   border-top: 8px solid #fff;
   border-left: 8px solid transparent;
   content: "";
}

.def-content .def-header {
   background: var(--button-primary);
   padding: 10px;
   border-radius: 8px 8px 0 0;
   color: #fff;
   position: relative;
   font-size: 16px;
   font-weight: 700;
}

.def-content .def-header .close-icon {
   display: flex;
   justify-content: center;
   align-items: center;
   position: absolute;
   right: 10px;
   top: 10px;
   left: initial;
   padding: 0;
   margin: 0;
   border: 0 none;
   background: 0 0;
   line-height: 1;
   width: 26px;
   height: 26px;
   cursor: pointer;
   color: #fff;
   background: var(--button-primary);
   border-radius: 50%;
   text-align: center;
}

.def-content .item > a {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   padding: 5px 10px;
   transition: 0.3s linear all;
}

.def-content .item > a .img {
   flex-grow: 0;
   flex: none;
   height: 34px;
   width: 34px;
   display: flex;
   justify-content: center;
   align-items: center;
   margin-right: 10px;
   border-radius: 50%;
   color: #fff !important;
}

.def-content .item > a .img svg {
   height: 20px;
   width: 20px;
}

.def-content .item > a .detail {
   flex-grow: 1;
   line-height: normal;
}

.def-content .item > a .detail .arcu-item-title {
   font-weight: 700;
   font-size: 15px;
   display: block;
   line-height: normal;
   color: #000;
}

.def-content .item > a .detail .arcu-item-subtitle {
   font-size: 14px;
   color: #787878;
}

.def-content .item.phone > a .img {
   background: #4eb625;
}

.def-content .item.mess > a .img {
   background: #31adff;
}

.def-content .item.zalo > a .img {
   background: #0165f8;
}

.def-content .item.map > a .img {
   background: #d94234;
}

.def-content .item:last-child {
   margin-bottom: 0;
}

.main-widget .close-icon {
   display: flex;
   justify-content: center;
   align-items: center;
   position: absolute;
   font-size: 25px;
   top: 0;
   padding: 10px;
   left: 0;
   width: 60px;
   height: 60px;
   line-height: 1;
   text-align: center;
   color: #fff;
   background: var(--button-primary);
   border-radius: 100%;
   transition: 0.2s all;
   transform: rotate(0);
   cursor: pointer;
}

.main-widget .close-icon svg {
   width: 25px;
   height: 25px;
}

.close-icon.unsee {
   transform: rotate(180deg);
}

.pregan {
   position: absolute;
   width: 100%;
   height: 100%;
   left: 0;
   top: 0;
   background: var(--button-primary);
   z-index: -2;
   border-radius: 100%;
   opacity: 0.6;
   animation: zoomzoom 3s linear 0.2s infinite;
}

.pregan:nth-child(1) {
   animation-delay: 0.5s;
}

.main-widget .item svg {
   fill: var(--button-primary);
}

.def-content .item svg {
   fill: #fff;
}

.def-content .item:hover {
   background: #f1f1f1;
}

@keyframes zoomzoom {
   from {
      transform: scale(0);
   }

   to {
      transform: scale(1.2);
   }
}

.scrollToTop {
   position: fixed;
   bottom: 80px;
   right: 20px;
   z-index: 98;
   top: auto;
   width: 40px;
   height: 40px;
   display: flex;
   background: 0 0;
   text-decoration: none;
   transition: all 0.3s ease-out 0s;
   transform: translateY(-20px);
   background-color: color-mix(in srgb, var(--button-primary) 10%, #fff);
   border-radius: 7px;
   cursor: pointer;
}

@media (max-width: 870px) {
   .scrollToTop {
      bottom: 140px;
   }
}

.scrollToTop svg {
   width: 100%;
   height: 100%;
   transform: rotate(270deg);
}

.scrollToTop svg path {
   stroke: var(--button-primary);
}

.scrollToTop:hover {
   background: var(--button-primary);
}

.scrollToTop:hover svg path {
   stroke: color-mix(in srgb, var(--button-primary) 10%, #fff);
}

.news-item a {
   display: block;
   position: relative;
}

.news-item__pic {
   position: relative;
   isolation: isolate;
   overflow: hidden;
   border-radius: 10px;
}

.news-item__date {
   position: absolute;
   top: 0;
   left: 0;
   background-color: var(--theme-brand);
   padding: 5px;
   border-radius: 10px 0 10px 0;
   color: #fff;
   font-size: 12px;
   font-weight: 600;
}

.news-item__info {
   margin-top: 15px;
}

.news-item__name {
   -webkit-line-clamp: 2 !important;
   line-clamp: 2 !important;
   color: var(--color-text);
   font-size: clamp(15px, calc(16 / 1200 * 100vw), 16px);
   font-weight: 600;
   margin-bottom: 7px;
   transition: 0.2s;
}

.news-item a:hover .news-item__name {
   color: var(--theme-brand);
}

.news-item__desc {
   -webkit-line-clamp: 2 !important;
   line-clamp: 2 !important;
   color: var(--color-text);
   line-height: 20px;
   margin-bottom: 10px;
   word-break: break-word;
}

.news-item__next {
   font-weight: 600;
   color: var(--color-text);
   transition: 0.2s;
}

.news-item a:hover .news-item__next {
   color: var(--theme-brand);
}

.splide__arrow {
   background: color-mix(in srgb, var(--theme-brand) 10%, #fff) !important;
   opacity: 1 !important;
   border-radius: 5px !important;
   transition: 0.2s;
   width: 35px !important;
   height: 35px !important;
}

.splide__arrow--prev {
   left: -30px;
}

.splide__arrow--next {
   right: -30px;
}

.splide__arrow svg {
   fill: var(--theme-brand) !important;
   width: 24px;
   height: 24px;
   transition: 0.2s;
}

.splide__arrow:hover {
   background: var(--theme-brand) !important;
}

.splide__arrow:hover svg {
   fill: color-mix(in srgb, var(--theme-brand) 10%, #fff) !important;
}

#footer-map {
   overflow: hidden;
}

#footer-map iframe {
   display: block;
   width: 100%;
   height: 400px;
}

.footer-article {
   background: #fff;
   padding: 30px 0;
   border-top: solid 1px #ddd;
}

.footer-powered {
   padding: 10px 0;
   background: var(--theme-brand);
}

.footer-flex {
   display: flex;
   justify-content: space-between;
}

.footer-news:nth-child(1) {
   width: calc(300 / 1200 * 100%);
}

.footer-news:nth-child(2) {
   width: calc(300 / 1200 * 100%);
}

.footer-news:nth-child(3) {
   width: calc(400 / 1200 * 100%);
}

.footer-title {
   font-size: 20px;
   font-weight: 700;
   color: var(--color-text);
   margin-bottom: 20px;
}

.footer-ul {
   list-style: disc;
   padding-left: 15px;
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.footer-ul li {
   color: var(--theme-brand);
}

.footer-ul li a {
   color: var(--color-text);
   transition: 0.2s;
}

.footer-ul li a:hover {
   color: var(--theme-brand);
}

.footer-copyright {
   color: #fff;
   text-align: center;
}

.form-group,
.form-group-select {
   position: relative;
   margin-bottom: 15px;
}

.form-group input,
.form-group textarea {
   width: 100%;
   font-size: 14px;
   transition: 0.1s ease;
   resize: vertical;
   background: #fff !important;
   box-shadow: none !important;
   border-radius: 5px;
   border: 1px solid #cacaca;
}

.form-group.novalidate input,
.form-group.novalidate textarea {
   border: 1px solid #e2e2e2 !important;
}

.form-group input {
   height: 45px;
}

.form-group input.date-picker {
   padding-right: 35px;
}

.form-group input:hover,
.form-group textarea:hover {
   border-color: #7799d0 !important;
}

.form-group label,
.form-group-select > label {
   position: absolute;
   left: 12px;
   top: 12px;
   font-size: 14px;
   color: #777;
   transition: 0.1s ease;
   pointer-events: none;
   background-color: transparent;
   margin: 0;
   line-height: 1.5;
}

.form-group > span {
   position: absolute;
   right: 12px;
   top: 12px;
   transition: 0.1s ease;
   pointer-events: none;
   display: inline-block;
   max-width: 20px;
}

.form-group input:focus,
.form-group textarea:focus {
   border-color: var(--main-color);
   outline: 0;
}

.form-group input:focus + label,
.form-group input:not(:placeholder-shown) + label,
.form-group textarea:focus + label,
.form-group textarea:not(:placeholder-shown) + label,
.form-group-select > label {
   top: -10px;
   font-size: 12px;
   background: #fff;
   padding: 0 5px;
   left: 8px;
   transform: none;
}

.custom-file {
   position: relative;
   display: inline-block;
   width: 100%;
   height: calc(1.5em + 0.75rem + 2px);
   margin-bottom: 0;
}

.custom-file-input {
   position: relative;
   z-index: 2;
   width: 100%;
   height: calc(1.5em + 0.75rem + 2px);
   margin: 0;
   overflow: hidden;
   opacity: 0;
}

.custom-file-label {
   position: absolute;
   top: 0;
   right: 0;
   left: 0;
   z-index: 1;
   height: calc(1.5em + 0.75rem + 2px);
   padding: 0.375rem 0.75rem;
   overflow: hidden;
   font-weight: 400;
   line-height: 1.5;
   color: #495057;
   background-color: #fff;
   border: 1px solid #ced4da;
   border-radius: 0.25rem;
}

.custom-file-label::after {
   content: attr(title);
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   z-index: 3;
   display: block;
   height: calc(1.5em + 0.75rem);
   padding: 0.375rem 0.75rem;
   line-height: 1.5;
   color: #495057;
   content: "Browse";
   background-color: #e9ecef;
   border-left: inherit;
   border-radius: 0 0.25rem 0.25rem 0;
}

.modal {
   backdrop-filter: blur(4px);
   background: rgba(0, 0, 0, 0.7);
}

.modal-header {
   border-bottom: 1px solid #d1d5db;
   background: rgba(249, 250, 251, 0.6);
}

.modal-title {
   font-weight: 600;
   letter-spacing: 0.05em;
   color: #111827;
}

.modal-footer {
   border-top: 1px solid #d1d5db;
   background: rgba(249, 250, 251, 0.6);
}

.modal-btn--close {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 30px;
   height: 30px;
   font-size: 14px;
   color: #fff;
   background: red;
   position: absolute;
   top: -10px;
   right: -10px;
   z-index: 1;
   overflow: hidden;
   border-radius: 50%;
}

.invalid-feedback {
   font-size: 13px;
}

.form-button {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 15px;
}

.form-btn--submit {
   display: flex;
   align-items: center;
   justify-content: center;
   background: var(--theme-brand);
   color: #fff;
   border-radius: 5px;
   padding: 10px 20px;
   font-weight: 600;
   font-size: clamp(14px, calc(16 / 1200 * 100vw), 16px);
}

.breadCrumbs {
   background: color-mix(in srgb, var(--theme-brand) 10%, #fff);
   margin-bottom: 30px;
}

.breadcrumb {
   gap: 10px;
   padding: 10px 0 !important;
}

.breadcrumb li {
   display: flex;
   align-items: center;
   gap: 10px;
}

.breadcrumb li a {
   flex: 1 1 0%;
   color: #666;
   transition: 0.2s;
}

.breadcrumb li a:hover {
   color: var(--theme-brand);
}

.breadcrumb li.active a {
   font-weight: 500;
   color: var(--theme-brand);
}

.breadcrumb li svg {
   width: 7px;
   color: #666;
   margin-top: 2px;
}

.box-toc {
   background: #fff;
   border: 1px solid #e2e8f0;
   border-radius: 0.5rem;
   margin-bottom: 2rem;
   overflow: hidden;
   width: 100%;
   max-width: 100%;
   box-shadow:
      0 4px 6px -1px rgba(0, 0, 0, 0.1),
      0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.box-toc__header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 10px 20px;
   background: #f8fafc;
   cursor: pointer;
   border-bottom: 1px solid transparent;
   user-select: none;
}

.box-toc__header:hover {
   background: #f1f5f9;
}

.box-toc__title {
   font-weight: 700;
   font-size: 16px;
   color: var(--color-text);
   text-transform: uppercase;
   display: flex;
   align-items: center;
   gap: 10px;
}

.box-toc__title i {
   font-size: 20px;
}

.box-toc__toggle-icon {
   color: #64748b;
}

.box-toc__body {
   max-height: 0;
   overflow: hidden;
}

.box-toc--open .box-toc__body {
   max-height: 1000px;
   border-top: 1px solid #e2e8f0;
}

.box-toc--open .box-toc__toggle-icon {
   transform: rotate(180deg);
}

.box-toc__list {
   list-style: none;
   padding: 0;
   margin: 0;
}

.box-toc__item {
   margin: 0;
   position: relative;
}

.box-toc__link {
   display: block;
   padding: 8px 20px;
   color: #64748b;
   text-decoration: none;
   font-size: 0.95rem;
   line-height: 1.5;
   border-left: 3px solid transparent;
}

.box-toc__link:hover {
   color: var(--theme-brand) !important;
   background: #eff6ff !important;
}

.box-toc__link--active {
   color: var(--theme-brand);
   font-weight: 600;
   background: #eff6ff;
   border-left-color: var(--theme-brand);
}

.box-toc__item--h2 .box-toc__link {
   padding-left: 10px;
   font-weight: 600;
   color: #334155;
   font-size: 15px;
}

.box-toc__item--h3 .box-toc__link {
   padding-left: 20px;
   font-size: 14px;
}

.box-toc__item--h4 .box-toc__link {
   padding-left: 30px;
   font-size: 13px;
   font-style: italic;
}

.content-main {
   line-height: 26px;
}

.content-main h1 {
   text-align: center;
   font-size: 22px;
   margin-bottom: 30px;
}

.content-main h2 {
   margin: 20px 0;
   font-size: 19px;
}

.content-main h3 {
   margin: 15px 0 20px;
   font-size: 17px;
}

.content-main h4 {
   margin: 10px 0 20px;
   font-size: 15px;
}

.content-main table {
   width: 100%;
   margin: 10px 0 20px;
   font-size: 13px;
}

.content-main table th {
   background: #444;
   color: #fff;
   text-align: center;
   padding: 12px 7px;
}

.content-main table tr td {
   padding: 10px 7px;
}

.content-main tr:nth-child(even) {
   background: #f4f4f4;
}

.content-main tr:nth-child(odd) {
   background: #fff;
}

/* .content-main ol,
.content-main ul {
    list-style-type: disc;
    margin: 10px 0
} */

.content-main ol li,
.content-main ul li {
   margin-bottom: 10px;
}

.content-main a {
   color: #05f;
   font-weight: 700;
   display: contents;
}

.content-main iframe {
   width: 100% !important;
   display: block;
   margin: 10px auto 20px;
}

.content-main tr:nth-child(even) {
   background-color: #f2f2f2;
}

.content-main tr:hover {
   background-color: #ddd;
}

.content-main th {
   padding-top: 12px;
   padding-bottom: 12px;
   text-align: left;
   background-color: var(--theme-brand);
   color: #fff;
}

.content-main td,
.content-main th {
   border: 1px solid #ddd;
   padding: 8px;
}

.content-main figcaption {
   text-align: center;
}

.content-main a img {
   max-width: 100%;
   height: auto !important;
}

.content-main blockquote {
   border-left: solid 3px #ccc;
   padding-left: 20px;
   margin-left: 20px;
   font-style: italic;
}

.skeleton-item {
   box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.skeleton-box {
   background: #eee;
   background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%);
   background-size: 200% 100%;
   animation: 1.5s shine linear infinite;
   border-radius: 4px;
}

.skeleton-img {
   width: 100%;
   margin-bottom: 10px;
}

.skeleton-title {
   height: 20px;
   width: 80%;
   margin-bottom: 8px;
}

.skeleton-price {
   height: 20px;
   width: 50%;
}

@keyframes shine {
   to {
      background-position-x: -200%;
   }
}

.ggdich-box {
   position: relative;
   display: inline-block;
}

.ggdich-box__toggle {
   display: flex;
   align-items: center;
   justify-content: center;
   background: 0 0;
   border: none;
   padding: 0;
   cursor: pointer;
   font-size: 16px;
   color: inherit;
}

.ggdich-box__icon {
   margin-right: 6px;
}

.ggdich-box__dropdown {
   position: absolute;
   z-index: 15;
   top: 100%;
   left: 0;
   margin-top: 10px;
   min-width: 150px;
   background-color: #fff;
   padding: 8px;
   box-shadow:
      0 10px 15px -3px rgba(0, 0, 0, 0.1),
      0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.ggdich-box__item {
   display: flex;
   align-items: center;
   cursor: pointer;
   color: #000;
   margin-bottom: 10px;
   transition: color 0.2s;
}

.ggdich-box__item:last-child {
   margin-bottom: 0;
}

.ggdich-box__item:hover {
   color: #c0392b;
}

.ggdich-box__flag {
   margin-right: 7px;
   display: inline-block;
   max-width: 22px;
}

.ggdich-box__flag img {
   width: 100%;
   display: block;
}

.sidebox-group {
   position: sticky;
   top: 60px;
   border: 1px solid #dee2e6;
   border-radius: clamp(5px, calc(10 / 1200 * 100vw), 10px);
   padding: clamp(10px, calc(15 / 1200 * 100vw), 15px);
}

.sidebox-group__header {
   display: flex;
   font-size: clamp(15px, calc(16 / 1200 * 100vw), 16px);
   font-weight: 700;
   text-transform: uppercase;
   align-items: center;
   gap: 7px;
   font-weight: 600;
   padding: 0 0 8px;
   border-bottom: 0.5px dashed #ebe0e0;
   margin-bottom: 10px;
}

.sidebox-group__icon {
   font-size: 22px;
}

.sidebox-group__list {
   margin: 0;
   padding: 0;
   list-style: none;
}

.sidebox-group__item {
   position: relative;
}

.sidebox-group__link {
   color: #252a2b;
   position: relative;
   font-size: 15px;
   font-weight: 500;
   display: block;
   text-transform: capitalize;
   transition: 0.3s;
   padding: 5px 0;
}

.sidebox-group__item--has-child > .sidebox-group__link {
   padding-right: 30px;
}

.sidebox-group__link--active,
.sidebox-group__link:hover {
   color: var(--theme-brand) !important;
}

.sidebox-group__toggle {
   width: 25px;
   height: 25px;
   cursor: pointer;
   position: absolute;
   right: 0;
   top: 0;
   bottom: 0;
   margin: auto;
   border: 1px solid transparent;
   display: none;
}

.sidebox-group__item--has-child .sidebox-group__toggle {
   display: block;
}

.sidebox-group__toggle:hover {
   border: 1px solid #e7e7e7;
}

.sidebox-group__toggle::after,
.sidebox-group__toggle::before {
   background: rgba(9, 9, 9, 0.6);
   content: "";
   display: block;
   position: absolute;
   margin-right: 7px;
   top: 50%;
   right: 0;
   transition: all 0.25s linear;
}

.sidebox-group__toggle::before {
   width: 9px;
   height: 1px;
   transform: translateY(-50%);
}

.sidebox-group__toggle::after {
   width: 1px;
   height: 9px;
   right: 4px;
   transform: translateY(-50%) scale(1, 1);
}

.sidebox-group__item.opened > .sidebox-group__link .sidebox-group__toggle::after {
   transform: translateY(-50%) scale(1, 0);
}

.sidebox-group__sublist {
   margin: 0;
   padding-left: 10px;
   list-style: none;
   display: none;
}

.prodetail {
   display: block;
   width: 100%;
}

.prodetail__header {
   margin-bottom: 30px;
   display: grid;
   grid-template-columns: 45% 1fr;
   gap: 15px;
}

.prodetail__gallery {
   position: relative;
}

.prodetail__info {
   position: relative;
}

.prodetail__thumb {
   margin-bottom: 10px;
   border: solid 1px #eee;
   background: #fff;
   border-radius: 10px;
   overflow: hidden;
}

.prodetail__nav .splide__slide {
   opacity: 0.6;
   transition: opacity 0.3s;
   border: 1px solid transparent;
   border-radius: 10px;
   overflow: hidden;
}

.prodetail__nav .splide__slide.is-active {
   opacity: 1;
   border: solid 1px var(--theme-brand) !important;
   overflow: hidden;
}

.prodetail__title {
   font-size: clamp(20px, calc(25 / 1200 * 100vw), 25px);
   font-weight: 700;
   margin-bottom: 10px;
}

.prodetail__option {
   margin: 15px 0;
   list-style: none;
   padding: 0;
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
}

.prodetail__option li span {
   color: var(--theme-brand);
}

.prodetail__social {
   margin: 15px 0;
   display: flex;
   align-items: center;
   gap: 10px;
}

.prodetail__social-title {
   display: flex;
   align-items: center;
   gap: 10px;
   white-space: nowrap;
}

.prodetail__price {
   margin: 15px 0;
   font-size: clamp(14px, calc(15 / 1200 * 100vw), 15px);
}

.prodetail__price-new {
   font-size: clamp(18px, calc(24 / 1200 * 100vw), 24px);
   font-weight: 700;
   color: #d0021b;
}

.prodetail__price-old {
   text-decoration: line-through;
   color: #888;
   margin: 0 10px;
}

.prodetail__price-discount {
   background: #d0021b;
   color: #fff;
   padding: 2px 3px;
   border-radius: 5px;
   font-size: 11px;
   position: relative;
}

.prodetail__price-discount::before {
   content: "";
   border-right: 6px solid #d0021b;
   border-bottom: 6px solid transparent;
   border-top: 6px solid transparent;
   position: absolute;
   top: 50%;
   left: -4px;
   transform: translate(0, -50%);
}

.prodetail__qty-group {
   margin: 20px 0;
   display: flex;
   align-items: center;
}

.prodetail__qty-group label {
   font-weight: 600;
   margin-right: 15px;
}

.prodetail__qty-control {
   display: flex;
   align-items: center;
   border: 1px solid #dadada;
   border-radius: 4px;
   overflow: hidden;
}

.prodetail__qty-btn {
   width: 35px;
   height: 35px;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   background: #f3f3f3;
   transition: 0.2s;
}

.prodetail__qty-btn:hover {
   background: #eee;
}

.prodetail__qty-btn svg {
   width: 14px;
   height: 14px;
}

.prodetail__qty-input {
   width: 60px;
   height: 35px;
   border: none;
   text-align: center;
   outline: 0;
   -moz-appearance: textfield;
   appearance: textfield;
   border-left: solid 1px #dadada;
   border-right: solid 1px #dadada;
}

.prodetail__qty-input::-webkit-inner-spin-button,
.prodetail__qty-input::-webkit-outer-spin-button {
   -webkit-appearance: none;
   margin: 0;
}

.prodetail__desc {
   margin: 20px 0;
}

.prodetail__actions {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 15px;
   margin: 20px 0;
}

.prodetail__btn {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   padding-block: clamp(7px, calc(10 / 1200 * 100vw), 10px);
   border-radius: 4px;
   font-size: clamp(14px, calc(15 / 1200 * 100vw), 15px);
   transition: all 0.3s;
   text-decoration: none;
   min-height: 45px;
   cursor: pointer;
}

.prodetail__btn:hover {
   color: #fff !important;
   background: color-mix(in srgb, var(--theme-brand) 70%, #000) !important;
}

.prodetail__btn--add {
   color: #d0021b;
   background: #fff;
   border-color: #d0021b;
}

.prodetail__btn--buy {
   color: #fff;
   background: #d0021b;
   border-color: #d0021b;
}

.prodetail__btn--hotline {
   color: #fff !important;
   background: var(--theme-brand);
}

.prodetail__btn--zalo {
   color: #fff !important;
   background: #0068ff;
   padding: 5px 10px;
}

.prodetail__btn--zalo:hover {
   background: color-mix(in srgb, #0068ff 70%, #000) !important;
}

.prodetail__btn-text {
   font-weight: 500;
   text-transform: uppercase;
}

.prodetail__btn-subtext {
   display: block;
   font-size: 13px;
   font-weight: 300;
   text-transform: none;
}

.prodetail__tab-header {
   display: flex;
   gap: 20px;
   border-bottom: 2px solid #eee;
   margin-bottom: 20px;
   padding: 0;
   list-style: none;
}

.prodetail__tab-header li {
   padding: 10px 0;
   font-size: clamp(14px, calc(18 / 1200 * 100vw), 18px);
   cursor: pointer;
   font-weight: 600;
   text-transform: uppercase;
   position: relative;
   transition: color 0.3s;
}

.prodetail__tab-header li:after {
   content: "";
   position: absolute;
   bottom: -2px;
   left: 0;
   width: 0;
   height: 2px;
   background: var(--theme-brand);
   transition: width 0.3s;
}

.prodetail__tab-header li.active {
   color: var(--theme-brand);
}

.prodetail__tab-header li.active:after {
   width: 100%;
}

.prodetail__tab-body {
   display: none;
}

.prodetail__tab-body[x-show] {
   display: block;
}

.prodetail__related {
   margin-top: 40px;
}
.album-related__title h2,
.news-related__title h2,
.prodetail__related-title h2 {
   font-size: clamp(18px, calc(24 / 1200 * 100vw), 24px);
   font-weight: 700;
   text-transform: uppercase;
   margin-bottom: 20px;
   border-left: 4px solid var(--theme-brand);
   padding-left: 10px;
}

.prodetail__related-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 30px 15px;
}

.prodetail__attribute {
   margin-bottom: 20px;
}

.prodetail__attribute-label {
   display: block;
   font-size: clamp(14px, calc(16 / 1200 * 100vw), 16px);
   font-weight: 700;
   margin-bottom: 10px;
}

.prodetail__attribute-list {
   display: flex;
   flex-wrap: wrap;
   align-items: flex-start;
   gap: 10px;
}

.prodetail__attribute-btn {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 35px;
   padding: 5px 12px;
   border: 1px solid #dadada;
   border-radius: 2px;
   background: #fff;
   color: #111;
   font-size: clamp(12px, 1.5vw, 14px);
   cursor: pointer;
   overflow: hidden;
}

.prodetail__attribute-btn:hover {
   border-color: var(--theme-brand);
}

.prodetail__attribute-btn.active {
   border-color: var(--theme-brand);
   color: var(--theme-brand);
}

.prodetail__attribute-check {
   position: absolute;
   bottom: -1px;
   right: -1px;
   z-index: 1;
   width: 20px;
   height: 20px;
   display: none;
   align-items: flex-end;
   justify-content: flex-end;
   clip-path: polygon(100% 0, 0 100%, 100% 100%);
   color: #fff;
   background-color: var(--theme-brand);
}

.prodetail__attribute-btn.active .prodetail__attribute-check {
   display: flex;
}

.contact-flex {
   display: grid;
   grid-template-columns: 40% 1fr;
   gap: 20px;
}

.contact-map {
   position: relative;
   border-radius: 10px;
   overflow: hidden;
   height: 100%;
}

.contact-map iframe {
   width: 100%;
   height: 100%;
   min-height: 450px;
}

.contact-form {
   margin-top: 20px;
   background: #f5f5f5;
   padding: 15px;
   border: 1px solid #ddd;
   border-radius: 10px;
}

.contact-input {
   margin-bottom: 10px;
}

.contact-input input,
.contact-input textarea {
   border-radius: 7px;
   border: 1px solid #e1e1e1;
   text-indent: 0;
   color: #000;
   font-size: 13px;
   min-height: 40px;
}

/* Sort */
.sort-select {
   position: relative;
   display: flex;
   justify-content: end;
   margin-bottom: clamp(16px, 13.7258px + 0.5351vw, 24px);
}

.sort-select .click-sort {
   border: 1px solid #e0e0e0;
   background-color: #fff;
   border-radius: 4px;
   cursor: pointer;
   font-size: 14px;
   padding: 6px 10px 6px 8px;
   margin: 0px;
}

.sort-select-main {
   display: grid;
   background-color: #fff;
   border-radius: 4px;
   box-shadow: 0 4px 6px rgb(0 0 0 / 20%);
   position: absolute;
   padding: 0 7px;
   top: 30px;
   right: 0;
   width: 160px;
   z-index: 2;
}

.sort-select-main p {
   border-bottom: 1px solid #f1f1f1;
   margin: 0px;
   order: 2;
}

.sort-select-main p:has(.check) {
   order: 1;
}

.sort a {
   color: #000;
   font-size: 14px;
   line-height: 17px;
   padding: 11px 3px;
   display: block;
   cursor: pointer;
}

.sort a.check i {
   box-sizing: border-box;
   position: relative;
   display: inline-block;
   transform: scale(var(--ggs, 1));
   width: 22px;
   height: 16px;
   border: 2px solid transparent;
   border-radius: 100px;
   vertical-align: middle;
}

.sort a.check i::after {
   content: "";
   display: block;
   box-sizing: border-box;
   position: absolute;
   left: 3px;
   top: -4px;
   width: 6px;
   height: 10px;
   border-width: 0 2px 2px 0;
   border-style: solid;
   transform-origin: bottom left;
   transform: rotate(45deg);
}

.sort-select .sort-show {
   padding-right: 12px;
   position: relative;
}

.sort-select .sort-show::before {
   content: "";
   border-left: 4px solid transparent;
   border-right: 4px solid transparent;
   border-top: 4px solid #333;
   content: "";
   height: 0;
   position: absolute;
   top: 6px;
   right: 0;
   width: 0;
}
