@charset "UTF-8";
@media (min-width: 992px) {
  .container {
    max-width: 1440px; } }

@keyframes headShake {
  0%, 50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); } }

.swiper-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  color: #000; }
  .swiper-button::after {
    content: none; }
  .swiper-button svg {
    width: 44px;
    height: 44px; }

.swiper-related-next {
  right: 0; }

.swiper-related-prev {
  left: 0; }
  .swiper-related-prev svg {
    transform: rotate(180deg); }

.boxlazy-img__insert {
  position: relative;
  height: 0;
  display: block;
  width: 100%; }
  .boxlazy-img__insert.lazy-img__prod {
    height: calc(100vh - 190px); }
  .boxlazy-img__insert .boxlazy-img__aspect {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
    .boxlazy-img__insert .boxlazy-img__aspect img {
      width: 100%;
      height: 100%;
      object-fit: contain; }

.swiper-pagination .swiper-pagination-bullet {
  width: 50px;
  border-radius: 4px;
  height: 4px; }
  .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #000; }

.select {
  display: none;
  visibility: hidden; }

.select-swatch .swatch {
  margin-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }
  .select-swatch .swatch.is-color .pro-title {
    min-height: 38px; }

.select-swatch .swatch input {
  display: none; }

.select-swatch .swatch .pro-title {
  margin-bottom: 5px;
  min-width: 120px;
  font-size: 14px;
  font-weight: 600;
  margin-right: 15px; }

.select-swatch .swatch .pro-title strong {
  font-size: 85%;
  display: block;
  color: #4ea8cd;
  line-height: 1.1;
  padding-bottom: 3px; }

.select-swatch .swatch .swatch-element {
  display: inline-block;
  margin: 0 8px 8px 0;
  border-radius: 3px;
  position: relative;
  vertical-align: bottom; }
  .select-swatch .swatch .swatch-element:not(.color) {
    overflow: hidden; }

.select-swatch .swatch .swatch-element.color label {
  overflow: hidden; }

.select-swatch .swatch .swatch-element label {
  position: relative;
  display: block;
  margin: 0;
  padding: 7px 10px;
  min-width: 70px;
  font-size: 12px;
  font-weight: 500;
  color: var(--shop-color-title);
  background-color: #fff;
  border: 1px solid #bdbfbe;
  border-radius: 4px;
  text-align: center;
  cursor: pointer; }

.select-swatch .swatch .swatch-element label span {
  display: block;
  padding: 0 10px;
  overflow: hidden; }

.select-swatch .swatch .swatch-element.soldout {
  cursor: no-drop; }

.select-swatch .swatch .swatch-element.soldout label {
  opacity: .5;
  cursor: no-drop;
  pointer-events: none; }

.select-swatch .swatch .swatch-element.soldout label span:before, .select-swatch .swatch .swatch-element.soldout label span:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  z-index: -1;
  margin-top: 0;
  width: 100%;
  height: 1px;
  background: #bdbfbe; }

.select-swatch .swatch .swatch-element.soldout label span:before {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.select-swatch .swatch .swatch-element.soldout label span:after {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.select-swatch .swatch .swatch-element label.sd:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  right: -1px;
  top: -1px;
  border-style: solid;
  border-width: 0px 19px 19px 0px;
  border-color: transparent var(--shop-color-main) transparent transparent; }

.select-swatch .swatch .swatch-element label.sd:after {
  position: absolute;
  content: "";
  width: 19px;
  height: 19px;
  right: -1px;
  top: -1px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23fffff' d='M0 0h16c2.21 0 4 1.79 4 4v16L0 0z' transform='translate(-804 -366) translate(180 144) translate(484 114) translate(16 80) translate(0 28) translate(124)'/%3E%3Cg fill='%23FFF'%3E%3Cpath d='M4.654 7.571L8.88 3.176c.22-.228.582-.235.81-.016.229.22.236.582.017.81L5.04 8.825c-.108.113-.258.176-.413.176-.176 0-.33-.076-.438-.203L2.136 6.37c-.205-.241-.175-.603.067-.808.242-.204.603-.174.808.068L4.654 7.57z' transform='translate(-804 -366) translate(180 144) translate(484 114) translate(16 80) translate(0 28) translate(124) translate(7.5)'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }

#slideProduct .product-gallery__item {
  height: 100%;
  width: 100%; }
  #slideProduct .product-gallery__item img {
    cursor: url("https://file.hstatic.net/1000397797/file/cursor-zoom-in_67804ceaaa0941cf840b0ad13cde42ed.svg"), auto;
    overflow: hidden;
    -webkit-transition: all 300ms linear;
    -moz-transition: all 300ms linear;
    -ms-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    transition: all 300ms linear; }

@media (min-width: 992px) {
  #slideProduct .swiper-wrapper {
    flex-direction: column; } }

.product-gallery__item,
.product-thumb__link {
  display: block;
  width: 100%;
  height: 100%; }

.product-gallery__item img,
.product-thumb__photo {
  display: block; }

.product-thumb__video-icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #111;
  background: linear-gradient(180deg, rgba(17, 17, 17, 0.08) 0%, rgba(17, 17, 17, 0.18) 100%); }

@media (min-width: 992px) {
  .info-wrapper {
    position: sticky;
    top: calc(var(--header-height) + 60px);
    z-index: 99; } }

.product-info .product-sku, .product-info .product-price, .product-info .product-short-desc, .product-info .product-action-flex, .product-info .product-variants__pd {
  margin-bottom: 24px; }

.product-info .product-short-desc * {
  font-family: var(--body-font) !important; }

.product-info .product-sku {
  font-size: 16px;
  display: flex;
  gap: 15px; }
  .product-info .product-sku span {
    display: inline-block; }
    .product-info .product-sku span strong {
      font-weight: normal; }
    .product-info .product-sku span.pro-type strong {
      padding-left: 4px; }

.product-info .product-name h1 {
  font-size: 26px;
  font-weight: normal;
  margin: 0 0 6px; }

.product-info .product-price {
  display: flex;
  align-items: center; }
  .product-info .product-price .pro-price {
    font-size: 20px;
    display: inline-block; }
  .product-info .product-price del {
    font-size: 16px;
    line-height: 32px;
    color: #9e9e9e;
    margin: 0 0 0 15px;
    font-weight: normal; }
  .product-info .product-price .pro-percent {
    display: inline-block;
    min-width: 36px;
    padding: 4px 10px;
    margin-left: 15px;
    background: #ff0000;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    font-weight: 600;
    font-size: 10px;
    letter-spacing: 0.5px;
    border-radius: 10px;
    vertical-align: text-bottom;
    line-height: 1.5;
    white-space: nowrap; }

.product-info .product-action-flex {
  display: flex;
  gap: 18px; }
  .product-info .product-action-flex .pro-qty {
    border: 1px solid #000;
    padding: 0; }
    .product-info .product-action-flex .pro-qty .qty-btn {
      border: none;
      background: transparent;
      outline: none;
      width: 40px;
      height: 40px; }
    .product-info .product-action-flex .pro-qty .qty-value {
      max-width: 50px;
      text-align: center;
      border: none;
      outline: none;
      background: transparent; }
  .product-info .product-action-flex .product-actions {
    flex: 1; }
    .product-info .product-action-flex .product-actions .product-actions__inner {
      height: 100%;
      display: flex; }
      .product-info .product-action-flex .product-actions .product-actions__inner .action-buys {
        width: 100%; }
    .product-info .product-action-flex .product-actions .btn-addtocart {
      min-height: 40px;
      width: 100%; }
      .product-info .product-action-flex .product-actions .btn-addtocart.disabled {
        opacity: 0.6;
        cursor: not-allowed; }

.product-info .product-variants {
  position: relative; }
  .product-info .product-variants.check-action-variant {
    padding: 0 15px;
    z-index: 1; }
    .product-info .product-variants.check-action-variant::before {
      content: "";
      border-radius: 10px;
      position: absolute;
      top: -10px;
      right: 0;
      bottom: 0;
      left: 0;
      background: #fff5f5;
      z-index: -1; }
    .product-info .product-variants.check-action-variant .check-action-tt {
      color: red;
      font-weight: 500;
      margin: 0; }
      .product-info .product-variants.check-action-variant .check-action-tt.text-effect {
        animation: 1s cubic-bezier(0.25, 0.75, 0.25, 1) 0.1s 1 forwards headShake; }

/* ─── Description accordion ─── */
.prod-info__acc-item.is-open .prod-acc__header .prod-acc__icon {
  transform: rotate(180deg); }

.prod-acc__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  margin: 0 0 16px;
  cursor: pointer;
  user-select: none;
  outline: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06); }
  .prod-acc__header:focus-visible {
    border-radius: 8px;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12); }
  .prod-acc__header .prod-acc__title {
    font-size: 14px;
    font-weight: bold;
    color: #000;
    line-height: 20px; }
  .prod-acc__header .prod-acc__icon {
    font-size: 18px;
    color: #000;
    font-style: normal;
    line-height: 1;
    transition: .3s all ease; }

.prod-acc__content {
  padding: 0 0 16px;
  font-size: 14px;
  line-height: 20px;
  color: #000;
  display: none; }
  .prod-acc__content * {
    font-family: var(--body-font) !important; }

.product-detail-section {
  scroll-margin-top: calc(var(--header-height) + 24px); }
  .product-detail-section__inner {
    position: relative;
    overflow: hidden; }
  .product-detail-section__lead {
    max-width: 680px;
    margin: 12px auto 0;
    font-size: 16px;
    line-height: 1.75;
    color: #5c5349;
    text-align: center; }
  .product-detail-section__content {
    position: relative;
    overflow: visible;
    max-height: none; }
  .product-detail-section__body {
    max-width: 100%;
    margin: 0 auto; }
  .product-detail-section__entry {
    color: #1b1b1b; }
    .product-detail-section__entry + .product-detail-section__entry {
      margin-top: 16px;
      padding-top: 16px;
      border-top: 1px solid rgba(0, 0, 0, 0.08); }
  .product-detail-section__entry-title {
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 10px;
    color: var(--shop-color-title); }
  .product-detail-section__entry-content > :last-child {
    margin-bottom: 0; }
  .product-detail-section__entry-content img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 18px; }
  .product-detail-section__toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 220px;
    padding: 13px 20px;
    margin: 28px auto 0;
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-radius: 999px;
    background: #fff;
    color: #000;
    font-size: 14px;
    font-weight: 600;
    transition: .3s all ease; }
    .product-detail-section__toggle:hover {
      background: #111;
      color: #fff; }
    .product-detail-section__toggle:focus-visible {
      outline: 2px solid rgba(0, 0, 0, 0.15);
      outline-offset: 3px; }
    .product-detail-section__toggle.is-visible {
      display: inline-flex; }
  .product-detail-section__toggle-icon {
    display: inline-flex;
    transition: transform .3s ease; }
  .product-detail-section.is-collapsible:not(.is-expanded) .product-detail-section__content::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 96px;
    background: linear-gradient(180deg, rgba(255, 250, 245, 0) 0%, rgba(255, 250, 245, 0.96) 72%, #fffaf5 100%);
    pointer-events: none; }
  .product-detail-section.is-expanded .product-detail-section__toggle-icon {
    transform: rotate(180deg); }

.section-title h2 {
  font-size: 40px;
  font-weight: normal;
  color: var(--shop-color-title);
  margin: 0 0 20px;
  text-align: center;
  line-height: 1.8; }

/* #2 Reduce product page section spacing (scoped) */
.productDetail-main .product-info .product-sku, .productDetail-main .product-info .product-price, .productDetail-main .product-info .product-short-desc, .productDetail-main .product-info .product-action-flex, .productDetail-main .product-info .product-variants__pd {
  margin-bottom: 20px; }

.productDetail-main .product-info .product-name h1 {
  font-size: 30px;
  margin: 0 0 6px; }

.productDetail-main .product-info .product-sku {
  font-size: 16px; }

.productDetail-main .product-info .product-price .pro-price {
  font-size: 21px; }

.productDetail-main .product-description {
  margin-top: 8px; }

.productDetail-main .prod-info__acc-item + .prod-info__acc-item {
  margin-top: 0; }

.productDetail-main .prod-acc__content {
  padding-bottom: 6px; }

.productDetail-main .product-detail-section {
  padding-top: 24px !important; }

.productDetail-main .product-viewed {
  padding-bottom: 24px !important; }

.productDetail-related {
  overflow: hidden; }

.list-product-slide {
  overflow: initial; }

@media (min-width: 992px) {
  .info-wrapper .info--header {
    display: flex;
    justify-content: space-between;
    align-items: start; }
    .info-wrapper .info--header .info--header-right {
      margin-top: 14px; } }

@media (max-width: 991px) {
  .swiper-button svg {
    width: 25px;
    height: 25px; }
  .productDetail-main .product-info {
    margin-top: 20px;
    text-align: center; }
    .productDetail-main .product-info .product-name h1 {
      font-size: 20px; }
    .productDetail-main .product-info .product-sku, .productDetail-main .product-info .product-price, .productDetail-main .product-info .product-short-desc, .productDetail-main .product-info .product-action-flex, .productDetail-main .product-info .product-variants__pd {
      margin-bottom: 20px; }
    .productDetail-main .product-info .product-sku {
      font-size: 16px;
      justify-content: center; }
    .productDetail-main .product-info .product-price {
      justify-content: center; }
      .productDetail-main .product-info .product-price .pro-price {
        font-size: 17px; }
    .productDetail-main .product-info .product-action-flex {
      gap: 10px; }
      .productDetail-main .product-info .product-action-flex .pro-qty .qty-btn {
        width: 20px; }
  .product-detail-section__lead {
    font-size: 14px; }
  .product-detail-section__entry + .product-detail-section__entry {
    margin-top: 24px;
    padding-top: 24px; }
  .product-detail-section__entry-title {
    font-size: 20px; }
  .product-detail-section__toggle {
    width: 100%;
    min-width: 0; }
  .prod-acc__content {
    text-align: left; }
  .section-title h2 {
    font-size: 30px; }
  #slideProduct .swiper-pagination {
    position: unset;
    margin-top: 10px; }
  .boxlazy-img__insert.lazy-img__prod {
    height: auto;
    padding-bottom: 100%; } }
