@charset "UTF-8";
body {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  color: #666;
  font-size: 12px;
  line-height: 20px;
  width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  color: #444;
}

/* Override the bootstrap defaults */
h1 {
  font-size: 33px;
}

h2 {
  font-size: 27px;
}

h3 {
  font-size: 21px;
}

h4 {
  font-size: 15px;
}

footer h5 {
  font-size: 12px;
}

h6 {
  font-size: 10.2px;
}

a {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

/* Chrome border line */
button:focus {
  outline: none !important;
}

legend {
  font-size: 18px;
  padding: 7px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
}

label {
  font-size: 12px;
  font-weight: normal;
}

.list-unstyled a {
  text-decoration: none;
}

.nav-tabs {
  margin-bottom: 15px;
}

div.required .col-form-label:before, div.required .form-label:before {
  content: "* ";
  color: #F00;
  font-weight: bold;
}

.form-switch-lg {
  font-size: 20px;
  min-height: 30px;
  line-height: 30px;
}

@media (min-width: 768px) {
  .col-form-label {
    text-align: right;
  }
}
#alert {
  z-index: 9999;
  pointer-events: all;
}

#alert .alert {
  min-width: 400px;
  position: relative;
  margin-bottom: 15px;
}

@media (min-width: 1300px) {
  #alert .alert {
    right: 50px;
  }
}
@media (min-width: 1400px) {
  #alert .alert {
    right: 0px;
  }
}
@media (min-width: 1600px) {
  #alert .alert {
    right: 100px;
  }
}
@media (min-width: 1800px) {
  #alert .alert {
    right: 200px;
  }
}
@media (min-width: 2000px) {
  #alert .alert {
    right: 300px;
  }
}
@media (min-width: 2200px) {
  #alert .alert {
    right: 400px;
  }
}
@media (min-width: 2400px) {
  #alert .alert {
    right: 500px;
  }
}
@media (min-width: 2600px) {
  #alert .alert {
    right: 600px;
  }
}
@media (min-width: 2800px) {
  #alert .alert {
    right: 700px;
  }
}
@media (min-width: 3000px) {
  #alert .alert {
    right: 800px;
  }
}
@media (min-width: 3200px) {
  #alert .alert {
    right: 900px;
  }
}
@media (min-width: 3400px) {
  #alert .alert {
    right: 1000px;
  }
}
@media (min-width: 3600px) {
  #alert .alert {
    right: 1100px;
  }
}
@media (min-width: 3800px) {
  #alert .alert {
    right: 1200px;
  }
}
@media (min-width: 4000px) {
  #alert .alert {
    right: 1300px;
  }
}
/* top */
#top {
  background-color: #fff;
  border-bottom: 1px solid #eee;
  min-height: 36px;
  position: relative;
}
#top .top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 36px;
  padding: 4px 0;
}
#top .top-bar-start,
#top .top-bar-end {
  display: flex;
  align-items: center;
}
#top .nav > .list-inline > .list-inline-item, #top .nav > .list-inline .list-inline-item > a, #top .nav > .list-inline .list-inline-item .dropdown > a {
  color: #888;
  text-shadow: 0 1px 0 #FFF;
}
#top ul {
  margin-bottom: 0;
}
#top .btn-link {
  color: #888;
  text-shadow: 0 1px 0 #FFF;
  text-decoration: none;
}
#top .btn-link:hover {
  color: #444;
}

#top a {
  font-size: 1.1em;
  text-decoration: none;
}

.header-wrap {
  padding: 16px 0;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}

@media (min-width: 768px) {
  .header-wrap {
    padding: 24px 0;
  }
}
footer a {
  font-size: 1.1em;
  text-decoration: none;
}

/* logo */
#logo .logo-brand-link {
  gap: 0.75rem;
  text-decoration: none;
}
#logo .logo-icon {
  max-height: 52px;
  width: auto;
  max-width: none;
}
#logo .logo-brand-text {
  color: #1c3557;
  font-size: clamp(1.25rem, 2.4vw, 1.85rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}

/* search */
#search {
  max-width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  #search {
    max-width: 80%;
  }
}
#search .form-control-lg {
  height: 40px;
  font-size: 12px;
  line-height: 20px;
  padding: 0 10px;
}
#search .btn {
  background-color: #e74847;
  color: #fff;
}

.header-cart-wrap .btn-default {
  height: 40px;
  line-height: 40px;
  padding: 0 0.8rem;
}

/* cart */
#header-cart .btn.dropdown-toggle {
  color: #333;
}
#header-cart .dropdown-menu {
  border: 1px solid #ddd;
  border-radius: 3px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
#header-cart .dropdown-menu li {
  min-width: 427px;
}

@media (max-width: 768px) {
  #header-cart .dropdown-menu li {
    min-width: 100%;
  }
}
/* menu */
.menu-wrap {
  background-color: #272727;
}

#menu {
  min-height: 40px;
  border-radius: 4px;
  margin-bottom: 20px;
}
#menu.navbar {
  padding: 0;
}
#menu .dropdown-menu {
  padding-bottom: 0;
  margin-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
#menu .dropdown-inner {
  display: table;
}
#menu .dropdown-inner ul {
  display: table-cell;
}
#menu .dropdown-inner ul li a:hover {
  background-color: #eee;
}
#menu .dropdown-inner a {
  min-width: 160px;
  display: block;
  padding: 5px 20px;
  clear: both;
  line-height: 20px;
  color: #333333;
  font-size: 12px;
}
#menu .see-all {
  display: block;
  margin-top: 0.5em;
  border-top: 1px solid #DDD;
  padding: 3px 20px;
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 3px 3px;
  font-size: 12px;
}
#menu .see-all:hover, #menu .see-all:focus {
  text-decoration: none;
  background-color: #eee;
  background-repeat: repeat-x;
}
#menu #category {
  float: left;
  font-size: 16px;
  font-weight: 700;
  line-height: 40px;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
#menu .navbar-toggler i {
  color: #fff;
  border-color: #fff;
  font-size: 0.9em;
}
#menu .navbar-nav > li:hover > a {
  background-color: #e74847;
}
#menu .navbar-nav > li > a {
  color: #fff;
  padding: 10px 15px 10px 15px;
  min-height: 15px;
  background-color: transparent;
}
@media (min-width: 768px) {
  #menu .dropdown:hover .dropdown-menu {
    display: block;
  }
}
@media (max-width: 767px) {
  #menu {
    border-radius: 4px;
  }
  #menu div.dropdown-inner > ul .list-unstyled {
    display: block;
  }
  #menu div.dropdown-menu {
    margin-left: 0 !important;
    padding-bottom: 10px;
    background-color: rgba(0, 0, 0, 0.1);
  }
  #menu .dropdown-inner {
    display: block;
  }
  #menu .dropdown-inner a {
    width: 100%;
    color: #fff;
  }
  #menu .dropdown-menu a:hover {
    background: rgba(0, 0, 0, 0.1);
  }
  #menu .dropdown-menu ul li a :hover {
    background: rgba(0, 0, 0, 0.1);
  }
  #menu .see-all {
    margin-top: 0;
    border: none;
    border-radius: 0;
    color: #fff;
  }
}

/* content */
#content {
  min-height: 600px;
}

/* footer */
footer {
  margin-top: 30px;
  padding-top: 30px;
  padding-bottom: 1px;
  background-color: #f1f2f4;
  border-top: 1px solid #e4e4e4;
  color: #e2e2e2;
}
footer .powered-wrap {
  border-top: 1px solid #e4e4e4;
  background: #d4d7de;
  text-align: center;
  padding: 20px 0;
  margin-top: 20px;
  color: #777;
  margin-bottom: 0;
}
footer ul.list-unstyled li {
  padding: 10px 0;
  position: relative;
  display: flex;
  align-items: center;
}
footer ul.list-unstyled li::before {
  content: "\f105";
  font-family: "FontAwesome";
  position: absolute;
  right: auto;
  top: 4px;
  left: 0;
  line-height: 28px;
  font-style: normal;
  font-weight: normal;
  color: #777;
}
footer ul.list-unstyled li:hover a {
  margin-left: 11px;
}
footer ul.list-unstyled li a {
  padding-left: 16px;
  color: #777;
  transition: all 0.5s ease 0s;
}
footer h5 {
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  font-size: 18px;
  position: relative;
  margin-bottom: 26px;
  color: #333;
  position: relative;
}
footer h5::after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 0;
  width: 80%;
  border-bottom: 1px solid #ddd;
}

/* breadcrumb */
.breadcrumb {
  margin: 0 0 20px 0;
}
.breadcrumb i {
  font-size: 15px;
}
.breadcrumb > li.breadcrumb-item {
  text-shadow: 0 1px 0 #FFF;
  position: relative;
  padding: 0;
  white-space: nowrap;
}
.breadcrumb > li.breadcrumb-item > a {
  text-decoration: none;
  padding-right: 5px;
  padding-left: 5px;
  color: #666;
}
.breadcrumb > li.breadcrumb-item:before {
  content: "/";
  padding-right: 0;
}
.breadcrumb > li.breadcrumb-item:first-of-type:before {
  content: "";
}

.pagination {
  margin: 0;
}

.btn-primary {
  color: #fff;
}

.quantity-wrap {
  width: 130px;
  border: 1px solid #eee;
  border-radius: var(--bs-border-radius-lg);
}
.quantity-wrap .btn {
  padding-left: 10px;
  padding-right: 10px;
  background-color: #eee;
  border-color: #eee;
}
.quantity-wrap .btn i {
  color: #333;
}
.quantity-wrap input {
  border: none;
  text-align: center;
}

.btn-default {
  border: 1px solid #eee;
  background-color: #fff;
  color: #666;
}
.btn-default:hover {
  color: #222;
  border-color: #e74847;
}

.product-main-image {
  border: 1px solid #eee;
}

.product-description .price-wrap {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
}
.product-description .model-wrap {
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}
.product-description .model-wrap li {
  padding: 3px 0;
}
.product-description .model-wrap li .text-title {
  color: #777;
  display: inline-block;
  width: 100px;
}

/* buttons */
.product-thumb {
  border: 1px solid #eee;
  background-color: #fff;
  border-radius: 6px;
  margin-bottom: 15px;
  transition: all 0.3s ease-out;
}
.product-thumb h4 {
  font-weight: bold;
}
.product-thumb h4 .p-name {
  color: #111;
}
.product-thumb:hover {
  box-shadow: 6px 8px 30px 0px rgba(0, 0, 0, 0.1), inset 0 0 0 1px #fff;
}
.product-thumb:hover .image .form-btns {
  bottom: 0;
  opacity: 1;
}
.product-thumb .image {
  text-align: center;
  margin-bottom: 15px;
  position: relative;
  overflow: hidden;
}
.product-thumb .image .form-btns {
  bottom: -30px;
  display: flex;
  justify-content: center;
  opacity: 0;
  position: absolute;
  transition: all 0.2s ease-in-out;
  width: 100%;
  z-index: 40;
}
.product-thumb .image .form-btns .button-group {
  width: 100%;
}
.product-thumb .image a:hover {
  opacity: 0.8;
}
.product-thumb .description {
  padding: 0 10px 10px;
  text-align: center;
}
.product-thumb .button-group {
  display: flex;
  background-color: #eee;
}
.product-thumb .button-group button {
  flex: 33%;
  border-radius: 0;
  display: inline-block;
  border: none;
  background-color: #000;
  color: #fff;
  line-height: 32px;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
}
.product-thumb .button-group button:hover {
  background-color: #e74847;
  text-decoration: none;
  cursor: pointer;
}
.product-thumb .button-group button + button {
  border-left: 1px solid #444;
}
.product-thumb .product-thumb-buy-now {
  display: block;
  width: calc(100% - 20px);
  margin: 0 10px 10px;
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  background: #e74847;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.product-thumb .product-thumb-buy-now:hover, .product-thumb .product-thumb-buy-now:active {
  background: rgb(88.742081448%, 14.1583710407%, 13.6892911011%);
  color: #fff;
}

/* PC grid — equal-height product cards */
@media (min-width: 768px) {
  #product-list.row:not(.product-list) > .col,
  .module-featured .row > .col,
  .product-related .row > .col {
    display: flex;
  }
  #product-list.row:not(.product-list) .product-thumb,
  .module-featured .product-thumb,
  .product-related .product-thumb {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
  }
  #product-list.row:not(.product-list) .product-thumb .image,
  .module-featured .product-thumb .image,
  .product-related .product-thumb .image {
    flex: 0 0 auto;
    aspect-ratio: 1;
    margin-bottom: 12px;
  }
  #product-list.row:not(.product-list) .product-thumb .image > a,
  .module-featured .product-thumb .image > a,
  .product-related .product-thumb .image > a {
    display: block;
    height: 100%;
  }
  #product-list.row:not(.product-list) .product-thumb .image img,
  .module-featured .product-thumb .image img,
  .product-related .product-thumb .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #product-list.row:not(.product-list) .product-thumb .content,
  .module-featured .product-thumb .content,
  .product-related .product-thumb .content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }
  #product-list.row:not(.product-list) .product-thumb .description,
  .module-featured .product-thumb .description,
  .product-related .product-thumb .description {
    flex: 1 1 auto;
  }
  #product-list.row:not(.product-list) .product-thumb .description h4 .p-name,
  .module-featured .product-thumb .description h4 .p-name,
  .product-related .product-thumb .description h4 .p-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
    min-height: 2.8em;
  }
  #product-list.row:not(.product-list) .product-thumb .product-thumb-buy-now,
  .module-featured .product-thumb .product-thumb-buy-now,
  .product-related .product-thumb .product-thumb-buy-now {
    margin-top: auto;
    flex-shrink: 0;
  }
  #product-list.product-list > .col {
    display: flex;
  }
  #product-list.product-list .product-thumb {
    width: 100%;
    height: 100%;
    margin-bottom: 0;
  }
}
@media (min-width: 960px) {
  .product-list .product-thumb {
    display: flex;
  }
  .product-list .product-thumb .image {
    flex-direction: column;
    margin-bottom: 0px;
  }
  .product-list .product-thumb .content {
    flex-direction: column;
    flex: 75%;
    position: relative;
  }
  .product-list .product-thumb .button-group {
    position: absolute;
    bottom: 0px;
    width: 100%;
    border-left: 1px solid #ddd;
  }
}
.rating {
  padding-bottom: 10px;
}
.rating .fa-stack {
  width: 20px;
}
.rating.fa-star {
  color: #999;
  font-size: 15px;
}
.rating .fa-star {
  color: #FC0;
  font-size: 15px;
}
.rating .fa-star + .fa-star {
  color: #E69500;
}

/* product list */
.price {
  color: #444;
}

.price-new {
  font-weight: 600;
  color: #e74847;
}

.price-old {
  text-decoration: line-through;
}

.price-tax {
  color: #999;
  font-size: 12px;
  display: block;
}

/* BS4 Changes */
.navbar-light .navbar-toggler {
  font-size: 15px;
  font-stretch: expanded;
  color: #FFF;
  padding: 6px 12px;
  background-color: #229ac8;
  background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
  background-repeat: repeat-x;
  border-color: #1f90bb #1f90bb #145e7a;
}

.form-check .form-check-input {
  margin-top: 0.25rem;
}

/* Theme Custom CSS */
#display-control #compare-total.a {
  margin-top: -2px;
  padding: 0.35rem 0.565rem;
}

#product-info h1,
#product-product h1 {
  margin-top: 20px;
  margin-bottom: 10px;
}

.product-page .product-breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-bottom: 12px;
  padding: 0 12px;
}
.product-page .product-breadcrumb::-webkit-scrollbar {
  display: none;
}
.product-page .product-breadcrumb .breadcrumb-item {
  flex-shrink: 0;
}
.product-page .product-title {
  font-size: 20px;
  line-height: 1.45;
  margin: 0 0 10px;
  color: #222;
  font-weight: 600;
}
.product-page .product-summary {
  background: #fff;
}
.product-page .price-wrap {
  margin-bottom: 10px;
}
.product-page .price-info {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}
.product-page .price-new {
  font-size: 28px;
  font-weight: 700;
  color: #e74847;
  line-height: 1.2;
}
.product-page .price-old {
  font-size: 15px;
  color: #999;
  text-decoration: line-through;
}
.product-page .price-tax,
.product-page .price-points {
  font-size: 12px;
  color: #999;
  margin-top: 4px;
}
.product-page .product-rating p {
  margin-bottom: 10px;
  font-size: 13px;
}
.product-page .product-meta {
  margin: 0;
  padding: 10px 0 0;
  border-top: 1px solid #f0f0f0;
}
.product-page .product-meta .product-meta-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  font-size: 13px;
  color: #666;
  border-bottom: 1px solid #f5f5f5;
}
.product-page .product-meta .product-meta-item:last-child {
  border-bottom: none;
}
.product-page .product-meta .product-meta-item .text-title {
  color: #999;
  flex-shrink: 0;
}
.product-page .product-meta .product-meta-item a {
  color: #337ab7;
}
.product-page .product-discounts {
  margin: 0;
  padding: 10px 0 0;
  font-size: 13px;
  color: #666;
}
.product-page .product-discounts li {
  padding: 4px 0;
}
.product-page .product-section-title {
  font-size: 15px;
  font-weight: 600;
  color: #333;
  margin: 0 0 12px;
}
.product-page .product-options-panel {
  background: #fff;
  margin-top: 10px;
  padding-top: 14px;
  border-top: 8px solid #f4f4f4;
}
.product-page .product-qty-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}
.product-page .product-qty-total {
  text-align: right;
  flex-shrink: 0;
}
.product-page .product-qty-total-label {
  display: block;
  font-size: 12px;
  color: #999;
}
.product-page .product-qty-total-price {
  font-size: 18px;
  font-weight: 700;
  color: #e74847;
}
.product-page .product-gallery {
  position: relative;
}
.product-page .product-gallery .product-gallery-back {
  position: absolute;
  top: calc(12px + env(safe-area-inset-top, 0px));
  left: 12px;
  z-index: 5;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  padding: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}
.product-page .product-gallery .product-gallery-back:active {
  background: rgba(0, 0, 0, 0.5);
}
.product-page .product-gallery .product-gallery-account {
  position: absolute;
  top: calc(12px + env(safe-area-inset-top, 0px));
  right: 12px;
  z-index: 5;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  padding: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}
.product-page .product-gallery .product-gallery-account:active {
  background: rgba(0, 0, 0, 0.5);
}
.product-page .product-gallery .product-carousel {
  position: relative;
  background: #fff;
}
.product-page .product-gallery .product-carousel .carousel-inner {
  background: #fff;
}
.product-page .product-gallery .product-carousel .carousel-item {
  background: #fff;
  transition: transform 0.22s ease-out;
}
.product-page .product-gallery .product-carousel.carousel-fade .carousel-item {
  transition: opacity 0.22s ease-out;
}
.product-page .product-gallery .product-carousel .product-carousel-img {
  width: 100%;
  max-height: 420px;
  object-fit: contain;
  margin: 0 auto;
  background: #fff;
}
.product-page .product-gallery .product-carousel .product-carousel-counter {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  padding: 4px 10px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 12px;
  line-height: 1.4;
  pointer-events: none;
}
.product-page .product-actions--desktop {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
  align-items: center;
  gap: 10px;
}
.product-page .product-actions--desktop #button-cart {
  flex: 1;
  min-height: 48px;
  font-weight: 600;
}
.product-page .product-actions-secondary {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.product-page .product-actions-secondary .btn {
  width: 48px;
  min-height: 48px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.product-page .product-tabs-wrap {
  margin-top: 10px;
  background: #fff;
  border-top: 8px solid #f4f4f4;
}
.product-page .product-ad-slot-wrap {
  margin-top: 8px;
}
.product-page .product-ad-slot-wrap:empty {
  display: none;
}
.product-page .product-tab-nav {
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  border-bottom: 1px solid #eee;
  background: #fff;
}
.product-page .product-tab-nav::-webkit-scrollbar {
  display: none;
}
.product-page .product-tab-nav .nav-item {
  flex-shrink: 0;
}
.product-page .product-tab-nav .nav-link {
  white-space: nowrap;
  font-size: 14px;
  padding: 14px 16px;
  color: #666;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  border-radius: 0;
}
.product-page .product-tab-nav .nav-link.active {
  color: #e74847;
  background: transparent;
  border-bottom-color: #e74847;
  font-weight: 600;
}
.product-page .product-tab-content {
  padding: 16px;
  font-size: 14px;
  line-height: 1.7;
  color: #555;
  background: #fff;
}
.product-page .product-tab-content .table,
.product-page .product-tab-content .product-spec-table {
  font-size: 13px;
  margin-bottom: 0;
}
.product-page .product-related,
.product-page .product-tags {
  padding: 0 12px;
}
.product-page .product-related {
  margin-top: 10px;
  padding-top: 16px;
  border-top: 8px solid #f4f4f4;
  background: #fff;
}

.product-mobile-bar {
  display: none;
}

.product-mobile-bar-spacer {
  height: 0;
}

#information-contact .card {
  margin-bottom: 20px;
}

#cookie {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: 9999;
  opacity: 0.95;
  color: #ecf0f1;
  background: #343a40;
}

#cookie div {
  font-size: 16px;
  color: #FFFFFF;
}

.account-list h2 {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #eee;
  clear: both;
}
.account-list h2 i {
  margin-right: 10px;
  display: inline-block;
}
@media (max-width: 768px) {
  .account-list h2 {
    font-size: 17px;
  }
}
.account-list .list-unstyled {
  margin-right: -2%;
  clear: both;
}
@media (max-width: 768px) {
  .account-list .list-unstyled {
    margin-bottom: 12px;
  }
}
.account-list .list-unstyled li {
  float: left;
  width: 18%;
  margin-right: 2%;
}
.account-list .list-unstyled a {
  position: relative;
  display: block;
  text-align: center;
  padding: 14px;
  width: 100%;
  border-radius: 6px;
  margin-bottom: 20px;
  font-size: 15px;
  color: #666;
  border: 1px solid #ddd;
  transition: all 0.3s ease 0s;
}
.account-list .list-unstyled a i {
  font-size: 26px;
}
.account-list .list-unstyled a span {
  display: block;
  margin-top: 12px;
  height: 40px;
}
@media (max-width: 768px) {
  .account-list .list-unstyled a {
    font-size: 14px;
    padding: 5px 0 5px 22px;
  }
}
.account-list .list-unstyled a:hover {
  background: #e74847;
  border-color: #e74847;
  color: #000;
  box-shadow: 0 -1px 16px 6px #e4e4e4;
}

/* Homepage mobile optimization */
.home-page #content > * + * {
  margin-top: 16px;
}

.home-ad-slot {
  width: 100%;
  clear: both;
}
.home-ad-slot__inner {
  width: 100%;
}
.home-ad-slot__desktop, .home-ad-slot__mobile {
  width: 100%;
  justify-content: center;
}
.home-ad-slot__desktop {
  display: flex;
}
.home-ad-slot__mobile {
  display: flex;
}
.home-ad-slot__placeholder {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  background: #f7f7f7;
  border: 1px dashed #e4e4e4;
  border-radius: 4px;
}
.home-ad-slot__placeholder:empty::after {
  content: "AD";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: inherit;
  color: #ccc;
  font-size: 12px;
  letter-spacing: 1px;
}
.home-ad-slot__placeholder:not(:empty) {
  background: transparent;
  border: none;
  border-radius: 0;
  min-height: 0;
  height: auto;
}
.home-ad-slot__placeholder img,
.home-ad-slot__placeholder iframe,
.home-ad-slot__placeholder ins {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
.home-ad-slot--top .home-ad-slot__desktop .home-ad-slot__placeholder {
  max-width: 728px;
}
.home-ad-slot--top .home-ad-slot__mobile .home-ad-slot__placeholder {
  max-width: 100%;
}
.home-ad-slot--bottom .home-ad-slot__desktop .home-ad-slot__placeholder {
  max-width: 970px;
}
.home-ad-slot--bottom .home-ad-slot__mobile .home-ad-slot__placeholder {
  max-width: 100%;
}
.home-ad-slot--product-content .home-ad-slot__desktop .home-ad-slot__placeholder {
  max-width: 728px;
}
.home-ad-slot--product-content .home-ad-slot__mobile .home-ad-slot__placeholder {
  max-width: 100%;
}

.mobile-tabbar {
  display: none;
}

.mobile-tabbar-spacer {
  height: 0;
}

.mobile-site-logo-bar {
  display: none;
}

@media (max-width: 767px) {
  body.page-home .mobile-site-logo-bar,
  body.page-category .mobile-site-logo-bar,
  body.page-search .mobile-site-logo-bar,
  body.page-product .mobile-site-logo-bar,
  body.page-cart .mobile-site-logo-bar,
  body.page-checkout .mobile-site-logo-bar,
  body.page-checkout-success .mobile-site-logo-bar,
  body.page-checkout-failure .mobile-site-logo-bar,
  body.page-sitemap .mobile-site-logo-bar,
  body.page-about .mobile-site-logo-bar,
  body.page-account .mobile-site-logo-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    background: var(--mall-card, #fff);
    border-bottom: 1px solid var(--mall-border, #eee);
    position: sticky;
    top: 0;
    z-index: 1030;
  }
  body.page-home .mobile-site-logo-link,
  body.page-category .mobile-site-logo-link,
  body.page-search .mobile-site-logo-link,
  body.page-product .mobile-site-logo-link,
  body.page-cart .mobile-site-logo-link,
  body.page-checkout .mobile-site-logo-link,
  body.page-checkout-success .mobile-site-logo-link,
  body.page-checkout-failure .mobile-site-logo-link,
  body.page-sitemap .mobile-site-logo-link,
  body.page-about .mobile-site-logo-link,
  body.page-account .mobile-site-logo-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    max-width: 100%;
  }
  body.page-home .mobile-site-logo-icon,
  body.page-category .mobile-site-logo-icon,
  body.page-search .mobile-site-logo-icon,
  body.page-product .mobile-site-logo-icon,
  body.page-cart .mobile-site-logo-icon,
  body.page-checkout .mobile-site-logo-icon,
  body.page-checkout-success .mobile-site-logo-icon,
  body.page-checkout-failure .mobile-site-logo-icon,
  body.page-sitemap .mobile-site-logo-icon,
  body.page-about .mobile-site-logo-icon,
  body.page-account .mobile-site-logo-icon {
    max-height: 32px;
    width: auto;
    flex: 0 0 auto;
  }
  body.page-home .mobile-site-logo-text,
  body.page-category .mobile-site-logo-text,
  body.page-search .mobile-site-logo-text,
  body.page-product .mobile-site-logo-text,
  body.page-cart .mobile-site-logo-text,
  body.page-checkout .mobile-site-logo-text,
  body.page-checkout-success .mobile-site-logo-text,
  body.page-checkout-failure .mobile-site-logo-text,
  body.page-sitemap .mobile-site-logo-text,
  body.page-about .mobile-site-logo-text,
  body.page-account .mobile-site-logo-text {
    color: #1c3557;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.page-home #top,
  body.page-home header.header-wrap,
  body.page-home .menu-wrap,
  body.page-home #menu {
    display: none !important;
  }
  body.page-home main {
    padding-top: 0;
  }
  body.page-home .home-mobile-search-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 12px;
    background: var(--mall-bg, #f5f5f5);
    text-decoration: none;
    color: var(--mall-muted, #999);
  }
  body.page-home .home-mobile-search-bar:active {
    opacity: 0.85;
  }
  body.page-home .home-mobile-search-icon {
    flex: 0 0 auto;
    font-size: 14px;
    color: var(--mall-muted, #999);
  }
  body.page-home .home-mobile-search-placeholder {
    flex: 1;
    min-width: 0;
    height: 36px;
    line-height: 36px;
    padding: 0 12px;
    border-radius: 18px;
    background: #fff;
    color: var(--mall-muted, #999);
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  }
  footer {
    display: none !important;
  }
  .mobile-tabbar {
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    background: #fff;
    border-top: 1px solid #eee;
    padding: 4px 0 2px;
    padding-bottom: calc(4px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
  }
  .mobile-tabbar .mobile-tabbar-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-width: 0;
    padding: 2px;
    border: none;
    background: transparent;
    color: #666;
    text-decoration: none;
    font-size: 10px;
    line-height: 1.2;
  }
  .mobile-tabbar .mobile-tabbar-item i {
    font-size: 20px;
    line-height: 1;
  }
  .mobile-tabbar .mobile-tabbar-item .mobile-tabbar-icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
  }
  .mobile-tabbar .mobile-tabbar-item .mobile-tabbar-badge {
    position: absolute;
    top: -4px;
    right: -10px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: #e4393c;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
    transform: none;
  }
  .mobile-tabbar .mobile-tabbar-item > span:not(.mobile-tabbar-icon-wrap):not(.mobile-tabbar-badge) {
    white-space: nowrap;
    transform: scale(0.95);
  }
  .mobile-tabbar .mobile-tabbar-item.is-active {
    color: #e4393c;
  }
  .mobile-tabbar .mobile-tabbar-item.is-active i {
    color: #e4393c;
  }
  .mobile-tabbar .mobile-tabbar-item:active {
    opacity: 0.7;
  }
  .mobile-tabbar-spacer {
    height: calc(56px + env(safe-area-inset-bottom, 0px));
  }
}
.module-heading {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  text-align: center;
  margin: 0 0 14px;
  padding-bottom: 10px;
  position: relative;
}
.module-heading::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 40px;
  height: 2px;
  transform: translateX(-50%);
  background: #e74847;
  border-radius: 2px;
}

.module-featured {
  padding: 8px 0 4px;
}

.module-banner {
  overflow: hidden;
}
.module-banner .carousel-control-prev,
.module-banner .carousel-control-next {
  width: 36px;
  opacity: 0.85;
}
.module-banner .carousel-indicators {
  margin-bottom: 8px;
}

.module-banner-hero {
  border-radius: 10px;
}
.module-banner-hero .banner-image {
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.module-banner-grid {
  background: linear-gradient(180deg, #fafbfc 0%, #f3f5f7 100%);
  border: 1px solid #eceff3;
  border-radius: 12px;
  padding: 16px 8px 12px;
}
.module-banner-grid .banner-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 8px 4px;
}
.module-banner-grid .banner-link,
.module-banner-grid .banner-image {
  display: block;
  width: 100%;
  max-width: 110px;
  margin: 0 auto;
}
.module-banner-grid .banner-image {
  max-height: 52px;
  width: auto;
  object-fit: contain;
  filter: grayscale(20%);
  transition: transform 0.2s ease, filter 0.2s ease;
}
.module-banner-grid .banner-link:hover .banner-image {
  transform: scale(1.05);
  filter: grayscale(0%);
}
.module-banner-grid .carousel-control-prev,
.module-banner-grid .carousel-control-next {
  top: 50%;
  transform: translateY(-50%);
  height: 32px;
}

@media (max-width: 767px) {
  :root {
    --mall-bg: #f5f5f5;
    --mall-card: #fff;
    --mall-gap: 8px;
    --mall-radius: 10px;
    --mall-price: #e4393c;
    --mall-text: #333;
    --mall-muted: #999;
    --mall-border: #eee;
    --mall-header-h: 44px;
  }
  body {
    font-size: 13px;
    line-height: 1.5;
    background: var(--mall-bg);
    -webkit-tap-highlight-color: transparent;
  }
  main {
    background: var(--mall-bg);
  }
  .search-mobile-header,
  .category-mobile-header,
  .cart-mobile-header {
    background: var(--mall-card);
    border-bottom-color: var(--mall-border);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
  }
  .search-page,
  .category-page,
  .cart-page,
  .product-page,
  .home-page,
  .about-page {
    background: var(--mall-bg);
  }
  .module-heading {
    text-align: left;
    margin: 0;
    padding: 14px 12px 10px 18px;
    font-size: 15px;
    font-weight: 600;
    color: var(--mall-text);
    background: var(--mall-card);
    position: relative;
  }
  .module-heading::after {
    left: 10px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    width: 3px;
    height: 14px;
    border-radius: 2px;
    background: var(--mall-price);
  }
  .module-featured {
    background: var(--mall-card);
    margin-top: var(--mall-gap);
    padding: 0 4px 10px;
  }
  .module-featured .row {
    --bs-gutter-x: 6px;
    --bs-gutter-y: 6px;
  }
  .product-thumb {
    border: none;
    border-radius: var(--mall-radius);
    background: var(--mall-card);
    margin-bottom: 0;
    overflow: hidden;
    box-shadow: none;
    transition: none;
  }
  .product-thumb:hover {
    box-shadow: none;
  }
  .product-thumb .image {
    margin-bottom: 0;
    background: #fafafa;
    aspect-ratio: 1;
  }
  .product-thumb .image > a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .product-thumb .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .product-thumb .image .form-btns {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    display: block;
    z-index: 2;
    pointer-events: none;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
  }
  .product-thumb .product-thumb-action-mobile {
    position: absolute;
    bottom: 8px;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    padding: 0;
    line-height: 1;
    pointer-events: auto;
    z-index: 3;
  }
  .product-thumb .product-thumb-action-mobile:active {
    transform: scale(0.92);
  }
  .product-thumb .product-thumb-wishlist-mobile {
    left: 8px;
    color: #666;
  }
  .product-thumb .product-thumb-cart-mobile {
    right: 8px;
    color: var(--mall-price);
    z-index: 4;
  }
  .product-thumb .description {
    text-align: left;
    padding: 8px 8px 10px;
  }
  .product-thumb h4 {
    font-weight: 400;
    margin-bottom: 4px;
  }
  .product-thumb h4 .p-name {
    color: var(--mall-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .product-thumb .price .price-new {
    color: var(--mall-price);
    font-size: 16px;
    font-weight: 700;
  }
  .product-thumb .price .price-old {
    font-size: 11px;
    color: var(--mall-muted);
  }
  .product-thumb .price .price-tax {
    display: none;
  }
  .product-thumb .rating {
    display: none;
  }
  .product-thumb .product-thumb-buy-now {
    width: calc(100% - 16px);
    margin: 0 8px 8px;
    padding: 7px 10px;
    border-radius: 16px;
    font-size: 12px;
  }
  .search-product-list,
  .category-product-list {
    padding: 6px;
    margin: 0;
    --bs-gutter-x: 6px;
    --bs-gutter-y: 6px;
  }
  #top .top-bar {
    padding: 6px 0;
  }
  #top a {
    font-size: 1em;
  }
  #top .top-bar-account-mobile {
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    color: #666;
    text-decoration: none;
  }
  #top .top-bar-account-mobile i {
    font-size: 18px;
  }
  #top .list-inline-item {
    margin-right: 0.35rem;
  }
  #logo .logo-icon {
    max-height: 40px;
  }
  #logo .logo-brand-text {
    font-size: 1.1rem;
  }
  .header-cart-wrap .btn-default {
    height: 36px;
    line-height: 36px;
    padding: 0 0.55rem;
  }
  .header-cart-wrap #header-cart .btn.dropdown-toggle {
    font-size: 11px;
    padding: 0.35rem 0.5rem;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #menu {
    margin-bottom: 12px;
    border-radius: 0;
  }
  #menu .navbar-toggler {
    padding: 8px 12px;
  }
  .menu-wrap .container {
    padding-left: 0;
    padding-right: 0;
  }
  #content {
    min-height: auto;
  }
  .home-page .container {
    padding-left: 0;
    padding-right: 0;
  }
  .home-page #content > .module-banner-hero:first-child {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    border-radius: 0;
  }
  .home-page #content > .module-banner-hero:first-child .banner-image {
    border-radius: 0;
    width: 100%;
  }
  .home-page #content > *:not(:first-child) {
    margin-top: 8px;
    padding-left: 0;
    padding-right: 0;
  }
  .home-page #content > .module-banner-hero:first-child + .home-ad-slot--top {
    margin-top: 8px;
  }
  .home-page .home-ad-slot--top .home-ad-slot__mobile .home-ad-slot__placeholder, .home-page .home-ad-slot--bottom .home-ad-slot__mobile .home-ad-slot__placeholder {
    min-height: 0;
  }
  .module-banner-grid {
    margin-left: -4px;
    margin-right: -4px;
    padding: 14px 4px 10px;
  }
  .module-banner-grid .banner-item {
    min-height: 56px;
    padding: 6px 2px;
  }
  .module-banner-grid .banner-image {
    max-height: 44px;
  }
  footer {
    margin-top: 20px;
    padding-top: 20px;
  }
  footer h5 {
    font-size: 15px;
    margin-bottom: 14px;
  }
  footer h5::after {
    bottom: -8px;
    width: 36px;
  }
  footer ul.list-unstyled li {
    padding: 6px 0;
  }
  footer .powered-wrap {
    padding: 14px 0;
    font-size: 12px;
    line-height: 1.6;
  }
  #alert .alert {
    min-width: auto;
    width: calc(100vw - 24px);
    max-width: 360px;
  }
}
@media (min-width: 768px) {
  .module-banner-hero .banner-image {
    max-height: 420px;
    object-fit: cover;
  }
  .product-page {
    padding: 0;
    max-width: 100%;
    overflow-x: clip;
  }
  .product-page .product-breadcrumb {
    padding-left: 0;
    padding-right: 0;
  }
  .product-page .product-meta .product-meta-item {
    justify-content: flex-start;
  }
  .product-page .product-qty-row {
    justify-content: flex-start;
    gap: 24px;
  }
  .product-page .product-layout,
  .product-page .product-main {
    max-width: 100%;
  }
  .product-page #content {
    min-width: 0;
    max-width: 100%;
  }
  .product-page .product-main > [class*=col-] {
    min-width: 0;
  }
  .product-page .product-buy-box {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .product-page .product-title {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .product-page .product-summary,
  .product-page .product-options-panel,
  .product-page #form-product {
    max-width: 100%;
  }
  .product-page .form-control,
  .product-page .form-select,
  .product-page .input-group,
  .product-page .product-actions--desktop {
    max-width: 100%;
  }
  .product-page .form-check-label {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .product-page .product-summary,
  .product-page .product-options-panel {
    padding-left: 0;
    padding-right: 0;
    border-top: none;
    margin-top: 0;
  }
  .product-page .product-options-panel {
    padding-top: 0;
  }
  .product-page .product-tabs-wrap {
    border-top: none;
    margin-top: 24px;
  }
  .product-page .product-tab-content {
    padding-left: 0;
    padding-right: 0;
  }
  .product-page .product-actions--desktop {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  body.page-product #top,
  body.page-product header.header-wrap,
  body.page-product #menu {
    display: none !important;
  }
  body.page-product main {
    padding-top: 0;
  }
  body.page-product footer {
    margin-top: 0;
  }
  .product-page {
    background: #f4f4f4;
    overflow-x: hidden;
    padding-bottom: 0;
  }
  .product-page .container {
    padding-left: 0;
    padding-right: 0;
  }
  .product-page .product-layout,
  .product-page .product-main {
    margin: 0;
  }
  .product-page .product-gallery-col {
    width: 100%;
    max-width: 100%;
    padding: 0 !important;
    margin: 0;
  }
  .product-page .product-gallery-col .product-gallery {
    width: 100%;
  }
  .product-page .product-gallery-col .product-carousel .product-carousel-img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: initial;
    display: block;
  }
  .product-page .product-gallery-col .product-carousel .product-carousel-counter {
    right: 10px;
    bottom: 10px;
  }
  .product-page .product-tab-content img,
  .product-page #tab-description img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
  }
  .product-page .product-buy-box {
    background: #fff;
    padding: 14px 12px 0;
  }
  .product-page .product-summary {
    padding-bottom: 0;
  }
  .product-page .price-wrap {
    margin-bottom: 8px;
  }
  .product-page .price-info {
    align-items: center;
  }
  .product-page .price-new {
    font-size: 30px;
    font-weight: 700;
    color: #e4393c;
    letter-spacing: -0.5px;
  }
  .product-page .price-old {
    font-size: 14px;
    color: #999;
  }
  .product-page .product-title {
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 10px;
    font-weight: 500;
    color: #333;
  }
  .product-page .product-meta {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 8px;
    padding: 0;
    margin: 0 0 8px;
    border-top: none;
  }
  .product-page .product-meta .product-meta-item {
    border-bottom: none;
    padding: 0;
    width: auto;
    flex: 1;
    font-size: 12px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 4px;
  }
  .product-page .product-meta .product-meta-item.product-meta-model {
    justify-content: flex-start;
  }
  .product-page .product-meta .product-meta-item.product-meta-stock {
    justify-content: flex-end;
    text-align: right;
  }
  .product-page .product-meta .product-meta-item .text-title {
    color: #888;
  }
  .product-page .product-meta .product-meta-item .product-meta-value {
    color: #666;
  }
  .product-page .product-discounts {
    padding: 10px 0 0;
    margin: 0;
    border-top: 1px solid #f0f0f0;
    font-size: 13px;
    color: #333;
  }
  .product-page .product-discounts li {
    padding: 3px 0;
    line-height: 1.5;
  }
  .product-page .product-options-panel {
    margin-left: -12px;
    margin-right: -12px;
    padding: 14px 12px 16px;
    margin-top: 10px;
    border-top: 10px solid #f4f4f4;
    background: #fff;
  }
  .product-page .product-options-panel .product-section-title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #333;
  }
  .product-page .product-options-panel .quantity-wrap .input-group {
    width: auto;
    border: 1px solid #ddd;
    border-radius: 2px;
    overflow: hidden;
  }
  .product-page .product-options-panel .quantity-wrap .input-group .btn {
    width: 38px;
    height: 34px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: #f7f7f7;
    color: #666;
    box-shadow: none;
  }
  .product-page .product-options-panel .quantity-wrap .input-group .form-control {
    width: 44px;
    height: 34px;
    text-align: center;
    border: none;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-radius: 0;
    font-size: 14px;
    padding: 0;
    box-shadow: none;
  }
  .product-page .product-options-panel--simple {
    padding-top: 14px;
  }
  .product-page .product-qty-row {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    align-items: center;
  }
  .product-page .product-qty-total {
    display: flex;
    align-items: baseline;
    gap: 6px;
    white-space: nowrap;
  }
  .product-page .product-qty-total-label {
    display: inline;
    font-size: 13px;
    color: #666;
  }
  .product-page .product-qty-total-price {
    font-size: 18px;
    font-weight: 700;
    color: #e4393c;
  }
  .product-page .product-tabs-wrap {
    margin-top: 10px;
    border-top: 10px solid #f4f4f4;
  }
  .product-page .product-tab-nav {
    padding: 0;
    justify-content: space-around;
  }
  .product-page .product-tab-nav .nav-link {
    font-size: 14px;
    padding: 14px 8px;
    color: #333;
  }
  .product-page .product-tab-nav .nav-link.active {
    color: #e4393c;
    border-bottom-color: #e4393c;
  }
  .product-page .product-tab-content {
    padding: 12px;
    min-height: 120px;
  }
  .product-page .product-related {
    margin-top: 8px;
    padding: 16px 12px;
    border-top: 8px solid #f4f4f4;
  }
  .product-page .product-related .product-thumb {
    margin-bottom: 8px;
  }
  .product-page .product-related .product-thumb h4 {
    font-size: 13px;
    line-height: 1.35;
  }
  .product-page .product-related .product-thumb h4 .p-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .product-page .product-related .product-thumb .description {
    padding: 0 8px 10px;
  }
  .product-page .product-related .product-thumb .image .form-btns {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    bottom: auto;
    opacity: 1;
  }
  .product-page .product-tags {
    background: #fff;
    padding: 12px;
    margin: 8px 0 0;
    font-size: 13px;
  }
  .product-mobile-bar {
    display: flex;
    align-items: stretch;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    background: #fff;
    border-top: 1px solid #e5e5e5;
    padding: 6px 10px;
    padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
    gap: 8px;
    box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.08);
  }
  .product-mobile-bar .product-mobile-bar-icon,
  .product-mobile-bar .product-mobile-bar-cart-link {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd;
    border-radius: 2px;
    background: #fff;
    color: #666;
    font-size: 20px;
    padding: 0;
    text-decoration: none;
  }
  .product-mobile-bar .product-mobile-bar-icon:active,
  .product-mobile-bar .product-mobile-bar-cart-link:active {
    background: #f5f5f5;
  }
  .product-mobile-bar .product-mobile-bar-cart {
    flex: 1;
    min-height: 46px;
    border: none;
    border-radius: 2px;
    background: #ff9600;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    padding: 0 12px;
  }
  .product-mobile-bar .product-mobile-bar-cart:disabled {
    opacity: 0.65;
  }
  .product-mobile-bar .product-mobile-bar-cart:active:not(:disabled) {
    background: #e68600;
  }
  .product-mobile-bar-spacer {
    height: calc(58px + env(safe-area-inset-bottom, 0px));
  }
  body.page-cart #top,
  body.page-cart header.header-wrap,
  body.page-cart .menu-wrap,
  body.page-cart #menu {
    display: none !important;
  }
  body.page-cart main {
    padding-top: 0;
  }
  body.page-cart footer {
    margin-top: 0;
  }
  .cart-page {
    background: #f4f4f4;
    min-height: 100vh;
  }
  .cart-page-container {
    padding-left: 0;
    padding-right: 0;
  }
  .cart-page-layout {
    margin: 0;
  }
  .cart-page #content {
    padding: 0;
  }
  .cart-page .alert {
    margin: 10px 12px 0;
  }
  .cart-mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    height: 44px;
    padding: 0 8px;
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .cart-mobile-header-back,
  .cart-mobile-header-spacer {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
  }
  .cart-mobile-header-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #333;
    text-decoration: none;
    font-size: 16px;
  }
  .cart-mobile-header-title {
    flex: 1;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .cart-mobile-header-weight {
    font-size: 12px;
    font-weight: 400;
    color: #999;
  }
  .cart-mobile-list {
    padding-bottom: 8px;
  }
  .cart-mobile-items {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .cart-mobile-item {
    background: #fff;
    padding: 12px;
  }
  .cart-mobile-item-main {
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }
  .cart-mobile-item-image {
    flex: 0 0 88px;
    width: 88px;
    height: 88px;
    border-radius: 6px;
    overflow: hidden;
    background: #f7f7f7;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cart-mobile-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .cart-mobile-item-image-placeholder {
    color: #ccc;
    font-size: 24px;
  }
  .cart-mobile-item-body {
    flex: 1;
    min-width: 0;
  }
  .cart-mobile-item-name {
    display: block;
    font-size: 14px;
    line-height: 1.4;
    color: #333;
    text-decoration: none;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .cart-mobile-item-options,
  .cart-mobile-item-meta {
    font-size: 12px;
    color: #999;
    line-height: 1.5;
    margin-bottom: 4px;
  }
  .cart-mobile-item-options span,
  .cart-mobile-item-meta span {
    display: block;
  }
  .cart-mobile-item-price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-top: 6px;
  }
  .cart-mobile-item-price {
    font-size: 15px;
    font-weight: 700;
    color: #e4393c;
  }
  .cart-mobile-item-subtotal {
    font-size: 12px;
    color: #999;
  }
  .cart-mobile-item-remove {
    flex: 0 0 auto;
  }
  .cart-mobile-item-remove .btn-link {
    width: 32px;
    height: 32px;
    padding: 0;
    color: #bbb;
    text-decoration: none;
  }
  .cart-mobile-item-remove .btn-link:active {
    color: #e4393c;
  }
  .cart-mobile-item-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #f2f2f2;
  }
  .cart-mobile-qty.quantity-wrap {
    width: 108px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
  }
  .cart-mobile-qty.quantity-wrap .input-group {
    border: none;
  }
  .cart-mobile-qty.quantity-wrap .btn {
    width: 34px;
    padding: 0;
    background: #f7f7f7;
    border: none;
    border-radius: 0;
  }
  .cart-mobile-qty.quantity-wrap input {
    height: 34px;
    padding: 0;
    font-size: 14px;
  }
  .cart-mobile-summary {
    margin-top: 8px;
    background: #fff;
    padding: 12px 16px;
  }
  .cart-mobile-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    font-size: 13px;
    color: #666;
  }
  .cart-mobile-summary-row + .cart-mobile-summary-row {
    border-top: 1px solid #f2f2f2;
  }
  .cart-mobile-summary-row--grand {
    padding-top: 12px;
  }
  .cart-mobile-summary-row--grand .cart-mobile-summary-label {
    font-size: 14px;
    font-weight: 600;
    color: #333;
  }
  .cart-mobile-summary-row--grand .cart-mobile-summary-value {
    font-size: 18px;
    font-weight: 700;
    color: #e4393c;
  }
  .cart-modules {
    margin-top: 8px;
    background: #fff;
    padding: 0 12px 12px;
  }
  .cart-modules-accordion .accordion-item {
    border: none;
    border-bottom: 1px solid #f2f2f2;
    border-radius: 0;
    background: transparent;
  }
  .cart-modules-accordion .accordion-button {
    padding: 14px 0;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    background: transparent;
    box-shadow: none;
  }
  .cart-modules-accordion .accordion-button:not(.collapsed) {
    color: #e4393c;
    background: transparent;
  }
  .cart-modules-accordion .accordion-button::after {
    margin-left: auto;
  }
  .cart-modules-accordion .accordion-body {
    padding: 0 0 14px;
  }
  .cart-mobile-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    background: #fff;
    border-top: 1px solid #e8e8e8;
    padding: 8px 12px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.06);
  }
  .cart-mobile-bar-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .cart-mobile-bar-label {
    font-size: 12px;
    color: #999;
  }
  .cart-mobile-bar-total {
    font-size: 20px;
    font-weight: 700;
    color: #e4393c;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .cart-mobile-bar-checkout {
    flex: 0 0 auto;
    min-width: 120px;
    height: 44px;
    line-height: 44px;
    padding: 0 20px;
    border-radius: 22px;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
  }
  .cart-mobile-bar-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  body.page-cart.has-mobile-tabbar .mobile-tabbar,
  body.page-cart.has-mobile-tabbar .mobile-tabbar-spacer {
    display: none !important;
  }
  body.page-cart.has-mobile-tabbar .cart-mobile-bar {
    bottom: 0;
  }
  body.page-cart.has-mobile-tabbar .cart-mobile-bar-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  body.page-checkout #top,
  body.page-checkout header.header-wrap,
  body.page-checkout .menu-wrap,
  body.page-checkout #menu {
    display: none !important;
  }
  body.page-checkout main {
    padding-top: 0;
  }
  body.page-checkout footer {
    margin-top: 0;
  }
  body.page-checkout.has-mobile-tabbar .mobile-tabbar,
  body.page-checkout.has-mobile-tabbar .mobile-tabbar-spacer {
    display: none !important;
  }
  .checkout-page {
    background: #f5f5f5;
    min-height: 100vh;
  }
  .checkout-page-container {
    padding-left: 0;
    padding-right: 0;
  }
  .checkout-page-layout {
    margin: 0;
  }
  .checkout-page #content {
    padding: 0;
  }
  .checkout-page .alert {
    margin: 10px 12px 0;
    border-radius: 8px;
  }
  .checkout-mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    height: 44px;
    padding: 0 8px;
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .checkout-mobile-header-back,
  .checkout-mobile-header-spacer {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
  }
  .checkout-mobile-header-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #333;
    text-decoration: none;
    font-size: 16px;
  }
  .checkout-mobile-header-title {
    flex: 1;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .checkout-steps {
    padding-bottom: 8px;
  }
  .checkout-panel {
    background: #fff;
    margin-bottom: 8px;
    padding: 14px 12px 16px;
  }
  .checkout-panel:empty {
    display: none;
  }
  .checkout-panel fieldset {
    margin: 0;
    padding: 0;
    border: none;
    min-width: 0;
  }
  .checkout-panel fieldset legend {
    float: none;
    width: 100%;
    margin: 0 0 14px;
    padding: 0 0 10px;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
  }
  .checkout-panel fieldset legend + * {
    clear: both;
  }
  .checkout-panel > p {
    font-size: 13px;
    color: #666;
    margin-bottom: 12px;
  }
  .checkout-panel .form-label {
    font-size: 13px;
    color: #666;
    margin-bottom: 6px;
  }
  .checkout-panel .form-control,
  .checkout-panel .form-select {
    min-height: 42px;
    font-size: 16px;
    border-color: #e5e5e5;
    border-radius: 6px;
  }
  .checkout-panel .form-control:focus,
  .checkout-panel .form-select:focus {
    border-color: #e4393c;
    box-shadow: 0 0 0 0.15rem rgba(228, 57, 60, 0.12);
  }
  .checkout-panel textarea.form-control {
    min-height: 88px;
  }
  .checkout-panel .form-check-inline {
    margin-right: 16px;
  }
  .checkout-panel .form-check-label {
    font-size: 14px;
  }
  .checkout-panel .input-group {
    flex-wrap: wrap;
    gap: 8px;
  }
  .checkout-panel .input-group .input-group-text {
    display: none;
  }
  .checkout-panel .input-group .form-control {
    flex: 1 1 100%;
    width: 100%;
    border-radius: 6px !important;
  }
  .checkout-panel .input-group .btn {
    flex: 1 1 100%;
    width: 100%;
    min-height: 42px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
  }
  .checkout-panel .text-end.mb-3,
  .checkout-panel .mb-3.text-end {
    margin-bottom: 0 !important;
  }
  .checkout-panel .text-end.mb-3 .btn-primary,
  .checkout-panel .mb-3.text-end .btn-primary {
    width: 100%;
    min-height: 44px;
    border-radius: 22px;
    font-size: 15px;
    font-weight: 600;
    background: #e4393c;
    border-color: #e4393c;
  }
  .checkout-panel .text-end.mb-3 .btn-primary:active,
  .checkout-panel .mb-3.text-end .btn-primary:active {
    background: #c81623;
    border-color: #c81623;
  }
  .checkout-panel #button-register,
  .checkout-panel #button-payment-address,
  .checkout-panel #button-shipping-address,
  .checkout-panel #button-shipping-method,
  .checkout-panel #button-payment-method {
    width: 100%;
    min-height: 44px;
    border-radius: 22px;
    font-size: 15px;
    font-weight: 600;
  }
  .checkout-panel #checkout-payment-method > br {
    display: none;
  }
  .checkout-panel .form-switch.form-check-reverse {
    padding: 12px 0 0;
    margin: 0;
    border-top: 1px solid #f0f0f0;
  }
  .checkout-panel .form-switch.form-check-reverse .form-check-label {
    font-size: 13px;
    color: #666;
    line-height: 1.4;
  }
  .checkout-panel-confirm {
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
  .checkout-panel-confirm .checkout-payment-form {
    margin: 0 0 12px;
    padding-bottom: 4px;
  }
  .checkout-panel-confirm .checkout-order-summary {
    margin: 0 -12px 0;
  }
  .checkout-panel-confirm .checkout-order-table {
    margin: 0;
    border: none;
  }
  .checkout-panel-confirm .checkout-order-table thead {
    display: none;
  }
  .checkout-panel-confirm .checkout-order-table tbody tr {
    display: block;
    padding: 12px;
    border-bottom: 1px solid #f2f2f2;
  }
  .checkout-panel-confirm .checkout-order-table tbody tr td {
    display: block;
    border: none;
    padding: 0;
    text-align: left !important;
  }
  .checkout-panel-confirm .checkout-order-table tbody tr td:last-child {
    margin-top: 6px;
    font-size: 15px;
    font-weight: 700;
    color: #e4393c;
  }
  .checkout-panel-confirm .checkout-order-table tbody tr td a {
    color: #333;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
  }
  .checkout-panel-confirm .checkout-order-table tbody tr td small {
    color: #999;
    font-size: 12px;
  }
  .checkout-panel-confirm .checkout-order-table tfoot tr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-top: 1px solid #f5f5f5;
  }
  .checkout-panel-confirm .checkout-order-table tfoot tr td {
    border: none;
    padding: 0;
    font-size: 13px;
    color: #666;
  }
  .checkout-panel-confirm .checkout-order-table tfoot tr td:first-child {
    text-align: left !important;
    flex: 1;
  }
  .checkout-panel-confirm .checkout-order-table tfoot tr td:last-child {
    text-align: right !important;
    flex: 0 0 auto;
    font-weight: 600;
    color: #333;
  }
  .checkout-panel-confirm .checkout-order-table tfoot tr:last-child {
    background: #fafafa;
  }
  .checkout-panel-confirm .checkout-order-table tfoot tr:last-child td {
    font-size: 14px;
    color: #333;
  }
  .checkout-panel-confirm .checkout-order-table tfoot tr:last-child td:last-child {
    font-size: 18px;
    font-weight: 700;
    color: #e4393c;
  }
  .checkout-payment-action {
    padding: 12px 0 0;
    border-top: 1px solid #f0f0f0;
    margin-top: 4px;
  }
  .checkout-payment-action .text-end {
    text-align: center !important;
  }
  .checkout-payment-action .btn-primary {
    width: 100%;
    min-height: 44px;
    border-radius: 22px;
    font-size: 15px;
    font-weight: 600;
    background: #e4393c;
    border-color: #e4393c;
  }
  .checkout-payment-action .btn-primary:not(:disabled):active {
    background: #c81623;
    border-color: #c81623;
  }
  .checkout-payment-action .btn-primary:disabled {
    opacity: 0.55;
  }
  .checkout-payment-action:has(.btn-primary) {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    background: #fff;
    border-top: 1px solid #e8e8e8;
    padding: 8px 12px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.06);
    margin-top: 0;
  }
  .checkout-payment-action-spacer {
    height: calc(76px + env(safe-area-inset-bottom, 0px));
    pointer-events: none;
  }
  .checkout-mobile-bar-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  #modal-payment .modal-dialog,
  #modal-shipping .modal-dialog {
    margin: 0;
    max-width: 100%;
    min-height: auto;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    align-items: flex-end;
  }
  #modal-payment .modal-content,
  #modal-shipping .modal-content {
    border: none;
    border-radius: 12px 12px 0 0;
    max-height: 75vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  #modal-payment .modal-header,
  #modal-shipping .modal-header {
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
  }
  #modal-payment .modal-header .modal-title,
  #modal-shipping .modal-header .modal-title {
    font-size: 16px;
    font-weight: 600;
  }
  #modal-payment .modal-body,
  #modal-shipping .modal-body {
    overflow-y: auto;
    padding: 8px 16px 16px;
    -webkit-overflow-scrolling: touch;
  }
  #modal-payment .modal-footer,
  #modal-shipping .modal-footer {
    padding: 12px 16px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #f0f0f0;
  }
  #modal-payment .modal-footer .btn,
  #modal-shipping .modal-footer .btn {
    min-height: 44px;
    border-radius: 22px;
    font-weight: 600;
  }
  #modal-payment .form-check,
  #modal-shipping .form-check {
    padding: 12px 0;
    border-bottom: 1px solid #f5f5f5;
    margin: 0;
  }
  #modal-payment .form-check:last-child,
  #modal-shipping .form-check:last-child {
    border-bottom: none;
  }
  #modal-payment .form-check .form-check-label,
  #modal-shipping .form-check .form-check-label {
    font-size: 14px;
    width: 100%;
  }
  body.page-checkout-success #top,
  body.page-checkout-success header.header-wrap,
  body.page-checkout-success .menu-wrap,
  body.page-checkout-success #menu,
  body.page-checkout-failure #top,
  body.page-checkout-failure header.header-wrap,
  body.page-checkout-failure .menu-wrap,
  body.page-checkout-failure #menu {
    display: none !important;
  }
  body.page-checkout-success main,
  body.page-checkout-failure main {
    padding-top: 0;
  }
  body.page-checkout-success footer,
  body.page-checkout-failure footer {
    margin-top: 0;
  }
  body.page-checkout-success.has-mobile-tabbar .mobile-tabbar,
  body.page-checkout-success.has-mobile-tabbar .mobile-tabbar-spacer,
  body.page-checkout-failure.has-mobile-tabbar .mobile-tabbar,
  body.page-checkout-failure.has-mobile-tabbar .mobile-tabbar-spacer {
    display: none !important;
  }
  .checkout-result-page {
    background: #f5f5f5;
    min-height: 100vh;
  }
  .checkout-result-card {
    background: #fff;
    margin: 8px 0 16px;
    padding: 28px 16px 20px;
    text-align: center;
  }
  .checkout-result-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    border-radius: 50%;
    font-size: 40px;
    line-height: 1;
  }
  .checkout-result-icon--success {
    color: #52c41a;
    background: rgba(82, 196, 26, 0.1);
  }
  .checkout-result-icon--failure {
    color: #e4393c;
    background: rgba(228, 57, 60, 0.1);
  }
  .checkout-result-title {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 600;
    color: #333;
    line-height: 1.4;
  }
  .checkout-result-message {
    text-align: left;
    font-size: 14px;
    line-height: 1.6;
    color: #666;
  }
  .checkout-result-message p {
    margin: 0 0 10px;
  }
  .checkout-result-message p:last-child {
    margin-bottom: 0;
  }
  .checkout-result-message ul {
    margin: 0 0 12px;
    padding-left: 18px;
  }
  .checkout-result-message li {
    margin-bottom: 6px;
    color: #666;
  }
  .checkout-result-message a {
    color: #e4393c;
    text-decoration: none;
  }
  .checkout-result-message a:active {
    opacity: 0.75;
  }
  .checkout-result-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
  }
  .checkout-result-btn {
    width: 100%;
    min-height: 44px;
    border-radius: 22px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    padding: 11px 20px;
  }
  .checkout-result-page--success .checkout-result-btn.btn-primary,
  .checkout-result-page--failure .checkout-result-btn.btn-primary {
    background: #e4393c;
    border-color: #e4393c;
  }
  .checkout-result-page--success .checkout-result-btn.btn-primary:active,
  .checkout-result-page--failure .checkout-result-btn.btn-primary:active {
    background: #c81623;
    border-color: #c81623;
  }
  .checkout-result-btn-secondary {
    min-height: 44px;
    border-radius: 22px;
    font-size: 15px;
    font-weight: 500;
    border-color: #ddd;
    color: #666;
  }
  .checkout-result-btn-secondary:active {
    background: #f5f5f5;
    border-color: #ccc;
    color: #333;
  }
  .checkout-result-link {
    display: inline-block;
    padding: 8px 0 4px;
    font-size: 14px;
    color: #999;
    text-decoration: none;
  }
  .checkout-result-link:active {
    color: #666;
  }
  body.page-search #top,
  body.page-search header.header-wrap,
  body.page-search .menu-wrap,
  body.page-search #menu {
    display: none !important;
  }
  body.page-search main {
    padding-top: 0;
  }
  body.page-search footer {
    margin-top: 0;
  }
  .search-page {
    background: #f4f4f4;
    min-height: 100vh;
  }
  .search-page-container {
    padding-left: 0;
    padding-right: 0;
  }
  .search-page-layout {
    margin: 0;
  }
  .search-page #content {
    padding: 0;
  }
  .search-mobile-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .search-mobile-header-back {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #333;
    text-decoration: none;
    font-size: 16px;
  }
  .search-mobile-header-bar {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }
  .search-mobile-input {
    flex: 1;
    height: 36px;
    border: 1px solid #e5e5e5;
    border-radius: 18px;
    padding: 0 14px;
    font-size: 14px;
    background: #f7f7f7;
    box-shadow: none;
  }
  .search-mobile-input:focus {
    background: #fff;
    border-color: #e4393c;
    box-shadow: none;
  }
  .search-mobile-submit {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .search-form-panel {
    background: #fff;
  }
  .search-mobile-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid #f0f0f0;
  }
  .search-mobile-filter-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    padding: 0 12px;
    border: 1px solid #e5e5e5;
    border-radius: 17px;
    background: #fff;
    color: #666;
    font-size: 13px;
  }
  .search-mobile-sort-wrap {
    flex: 1;
    min-width: 0;
  }
  .search-mobile-sort {
    height: 34px;
    border: 1px solid #e5e5e5;
    border-radius: 17px;
    padding: 0 12px;
    font-size: 13px;
    color: #666;
    background: #fff;
  }
  .search-filter-panel {
    padding: 12px;
    border-bottom: 8px solid #f4f4f4;
    background: #fff;
  }
  .search-filter-panel .form-check-label {
    font-size: 13px;
    color: #666;
  }
  .search-results-title-desktop {
    margin: 0 0 16px;
    font-size: 20px;
    font-weight: 600;
  }
  .search-results-meta {
    padding: 12px;
    background: #fff;
    border-bottom: 8px solid #f4f4f4;
  }
  .search-results-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #333;
  }
  .search-results-keyword {
    margin: 4px 0 0;
    font-size: 12px;
    color: #999;
  }
  .search-results-count {
    margin-top: 6px;
    font-size: 12px;
    color: #999;
  }
  .search-product-list,
  .category-product-list {
    padding: 6px;
    margin: 0;
    --bs-gutter-x: 6px;
    --bs-gutter-y: 6px;
  }
  .search-pagination-row,
  .category-pagination-row {
    margin: 8px 0 0;
    padding: 12px;
    background: #fff;
  }
  .search-pagination-row .pagination,
  .category-pagination-row .pagination {
    margin: 0;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
  }
  .search-pagination-row .page-link,
  .category-pagination-row .page-link {
    min-width: 34px;
    text-align: center;
    padding: 6px 10px;
    font-size: 13px;
    border-radius: 6px;
  }
  .search-empty,
  .category-empty {
    margin-top: 8px;
    padding: 48px 24px;
    background: #fff;
    text-align: center;
  }
  .search-empty-icon,
  .category-empty-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #f7f7f7;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    font-size: 24px;
  }
  .search-empty-text,
  .category-empty-text {
    margin: 0;
    font-size: 14px;
    color: #666;
  }
  .search-empty-keyword {
    margin: 8px 0 0;
    font-size: 13px;
    color: #999;
  }
  .category-empty-text {
    margin: 0 0 16px;
  }
  .category-empty-action {
    min-width: 120px;
    border-radius: 20px;
  }
  body.page-sitemap #top,
  body.page-sitemap header.header-wrap,
  body.page-sitemap .menu-wrap,
  body.page-sitemap #menu {
    display: none !important;
  }
  body.page-sitemap main {
    padding-top: 0;
  }
  body.page-sitemap footer {
    margin-top: 0;
  }
  body.page-about #top,
  body.page-about header.header-wrap,
  body.page-about .menu-wrap,
  body.page-about #menu {
    display: none !important;
  }
  body.page-about main {
    padding-top: 0;
  }
  body.page-about footer {
    margin-top: 0;
  }
  .about-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .about-page-container,
  .about-page-layout,
  .about-page #content {
    padding: 0;
    margin: 0;
  }
  .about-mobile {
    min-height: calc(100vh - 56px - env(safe-area-inset-bottom, 0px));
  }
  .about-mobile-header {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    background: var(--mall-card);
    border-bottom: 1px solid var(--mall-border);
  }
  .about-mobile-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .about-mobile-body {
    padding: 16px 12px 24px;
  }
  .about-lead {
    margin: 0 0 14px;
    padding: 14px 12px;
    border-radius: var(--mall-radius);
    background: var(--mall-card);
    color: var(--mall-text);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.6;
  }
  .about-content {
    padding: 14px 12px;
    border-radius: var(--mall-radius);
    background: var(--mall-card);
    color: var(--mall-text);
    font-size: 14px;
    line-height: 1.75;
  }
  .about-content p {
    margin: 0 0 12px;
  }
  .about-content p:last-child {
    margin-bottom: 0;
  }
  .sitemap-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .sitemap-page-container,
  .sitemap-page-layout,
  .sitemap-page #content {
    padding: 0;
    margin: 0;
  }
  .sitemap-mobile {
    min-height: calc(100vh - 56px - env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
  }
  .sitemap-mobile-header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    background: var(--mall-card);
    border-bottom: 1px solid var(--mall-border);
  }
  .sitemap-mobile-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .sitemap-mobile-shell {
    flex: 1;
    min-height: 0;
    background: var(--mall-card);
    display: flex;
    flex-direction: column;
  }
  .sitemap-mobile-nav {
    flex: 0 0 auto;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    background: var(--mall-card);
    border-bottom: 1px solid var(--mall-border);
  }
  .sitemap-mobile-nav::-webkit-scrollbar {
    display: none;
  }
  .sitemap-mobile-nav-item {
    flex: 0 0 auto;
    width: auto;
    white-space: nowrap;
    border: none;
    background: transparent;
    color: #666;
    font-size: 13px;
    line-height: 1.35;
    padding: 12px 14px;
    text-align: center;
    position: relative;
  }
  .sitemap-mobile-nav-item.is-active {
    color: var(--mall-price);
    font-weight: 600;
  }
  .sitemap-mobile-nav-item.is-active::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    top: auto;
    width: 24px;
    height: 3px;
    transform: translateX(-50%);
    background: var(--mall-price);
    border-radius: 2px 2px 0 0;
  }
  .sitemap-mobile-panels {
    flex: 1;
    min-height: 0;
    min-width: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: var(--mall-card);
  }
  .sitemap-mobile-panel {
    display: none;
    padding: 12px 12px 20px;
  }
  .sitemap-mobile-panel.is-active {
    display: block;
  }
  .sitemap-mobile-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    margin-bottom: 12px;
    border-radius: 8px;
    background: #fff7f7;
    color: var(--mall-price);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
  }
  .sitemap-mobile-all i {
    font-size: 11px;
  }
  .sitemap-mobile-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
  }
  .sitemap-mobile-product {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #f0f0f0;
    text-decoration: none;
    color: var(--mall-text);
  }
  .sitemap-mobile-product-thumb {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 6px;
    background: #fafafa;
  }
  .sitemap-mobile-product-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 500;
  }
  .sitemap-mobile-product-price {
    font-size: 12px;
    font-weight: 600;
    color: var(--mall-price);
  }
  .sitemap-mobile-group {
    margin-bottom: 16px;
  }
  .sitemap-mobile-group-title {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--mall-text);
    margin-bottom: 10px;
    text-decoration: none;
  }
  .sitemap-mobile-chips {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .sitemap-mobile-chip {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 6px;
    border-radius: 6px;
    background: #f7f7f7;
    color: #666;
    font-size: 12px;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
  }
  .sitemap-mobile-chip:active {
    background: #f0f0f0;
  }
  .category-mobile-top {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: var(--mall-card);
    border-bottom: 1px solid var(--mall-border);
  }
  .category-mobile-back {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #333;
    text-decoration: none;
    font-size: 16px;
  }
  .category-mobile-name {
    flex: 1;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--mall-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.page-category #top,
  body.page-category header.header-wrap,
  body.page-category .menu-wrap,
  body.page-category #menu {
    display: none !important;
  }
  body.page-category main {
    padding-top: 0;
  }
  body.page-category footer {
    margin-top: 0;
  }
  .category-page {
    background: #f4f4f4;
    min-height: 100vh;
  }
  .category-page-container {
    padding-left: 0;
    padding-right: 0;
  }
  .category-page-layout {
    margin: 0;
  }
  .category-page #content {
    padding: 0;
  }
  .category-mobile-header {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 8px;
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .category-mobile-header-back,
  .category-mobile-header-spacer {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
  }
  .category-mobile-header-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #333;
    text-decoration: none;
    font-size: 16px;
  }
  .category-mobile-header-title {
    flex: 1;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .category-mobile-banner {
    background: #fff;
    padding: 10px 12px;
    border-bottom: 8px solid #f4f4f4;
  }
  .category-mobile-banner img {
    display: block;
    width: 100%;
    max-height: 120px;
    object-fit: cover;
    border-radius: 8px;
  }
  .category-subcats-mobile {
    margin-bottom: 8px;
    background: #fff;
  }
  .category-section-head {
    padding: 12px 12px 0;
  }
  .category-section-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #333;
  }
  .category-subcat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 10px 12px 12px;
  }
  .category-subcat-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f7f7f7;
    color: #333;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.35;
  }
  .category-subcat-item i {
    flex: 0 0 auto;
    font-size: 11px;
    color: #bbb;
  }
  .category-subcat-item:active {
    background: #f0f0f0;
  }
  .category-subcat-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .category-description-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 8px;
    padding: 12px;
    border: none;
    border-bottom: 8px solid #f4f4f4;
    background: #fff;
    color: #666;
    font-size: 13px;
  }
  .category-description-toggle i {
    color: #bbb;
    transition: transform 0.2s ease;
  }
  .category-description-toggle[aria-expanded=true] i {
    transform: rotate(180deg);
  }
  .category-description-mobile {
    background: #fff;
    border-bottom: 8px solid #f4f4f4;
  }
  .category-description-content {
    padding: 0 12px 12px;
    font-size: 13px;
    line-height: 1.6;
    color: #666;
  }
  .category-mobile-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: #fff;
    border-bottom: 8px solid #f4f4f4;
  }
  .category-results-count {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    color: #999;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .category-mobile-sort-wrap {
    flex: 0 1 150px;
    min-width: 120px;
  }
  .category-mobile-sort {
    height: 34px;
    border: 1px solid #e5e5e5;
    border-radius: 17px;
    padding: 0 12px;
    font-size: 13px;
    color: #666;
    background: #fff;
  }
  body.page-account #top,
  body.page-account header.header-wrap,
  body.page-account .menu-wrap,
  body.page-account #menu {
    display: none !important;
  }
  body.page-account main {
    padding-top: 0;
  }
  body.page-account footer {
    margin-top: 0;
  }
  body.page-account .breadcrumb {
    display: none !important;
  }
  body.page-account #column-left,
  body.page-account #column-right {
    display: none !important;
  }
  .account-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-page-container {
    padding-left: 0;
    padding-right: 0;
  }
  .account-page-layout {
    margin: 0;
  }
  .account-mobile-header {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    background: var(--mall-card);
    border-bottom: 1px solid var(--mall-border);
  }
  .account-mobile-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .account-mobile-profile {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    margin-bottom: 10px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .account-mobile-avatar {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff5f5;
    border: 1px solid #f0d0d0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--mall-price);
    font-size: 22px;
  }
  .account-mobile-user {
    flex: 1;
    min-width: 0;
  }
  .account-mobile-name {
    font-size: 17px;
    font-weight: 600;
    color: var(--mall-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .account-mobile-meta {
    margin-top: 4px;
    font-size: 13px;
    color: #999;
  }
  .account-mobile-profile-link {
    flex: 0 0 auto;
    color: #ccc;
    font-size: 14px;
    text-decoration: none;
    padding: 8px;
  }
  .account-mobile-top {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: var(--mall-card);
    border-bottom: 1px solid var(--mall-border);
  }
  .account-mobile-back {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #333;
    text-decoration: none;
    font-size: 16px;
  }
  .account-mobile-page-title {
    flex: 1;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--mall-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.page-account-sub [id^=account-]:not(#account-account):not(#account-login) #content > h1:first-child {
    display: none;
  }
  .account-mobile {
    padding: 10px 12px calc(68px + env(safe-area-inset-bottom, 0px));
  }
  .account-mobile.account-list h2.account-mobile-group-title {
    padding: 12px 14px 8px;
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #999;
    border-bottom: none;
    clear: none;
  }
  .account-mobile.account-list .list-unstyled {
    margin: 0 0 10px;
    background: var(--mall-card);
    border-radius: 10px;
    overflow: hidden;
  }
  .account-mobile.account-list .list-unstyled li {
    float: none;
    width: auto;
    margin: 0;
  }
  .account-mobile.account-list .list-unstyled a.account-mobile-menu-item {
    float: none;
    width: auto;
    margin: 0;
    padding: 14px;
    border: none;
    border-top: 1px solid #f5f5f5;
    border-radius: 0;
    text-align: left;
    box-shadow: none;
    color: var(--mall-text);
    font-size: 14px;
  }
  .account-mobile.account-list .list-unstyled a.account-mobile-menu-item i:first-child {
    font-size: 16px;
  }
  .account-mobile.account-list .list-unstyled a.account-mobile-menu-item span {
    display: inline;
    margin-top: 0;
    height: auto;
  }
  .account-mobile.account-list .list-unstyled a.account-mobile-menu-item:hover {
    background: #fafafa;
    border-color: #f5f5f5;
    color: var(--mall-text);
    box-shadow: none;
  }
  .account-mobile.account-list .list-unstyled li:first-child a.account-mobile-menu-item {
    border-top: none;
  }
  .account-mobile-group {
    margin-bottom: 0;
  }
  .account-mobile-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .account-mobile-menu-item > i:first-child {
    flex: 0 0 20px;
    width: 20px;
    text-align: center;
    color: #666;
  }
  .account-mobile-menu-item span {
    flex: 1;
    min-width: 0;
  }
  .account-mobile-menu-arrow {
    flex: 0 0 auto;
    color: #ccc;
    font-size: 12px;
  }
  .account-login-mobile {
    padding: 12px 12px calc(68px + env(safe-area-inset-bottom, 0px));
  }
  .account-login-card {
    background: var(--mall-card);
    border-radius: 10px;
    padding: 18px 16px;
    margin-bottom: 12px;
  }
  .account-login-card-title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .account-login-card-desc {
    margin: 0 0 16px;
    font-size: 13px;
    color: #999;
    line-height: 1.5;
  }
  .account-login-input {
    height: 44px;
    border-radius: 8px;
    border-color: #e8e8e8;
    font-size: 15px;
  }
  .account-login-forgot {
    margin-top: 8px;
    text-align: right;
    font-size: 13px;
  }
  .account-login-forgot a {
    color: #666;
    text-decoration: none;
  }
  .account-login-submit {
    height: 44px;
    border: none;
    border-radius: 22px;
    background: var(--mall-price);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
  }
  .account-login-submit:active {
    opacity: 0.9;
  }
  .account-login-register-btn {
    height: 44px;
    border-radius: 22px;
    border: 1px solid var(--mall-price);
    background: #fff;
    color: var(--mall-price);
    font-size: 15px;
    font-weight: 500;
  }
  body.page-account [id^=account-]:not(#account-account):not(#account-login) {
    background: var(--mall-bg);
    min-height: 100vh;
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }
  body.page-account [id^=account-]:not(#account-account):not(#account-login) > .container {
    padding-left: 12px;
    padding-right: 12px;
  }
  body.page-account [id^=account-]:not(#account-account):not(#account-login) .table-responsive {
    background: var(--mall-card);
    border-radius: 10px;
    overflow: hidden;
  }
  body.page-account [id^=account-]:not(#account-account):not(#account-login) .table {
    margin-bottom: 0;
    font-size: 13px;
  }
  body.page-account [id^=account-]:not(#account-account):not(#account-login) .form-control,
  body.page-account [id^=account-]:not(#account-account):not(#account-login) .form-select {
    min-height: 44px;
    border-radius: 8px;
  }
  body.page-account [id^=account-]:not(#account-account):not(#account-login) .btn-primary {
    min-height: 44px;
    border-radius: 22px;
  }
  .account-address-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-address-layout {
    margin: 0;
  }
  .account-address-page > .container,
  .account-address-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .address-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
  }
  .address-mobile-card {
    background: var(--mall-card);
    border-radius: 10px;
    overflow: hidden;
  }
  .address-mobile-card-main {
    padding: 14px 14px 12px;
  }
  .address-mobile-default {
    display: inline-block;
    margin-bottom: 8px;
    padding: 2px 8px;
    border-radius: 10px;
    background: #fff5f5;
    color: var(--mall-price);
    font-size: 11px;
    line-height: 1.5;
  }
  .address-detail-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .address-detail-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.5;
  }
  .address-detail-label {
    flex: 0 0 72px;
    color: #999;
  }
  .address-detail-value {
    flex: 1;
    min-width: 0;
    color: var(--mall-text);
    word-break: break-word;
  }
  .address-desktop-default {
    display: inline-block;
    margin-bottom: 10px;
    padding: 2px 8px;
    border-radius: 10px;
    background: #fff5f5;
    color: var(--mall-price);
    font-size: 12px;
    line-height: 1.5;
  }
  .address-mobile-text {
    color: var(--mall-text);
    font-size: 14px;
    line-height: 1.6;
    word-break: break-word;
  }
  .address-mobile-card-actions {
    display: flex;
    border-top: 1px solid #f5f5f5;
  }
  .address-mobile-action {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    color: #666;
    font-size: 14px;
    text-decoration: none;
    background: transparent;
    border: none;
  }
  .address-mobile-action + .address-mobile-action {
    border-left: 1px solid #f5f5f5;
  }
  .address-mobile-action:active {
    background: #fafafa;
  }
  .address-mobile-action-delete {
    color: var(--mall-price);
  }
  .address-mobile-empty {
    padding: 48px 16px;
    text-align: center;
    color: #999;
    font-size: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .address-mobile-add-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    z-index: 25;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--mall-border);
    backdrop-filter: blur(8px);
  }
  .address-mobile-add-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border-radius: 22px;
    background: var(--mall-price);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
  }
  .address-mobile-add-btn:active {
    opacity: 0.92;
  }
  .address-mobile-add-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  .account-address-form-page .account-address-form fieldset {
    background: var(--mall-card);
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 12px;
    border: none;
  }
  .account-address-form-page .account-address-form .row.mb-3 {
    flex-direction: column;
    margin-bottom: 14px !important;
  }
  .account-address-form-page .account-address-form .row.mb-3 > label.col-sm-2 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    padding-bottom: 6px;
    margin-bottom: 0;
    font-size: 13px;
    color: #666;
  }
  .account-address-form-page .account-address-form .row.mb-3 > .col-sm-10 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
  }
  .account-address-form-page .account-address-form .form-control,
  .account-address-form-page .account-address-form .form-select {
    min-height: 44px;
    border-radius: 8px;
    border-color: #e8e8e8;
    font-size: 15px;
  }
  .account-address-form-page .account-address-form .form-check-inline {
    display: inline-flex;
    align-items: center;
    margin-right: 16px;
  }
  .address-mobile-form-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    z-index: 25;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--mall-border);
    backdrop-filter: blur(8px);
  }
  .address-mobile-form-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border: none;
    border-radius: 22px;
    background: var(--mall-price);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
  }
  .address-mobile-form-submit:active {
    opacity: 0.92;
  }
  .address-mobile-form-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  .account-wishlist-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-wishlist-layout {
    margin: 0;
  }
  .account-wishlist-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .wishlist-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
  }
  .wishlist-mobile-item {
    display: grid;
    grid-template-columns: 88px 1fr auto;
    gap: 10px;
    align-items: start;
    padding: 12px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .wishlist-mobile-thumb {
    display: block;
    width: 88px;
    height: 88px;
    border-radius: 8px;
    overflow: hidden;
    background: #f7f7f7;
  }
  .wishlist-mobile-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .wishlist-mobile-thumb-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #ccc;
    font-size: 24px;
  }
  .wishlist-mobile-body {
    min-width: 0;
  }
  .wishlist-mobile-name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 6px;
    color: var(--mall-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
  }
  .wishlist-mobile-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 6px;
  }
  .wishlist-mobile-meta-row {
    display: flex;
    gap: 6px;
    font-size: 12px;
    line-height: 1.4;
  }
  .wishlist-mobile-label {
    flex: 0 0 auto;
    color: #999;
  }
  .wishlist-mobile-value {
    flex: 1;
    min-width: 0;
    color: #666;
    word-break: break-word;
  }
  .wishlist-mobile-price {
    color: var(--mall-price);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
  }
  .wishlist-mobile-price-old {
    margin-left: 6px;
    color: #999;
    font-size: 12px;
    font-weight: 400;
    text-decoration: line-through;
  }
  .wishlist-mobile-actions form {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .wishlist-mobile-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 18px;
    font-size: 15px;
    padding: 0;
  }
  .wishlist-mobile-action-cart {
    background: #fff5f5;
    color: var(--mall-price);
  }
  .wishlist-mobile-action-remove {
    background: #f5f5f5;
    color: #999;
  }
  .wishlist-mobile-empty {
    padding: 48px 16px;
    text-align: center;
    color: #999;
    font-size: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .account-order-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-order-layout {
    margin: 0;
  }
  .account-order-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .order-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
  }
  .order-mobile-card {
    display: block;
    padding: 14px;
    background: var(--mall-card);
    border-radius: 10px;
    color: inherit;
    text-decoration: none;
  }
  .order-mobile-card:active {
    background: #fafafa;
  }
  .order-mobile-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
  }
  .order-mobile-id {
    font-size: 15px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .order-mobile-status {
    flex: 0 1 auto;
    max-width: 55%;
    padding: 2px 8px;
    border-radius: 10px;
    background: #fff5f5;
    color: var(--mall-price);
    font-size: 12px;
    line-height: 1.5;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .order-mobile-rows {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
  }
  .order-mobile-row {
    display: flex;
    gap: 10px;
    font-size: 13px;
    line-height: 1.4;
  }
  .order-mobile-label {
    flex: 0 0 72px;
    color: #999;
  }
  .order-mobile-value {
    flex: 1;
    min-width: 0;
    color: #666;
    word-break: break-word;
  }
  .order-mobile-foot {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #f5f5f5;
  }
  .order-mobile-foot .order-mobile-label {
    flex: 0 0 auto;
  }
  .order-mobile-total {
    flex: 1;
    min-width: 0;
    color: var(--mall-price);
    font-size: 16px;
    font-weight: 600;
  }
  .order-mobile-view {
    flex: 0 0 auto;
    color: #999;
    font-size: 12px;
    white-space: nowrap;
  }
  .order-mobile-empty {
    padding: 48px 16px;
    text-align: center;
    color: #999;
    font-size: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .order-mobile-pagination {
    margin-bottom: 12px;
    padding: 12px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .order-mobile-results {
    margin-bottom: 10px;
    font-size: 12px;
    color: #999;
    text-align: center;
  }
  .order-mobile-pages .pagination {
    justify-content: center;
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 4px;
  }
  .order-mobile-pages .page-link {
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
  }
  .account-order-info-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-order-info-layout {
    margin: 0;
  }
  .account-order-info-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .order-info-mobile {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
  }
  .order-info-mobile-section {
    background: var(--mall-card);
    border-radius: 10px;
    overflow: hidden;
  }
  .order-info-mobile-section-title,
  .order-info-history-title {
    margin: 0;
    padding: 12px 14px 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .order-info-history-title {
    padding-left: 0;
    padding-right: 0;
  }
  .order-info-mobile-rows {
    padding: 4px 14px 14px;
  }
  .order-info-mobile-row {
    display: flex;
    gap: 10px;
    padding: 8px 0;
    font-size: 13px;
    line-height: 1.5;
    border-top: 1px solid #f5f5f5;
  }
  .order-info-mobile-row:first-child {
    border-top: none;
  }
  .order-info-mobile-label {
    flex: 0 0 88px;
    color: #999;
  }
  .order-info-mobile-value {
    flex: 1;
    min-width: 0;
    color: #666;
    word-break: break-word;
  }
  .order-info-mobile-status {
    color: var(--mall-price);
    font-weight: 500;
  }
  .order-info-mobile-total {
    color: var(--mall-price);
    font-weight: 600;
  }
  .order-info-mobile-block {
    padding: 0 14px 14px;
    color: #666;
    font-size: 13px;
    line-height: 1.6;
    word-break: break-word;
  }
  .order-info-product-card {
    padding: 12px 14px;
    border-top: 1px solid #f5f5f5;
  }
  .order-info-product-card:first-of-type {
    border-top: none;
  }
  .order-info-product-name {
    display: block;
    margin-bottom: 8px;
    color: var(--mall-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
  }
  .order-info-product-meta {
    margin-bottom: 8px;
    color: #999;
    font-size: 12px;
    line-height: 1.5;
  }
  .order-info-product-meta-item + .order-info-product-meta-item {
    margin-top: 4px;
  }
  .order-info-product-rows {
    margin-bottom: 10px;
  }
  .order-info-product-rows .order-info-mobile-row {
    padding: 4px 0;
    border-top: none;
  }
  .order-info-product-actions {
    display: flex;
    gap: 8px;
  }
  .order-info-product-action {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    border-radius: 18px;
    font-size: 13px;
    text-decoration: none;
  }
  .order-info-product-action-reorder {
    background: #fff5f5;
    color: var(--mall-price);
  }
  .order-info-product-action-return {
    background: #f5f5f5;
    color: #666;
  }
  .order-info-totals {
    padding: 12px 14px;
    border-top: 1px solid #f5f5f5;
    background: #fafafa;
  }
  .order-info-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 0;
    font-size: 13px;
  }
  .order-info-total-label {
    color: #666;
  }
  .order-info-total-value {
    color: var(--mall-text);
    font-weight: 500;
  }
  .order-info-total-row:last-child .order-info-total-value {
    color: var(--mall-price);
    font-size: 16px;
    font-weight: 600;
  }
  .order-info-history-wrap {
    margin-bottom: 12px;
  }
  .order-info-history-mobile {
    margin-top: 0;
  }
  .order-history-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .order-history-mobile-item {
    padding: 12px 14px;
    border-top: 1px solid #f5f5f5;
  }
  .order-history-mobile-item:first-child {
    border-top: none;
  }
  .order-history-mobile-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
  }
  .order-history-mobile-status {
    flex: 1;
    min-width: 0;
    color: var(--mall-price);
    font-size: 13px;
    font-weight: 500;
  }
  .order-history-mobile-date {
    flex: 0 0 auto;
    color: #999;
    font-size: 12px;
    white-space: nowrap;
  }
  .order-history-mobile-comment {
    color: #666;
    font-size: 13px;
    line-height: 1.5;
    word-break: break-word;
  }
  .order-history-mobile-empty {
    padding: 24px 14px;
    text-align: center;
    color: #999;
    font-size: 13px;
  }
  .order-history-mobile-pagination {
    padding: 0 14px 14px;
  }
  .order-history-mobile-results {
    margin-bottom: 10px;
    font-size: 12px;
    color: #999;
    text-align: center;
  }
  .order-history-mobile-pages .pagination {
    justify-content: center;
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 4px;
  }
  .order-info-mobile-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    z-index: 25;
    display: flex;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--mall-border);
    backdrop-filter: blur(8px);
  }
  .order-info-mobile-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: none;
    border-radius: 22px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
  }
  .order-info-mobile-btn-success {
    background: #28a745;
    color: #fff;
  }
  .order-info-mobile-btn-primary {
    background: var(--mall-price);
    color: #fff;
  }
  .order-info-mobile-bar-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  .account-returns-page,
  .account-return-info-page,
  .account-return-form-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-returns-layout,
  .account-return-info-layout,
  .account-return-form-layout {
    margin: 0;
  }
  .account-returns-page.container,
  .account-return-info-page.container,
  .account-return-form-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .returns-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
  }
  .returns-mobile-card {
    display: block;
    padding: 14px;
    background: var(--mall-card);
    border-radius: 10px;
    color: inherit;
    text-decoration: none;
  }
  .returns-mobile-card:active {
    background: #fafafa;
  }
  .returns-mobile-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
  }
  .returns-mobile-id {
    font-size: 15px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .returns-mobile-status {
    flex: 0 1 auto;
    max-width: 55%;
    padding: 2px 8px;
    border-radius: 10px;
    background: #fff5f5;
    color: var(--mall-price);
    font-size: 12px;
    line-height: 1.5;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .returns-mobile-rows {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
  }
  .returns-mobile-row {
    display: flex;
    gap: 10px;
    font-size: 13px;
    line-height: 1.4;
  }
  .returns-mobile-label {
    flex: 0 0 72px;
    color: #999;
  }
  .returns-mobile-value {
    flex: 1;
    min-width: 0;
    color: #666;
    word-break: break-word;
  }
  .returns-mobile-foot {
    display: flex;
    justify-content: flex-end;
    padding-top: 10px;
    border-top: 1px solid #f5f5f5;
  }
  .returns-mobile-view {
    color: #999;
    font-size: 12px;
  }
  .returns-mobile-empty {
    padding: 48px 16px;
    text-align: center;
    color: #999;
    font-size: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .returns-mobile-pagination {
    margin-bottom: 12px;
    padding: 12px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .returns-mobile-results {
    margin-bottom: 10px;
    font-size: 12px;
    color: #999;
    text-align: center;
  }
  .returns-mobile-pages .pagination {
    justify-content: center;
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 4px;
  }
  .returns-info-mobile {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
  }
  .returns-info-mobile-section {
    background: var(--mall-card);
    border-radius: 10px;
    overflow: hidden;
  }
  .returns-info-mobile-section-title {
    margin: 0;
    padding: 12px 14px 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .returns-info-mobile-rows {
    padding: 4px 14px 14px;
  }
  .returns-info-mobile-row {
    display: flex;
    gap: 10px;
    padding: 8px 0;
    font-size: 13px;
    line-height: 1.5;
    border-top: 1px solid #f5f5f5;
  }
  .returns-info-mobile-row:first-child {
    border-top: none;
  }
  .returns-info-mobile-label {
    flex: 0 0 88px;
    color: #999;
  }
  .returns-info-mobile-value {
    flex: 1;
    min-width: 0;
    color: #666;
    word-break: break-word;
  }
  .returns-info-mobile-block {
    padding: 0 14px 14px;
    color: #666;
    font-size: 13px;
    line-height: 1.6;
    word-break: break-word;
  }
  .returns-history-mobile-item {
    padding: 12px 14px;
    border-top: 1px solid #f5f5f5;
  }
  .returns-history-mobile-item:first-child {
    border-top: none;
  }
  .returns-history-mobile-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
  }
  .returns-history-mobile-status {
    flex: 1;
    min-width: 0;
    color: var(--mall-price);
    font-size: 13px;
    font-weight: 500;
  }
  .returns-history-mobile-date {
    flex: 0 0 auto;
    color: #999;
    font-size: 12px;
    white-space: nowrap;
  }
  .returns-history-mobile-comment {
    color: #666;
    font-size: 13px;
    line-height: 1.5;
    word-break: break-word;
  }
  .returns-history-mobile-empty {
    padding: 24px 14px;
    text-align: center;
    color: #999;
    font-size: 13px;
  }
  .returns-form-desc {
    margin-bottom: 12px;
    padding: 12px 14px;
    background: var(--mall-card);
    border-radius: 10px;
    color: #666;
    font-size: 13px;
    line-height: 1.6;
  }
  .returns-form-desc p {
    margin: 0;
  }
  .returns-form-fieldset {
    background: var(--mall-card);
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 12px;
    border: none;
  }
  .returns-form-legend {
    float: none;
    width: auto;
    margin: 0 0 12px;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .account-return-form-page .returns-form .row.mb-3 {
    flex-direction: column;
    margin-bottom: 14px !important;
  }
  .account-return-form-page .returns-form .row.mb-3 > label.col-sm-2 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    padding-bottom: 6px;
    margin-bottom: 0;
    font-size: 13px;
    color: #666;
  }
  .account-return-form-page .returns-form .row.mb-3 > .col-sm-10,
  .account-return-form-page .returns-form .row.mb-3 > .col-sm-10.col-md-4 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
  }
  .account-return-form-page .returns-form .form-control,
  .account-return-form-page .returns-form .form-select {
    min-height: 44px;
    border-radius: 8px;
    border-color: #e8e8e8;
    font-size: 15px;
  }
  .account-return-form-page .returns-form .form-check {
    margin-bottom: 8px;
  }
  .account-return-form-page .returns-form .form-check-inline {
    display: inline-flex;
    align-items: center;
    margin-right: 16px;
  }
  .returns-form-agree {
    margin-bottom: 12px;
    padding: 12px 14px;
    background: var(--mall-card);
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.5;
  }
  .returns-form-mobile-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    z-index: 25;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--mall-border);
    backdrop-filter: blur(8px);
  }
  .returns-form-mobile-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border: none;
    border-radius: 22px;
    background: var(--mall-price);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
  }
  .returns-form-mobile-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  .account-reward-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-reward-layout {
    margin: 0;
  }
  .account-reward-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .reward-mobile-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    margin-bottom: 10px;
    background: linear-gradient(135deg, #fff5f5 0%, var(--mall-card) 55%);
    border-radius: 10px;
  }
  .reward-mobile-summary-label {
    font-size: 14px;
    color: #666;
  }
  .reward-mobile-summary-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--mall-price);
    line-height: 1;
  }
  .reward-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
  }
  .reward-mobile-item {
    padding: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .reward-mobile-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
  }
  .reward-mobile-date {
    font-size: 12px;
    color: #999;
  }
  .reward-mobile-points {
    font-size: 18px;
    font-weight: 700;
    color: var(--mall-price);
  }
  .reward-mobile-points.is-negative {
    color: #666;
  }
  .reward-mobile-desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--mall-text);
    word-break: break-word;
  }
  .reward-mobile-desc a {
    color: var(--mall-text);
    text-decoration: none;
  }
  .reward-mobile-empty {
    padding: 48px 16px;
    text-align: center;
    color: #999;
    font-size: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .reward-mobile-pagination {
    margin-bottom: 12px;
    padding: 12px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .reward-mobile-results {
    margin-bottom: 10px;
    font-size: 12px;
    color: #999;
    text-align: center;
  }
  .reward-mobile-pages .pagination {
    justify-content: center;
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 4px;
  }
  .account-transaction-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-transaction-layout {
    margin: 0;
  }
  .account-transaction-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .transaction-mobile-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    margin-bottom: 10px;
    background: linear-gradient(135deg, #fff5f5 0%, var(--mall-card) 55%);
    border-radius: 10px;
  }
  .transaction-mobile-summary-main {
    flex: 1;
    min-width: 0;
  }
  .transaction-mobile-summary-label {
    font-size: 14px;
    color: #666;
  }
  .transaction-mobile-summary-value {
    margin-top: 6px;
    font-size: 28px;
    font-weight: 700;
    color: var(--mall-price);
    line-height: 1;
  }
  .transaction-mobile-withdraw-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 18px;
    background: var(--mall-price);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
  }
  .transaction-mobile-section {
    margin-bottom: 12px;
  }
  .transaction-mobile-section-title {
    margin: 0 0 10px;
    padding: 0 2px;
    font-size: 15px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .transaction-mobile-pending {
    margin: 0 0 10px;
    padding: 10px 14px;
    background: var(--mall-card);
    border-radius: 10px;
    font-size: 13px;
    color: #666;
    line-height: 1.5;
  }
  .transaction-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .transaction-mobile-item {
    padding: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .transaction-mobile-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
  }
  .transaction-mobile-date,
  .transaction-mobile-order {
    font-size: 12px;
    color: #999;
  }
  .transaction-mobile-order {
    font-size: 14px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .transaction-mobile-amount {
    font-size: 16px;
    font-weight: 700;
    color: var(--mall-price);
  }
  .transaction-mobile-status {
    flex: 0 1 auto;
    max-width: 55%;
    padding: 2px 8px;
    border-radius: 10px;
    background: #fff5f5;
    color: var(--mall-price);
    font-size: 12px;
    line-height: 1.5;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .transaction-mobile-desc {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--mall-text);
    word-break: break-word;
  }
  .transaction-mobile-rows {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .transaction-mobile-row {
    display: flex;
    gap: 10px;
    font-size: 13px;
    line-height: 1.4;
  }
  .transaction-mobile-label {
    flex: 0 0 88px;
    color: #999;
  }
  .transaction-mobile-value {
    flex: 1;
    min-width: 0;
    color: #666;
    word-break: break-word;
  }
  .transaction-mobile-qr {
    max-width: 80px;
    max-height: 80px;
    border-radius: 6px;
  }
  .transaction-mobile-empty {
    padding: 32px 16px;
    text-align: center;
    color: #999;
    font-size: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .transaction-mobile-pagination {
    margin-top: 10px;
    padding: 12px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .transaction-mobile-results {
    margin-bottom: 10px;
    font-size: 12px;
    color: #999;
    text-align: center;
  }
  .transaction-mobile-pages .pagination {
    justify-content: center;
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 4px;
  }
  .account-withdraw-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-withdraw-layout {
    margin: 0;
  }
  .account-withdraw-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .withdraw-mobile-alert {
    margin-bottom: 10px;
    border-radius: 10px;
    border: none;
    font-size: 13px;
    line-height: 1.5;
  }
  .withdraw-mobile-summary {
    padding: 16px;
    margin-bottom: 10px;
    background: linear-gradient(135deg, #fff5f5 0%, var(--mall-card) 55%);
    border-radius: 10px;
  }
  .withdraw-mobile-summary-label {
    font-size: 14px;
    color: #666;
  }
  .withdraw-mobile-summary-value {
    margin-top: 6px;
    font-size: 28px;
    font-weight: 700;
    color: var(--mall-price);
    line-height: 1;
  }
  .withdraw-mobile-summary-min {
    margin-top: 8px;
    font-size: 12px;
    color: #999;
  }
  .withdraw-form-fieldset {
    background: var(--mall-card);
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 12px;
    border: none;
  }
  .withdraw-form-legend {
    float: none;
    width: auto;
    margin: 0 0 12px;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .account-withdraw-page .withdraw-form .row.mb-3 {
    flex-direction: column;
    margin-bottom: 14px !important;
  }
  .account-withdraw-page .withdraw-form .row.mb-3 > label.col-sm-2 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    padding-bottom: 6px;
    margin-bottom: 0;
    font-size: 13px;
    color: #666;
  }
  .account-withdraw-page .withdraw-form .row.mb-3 > .col-sm-10 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
  }
  .account-withdraw-page .withdraw-form .form-control,
  .account-withdraw-page .withdraw-form .form-select {
    min-height: 44px;
    border-radius: 8px;
    border-color: #e8e8e8;
    font-size: 15px;
  }
  .account-withdraw-page .withdraw-form textarea.form-control {
    min-height: 96px;
  }
  .account-withdraw-page .withdraw-form .form-text {
    margin-top: 6px;
    font-size: 12px;
    color: #999;
  }
  .account-withdraw-page .withdraw-mobile-upload {
    flex-wrap: wrap;
    gap: 8px;
  }
  .account-withdraw-page .withdraw-mobile-upload .btn {
    min-height: 44px;
    border-radius: 8px;
    border-color: #e8e8e8;
  }
  .account-withdraw-page .withdraw-mobile-upload .form-control {
    flex: 1 1 100%;
  }
  .withdraw-mobile-form-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    z-index: 25;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--mall-border);
    backdrop-filter: blur(8px);
  }
  .withdraw-mobile-form-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border: none;
    border-radius: 22px;
    background: var(--mall-price);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
  }
  .withdraw-mobile-form-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  .withdraw-history-title {
    margin: 0 0 10px;
    padding: 0 2px;
    font-size: 15px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .withdraw-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .withdraw-mobile-item {
    padding: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .withdraw-mobile-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
  }
  .withdraw-mobile-order {
    font-size: 14px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .withdraw-mobile-status {
    flex: 0 1 auto;
    max-width: 55%;
    padding: 2px 8px;
    border-radius: 10px;
    background: #fff5f5;
    color: var(--mall-price);
    font-size: 12px;
    line-height: 1.5;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .withdraw-mobile-amount {
    font-weight: 700;
    color: var(--mall-price);
  }
  .withdraw-mobile-rows {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .withdraw-mobile-row {
    display: flex;
    gap: 10px;
    font-size: 13px;
    line-height: 1.4;
  }
  .withdraw-mobile-label {
    flex: 0 0 72px;
    color: #999;
  }
  .withdraw-mobile-value {
    flex: 1;
    min-width: 0;
    color: #666;
    word-break: break-word;
  }
  .withdraw-mobile-actions {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
  }
  .withdraw-mobile-cancel {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid #ffc9c9;
    border-radius: 18px;
    background: #fff;
    color: var(--mall-price);
    font-size: 13px;
    font-weight: 600;
  }
  .withdraw-mobile-empty {
    padding: 32px 16px;
    text-align: center;
    color: #999;
    font-size: 14px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .withdraw-mobile-pagination {
    margin-top: 10px;
    padding: 12px;
    background: var(--mall-card);
    border-radius: 10px;
  }
  .withdraw-mobile-results {
    margin-bottom: 10px;
    font-size: 12px;
    color: #999;
    text-align: center;
  }
  .withdraw-mobile-pages .pagination {
    justify-content: center;
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 4px;
  }
  .account-newsletter-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-newsletter-layout {
    margin: 0;
  }
  .account-newsletter-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .newsletter-form-fieldset {
    background: var(--mall-card);
    border-radius: 10px;
    padding: 4px 14px;
    margin-bottom: 12px;
    border: none;
  }
  .account-newsletter-page .newsletter-toggle-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0 !important;
    min-height: 52px;
  }
  .account-newsletter-page .newsletter-toggle-label {
    width: auto;
    max-width: none;
    flex: 1 1 auto;
    padding: 0;
    margin: 0;
    text-align: left;
    font-size: 15px;
    font-weight: 500;
    color: var(--mall-text);
  }
  .account-newsletter-page .newsletter-toggle-control {
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    padding: 0;
  }
  .account-newsletter-page .newsletter-toggle-control .form-check {
    margin: 0;
    padding-left: 0;
    min-height: 0;
  }
  .account-newsletter-page .newsletter-toggle-control .form-check-input {
    width: 48px;
    height: 28px;
    margin: 0;
    cursor: pointer;
    border-color: #ddd;
    background-color: #e8e8e8;
  }
  .account-newsletter-page .newsletter-toggle-control .form-check-input:checked {
    background-color: var(--mall-price);
    border-color: var(--mall-price);
  }
  .account-newsletter-page .newsletter-toggle-control .form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(228, 57, 60, 0.2);
  }
  .newsletter-mobile-form-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    z-index: 25;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--mall-border);
    backdrop-filter: blur(8px);
  }
  .newsletter-mobile-form-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border: none;
    border-radius: 22px;
    background: var(--mall-price);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
  }
  .newsletter-mobile-form-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
  .account-edit-page,
  .account-password-page {
    background: var(--mall-bg);
    min-height: 100vh;
  }
  .account-edit-layout,
  .account-password-layout {
    margin: 0;
  }
  .account-edit-page.container,
  .account-password-page.container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .account-edit-fieldset,
  .password-form-fieldset {
    background: var(--mall-card);
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 12px;
    border: none;
  }
  .account-edit-legend,
  .password-form-legend {
    float: none;
    width: auto;
    margin: 0 0 12px;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--mall-text);
  }
  .account-edit-page .account-edit-form .row.mb-3,
  .account-edit-page .password-form .row.mb-3,
  .account-password-page .account-edit-form .row.mb-3,
  .account-password-page .password-form .row.mb-3 {
    flex-direction: column;
    margin-bottom: 14px !important;
  }
  .account-edit-page .account-edit-form .row.mb-3 > label.col-sm-2,
  .account-edit-page .account-edit-form .row.mb-3 > label.col-md-3,
  .account-edit-page .password-form .row.mb-3 > label.col-sm-2,
  .account-edit-page .password-form .row.mb-3 > label.col-md-3,
  .account-password-page .account-edit-form .row.mb-3 > label.col-sm-2,
  .account-password-page .account-edit-form .row.mb-3 > label.col-md-3,
  .account-password-page .password-form .row.mb-3 > label.col-sm-2,
  .account-password-page .password-form .row.mb-3 > label.col-md-3 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    padding-bottom: 6px;
    margin-bottom: 0;
    font-size: 13px;
    color: #666;
    text-align: left;
  }
  .account-edit-page .account-edit-form .row.mb-3 > .col-sm-10,
  .account-edit-page .account-edit-form .row.mb-3 > .col-md-9,
  .account-edit-page .password-form .row.mb-3 > .col-sm-10,
  .account-edit-page .password-form .row.mb-3 > .col-md-9,
  .account-password-page .account-edit-form .row.mb-3 > .col-sm-10,
  .account-password-page .account-edit-form .row.mb-3 > .col-md-9,
  .account-password-page .password-form .row.mb-3 > .col-sm-10,
  .account-password-page .password-form .row.mb-3 > .col-md-9 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
  }
  .account-edit-page .account-edit-form .form-control,
  .account-edit-page .account-edit-form .form-select,
  .account-edit-page .password-form .form-control,
  .account-edit-page .password-form .form-select,
  .account-password-page .account-edit-form .form-control,
  .account-password-page .account-edit-form .form-select,
  .account-password-page .password-form .form-control,
  .account-password-page .password-form .form-select {
    min-height: 44px;
    border-radius: 8px;
    border-color: #e8e8e8;
    font-size: 15px;
  }
  .account-edit-page .account-edit-form textarea.form-control,
  .account-edit-page .password-form textarea.form-control,
  .account-password-page .account-edit-form textarea.form-control,
  .account-password-page .password-form textarea.form-control {
    min-height: 96px;
  }
  .account-edit-page .account-edit-form .form-check,
  .account-edit-page .password-form .form-check,
  .account-password-page .account-edit-form .form-check,
  .account-password-page .password-form .form-check {
    margin-bottom: 8px;
  }
  .account-edit-page .account-edit-form .form-check-inline,
  .account-edit-page .password-form .form-check-inline,
  .account-password-page .account-edit-form .form-check-inline,
  .account-password-page .password-form .form-check-inline {
    display: inline-flex;
    align-items: center;
    margin-right: 16px;
  }
  .account-edit-page .account-edit-form .input-group .form-control,
  .account-edit-page .password-form .input-group .form-control,
  .account-password-page .account-edit-form .input-group .form-control,
  .account-password-page .password-form .input-group .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .account-edit-page .account-edit-form .input-group-text,
  .account-edit-page .password-form .input-group-text,
  .account-password-page .account-edit-form .input-group-text,
  .account-password-page .password-form .input-group-text {
    min-height: 44px;
    border-color: #e8e8e8;
  }
  .account-edit-page .account-edit-form .btn.btn-light,
  .account-edit-page .password-form .btn.btn-light,
  .account-password-page .account-edit-form .btn.btn-light,
  .account-password-page .password-form .btn.btn-light {
    min-height: 44px;
    border-radius: 8px;
    border-color: #e8e8e8;
  }
  .edit-mobile-form-bar,
  .password-mobile-form-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    z-index: 25;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--mall-border);
    backdrop-filter: blur(8px);
  }
  .edit-mobile-form-submit,
  .password-mobile-form-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border: none;
    border-radius: 22px;
    background: var(--mall-price);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
  }
  .edit-mobile-form-spacer,
  .password-mobile-form-spacer {
    height: calc(68px + env(safe-area-inset-bottom, 0px));
  }
}
/* mf3-thumb-mobile-v2 — search this string on live CSS to verify deploy */
@media (max-width: 767px) {
  .product-thumb .image {
    position: relative !important;
  }
  .product-thumb .image .form-btns {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    display: block !important;
    opacity: 1 !important;
    pointer-events: none !important;
    z-index: 5 !important;
  }
  .product-thumb .image .form-btns > .product-thumb-action-mobile,
  .product-thumb .image .form-btns > .product-thumb-wishlist-mobile,
  .product-thumb .image .form-btns > .product-thumb-cart-mobile {
    position: absolute !important;
    bottom: 8px !important;
    top: auto !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }
  .product-thumb .image .form-btns > .product-thumb-wishlist-mobile {
    left: 8px !important;
    right: auto !important;
    z-index: 6 !important;
  }
  .product-thumb .image .form-btns > .product-thumb-cart-mobile {
    right: 8px !important;
    left: auto !important;
    z-index: 7 !important;
  }
}
/* Google Translate widget */
.page-google-translate {
  top: 0 !important;
}

.page-google-translate .skiptranslate iframe,
.page-google-translate .goog-te-banner-frame.skiptranslate {
  display: none !important;
}

.page-google-translate .goog-te-banner-frame {
  display: none !important;
}

.google-translate-wrap {
  display: inline-block;
  vertical-align: middle;
}

.google-translate-wrap .goog-te-gadget {
  font-family: inherit !important;
  font-size: 0 !important;
  color: inherit !important;
}

.google-translate-wrap .goog-te-gadget > span {
  display: none !important;
}

.google-translate-wrap .goog-te-combo {
  margin: 0;
  padding: 2px 4px;
  border: 1px solid var(--mall-border, #ddd);
  border-radius: 4px;
  background: #fff;
  font-size: 13px;
  line-height: 1.4;
  color: inherit;
  max-width: 140px;
}

#goog-gt-tt,
.goog-te-balloon-frame,
.goog-te-menu-frame {
  display: none !important;
  visibility: hidden !important;
}

/*# sourceMappingURL=stylesheet.css.map */
