@font-face {
  font-family: "Linux Biolinum";
  src: url("../fonts/LinuxBiolinum/LinuxBiolinum.woff2") format("woff2"),
       url("../fonts/LinuxBiolinum/LinuxBiolinum.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Linux Biolinum";
  src: url("../fonts/LinuxBiolinum/LinuxBiolinumBold.woff2") format("woff2"),
       url("../fonts/LinuxBiolinum/LinuxBiolinumBold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.mz-shop-v3 {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 32px 28px 56px;
  font-family: "Linux Biolinum", "IBM Plex Sans Thai", sans-serif;
}

.mz-shop-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 58px;
  align-items: start;
}

.mz-filter-panel {
  position: sticky;
  top: 24px;
  align-self: start;
}

.mz-filter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  color: #9a9a9a;
  font-size: 18px;
}

.mz-filter-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.mz-filter-icon {
  width: 18px;
  height: 18px;
  display: inline-block;
  border: 2px solid currentColor;
  border-top: 0;
  clip-path: polygon(0 0, 100% 0, 62% 45%, 62% 100%, 38% 100%, 38% 45%);
  opacity: .7;
}

.mz-filter-close { display: none; }

.mz-filter-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mz-filter-item {
  min-height: 60px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 52px;
  gap: 12px;
  align-items: center;
  background: #eef4f2;
  border-radius: 10px;
  padding: 10px 12px;
  cursor: pointer;
  transition: background .18s ease, box-shadow .18s ease;
}

.mz-filter-item:hover,
.mz-filter-item.is-active {
  background: #e3eeea;
  box-shadow: inset 0 0 0 1px rgba(28, 68, 52, .12);
}

.mz-filter-checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.mz-checkbox-ui {
  width: 18px;
  height: 18px;
  border: 1.5px solid #9da5a0;
  border-radius: 2px;
  background: #f7faf8;
  position: relative;
}

.mz-filter-checkbox:checked + .mz-checkbox-ui::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #173f2d;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.mz-filter-name {
  color: #1e2521;
  font-size: 16px;
  line-height: 1.25;
}

.mz-filter-thumb {
  width: 50px;
  height: 48px;
  object-fit: contain;
  justify-self: end;
}

.mz-filter-actions {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}

.mz-clear-filter,
.mz-submit-filter,
.mz-load-more,
.mz-page-btn,
.mz-filter-mobile-trigger {
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 10px 16px;
  background: #173f2d;
  color: #fff;
  font-size: 14px;
}

.mz-submit-filter { display: none; }

.mz-product-area { min-width: 0; }

.mz-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 16px;
}

.mz-product-card {
  min-height: 455px;
  position: relative;
  background: #fff;
  border: 1px solid #eef0ee;
  border-radius: 10px;
  padding: 14px 12px 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.mz-card-info {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  text-decoration: none;
  color: #123b2b;
  font-size: 17px;
  line-height: 1;
}

.mz-card-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  border-radius: 999px;
  padding: 5px 13px;
  font-size: 14px;
  line-height: 1;
  color: #fff;
}

.mz-card-badge.is-new { background: #ff5b3f; }
.mz-card-badge.is-best { background: #351827; }
.mz-card-badge.is-oos { background: #8c8c8c; }

.mz-card-image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 315px;
  text-decoration: none;
}

.mz-card-image {
  max-width: 100%;
  max-height: 290px;
  object-fit: contain;
}

.mz-card-body {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.mz-card-title {
  color: #1d241f;
  text-decoration: none;
  font-size: 17px;
  line-height: 1.25;
  min-height: 43px;
}

.mz-card-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.mz-card-price {
  display: flex;
  gap: 8px;
  align-items: baseline;
  flex-wrap: wrap;
  color: #1d241f;
  font-size: 17px;
}

.mz-price-regular {
  color: #9a9a9a;
  text-decoration: line-through;
}

.mz-price-sale { color: #ff4b31; }

.mz-card-cart {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #123b2b;
  background: transparent;
  border: 0;
  padding: 0;
  text-decoration: none;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.mz-card-cart.is-disabled {
  cursor: not-allowed;
  opacity: .35;
}

.mz-card-cart.is-loading {
  opacity: .55;
  pointer-events: none;
}

.mz-card-cart.is-added {
  color: #173f2d;
  font-weight: 700;
}
.mz-shop-v3 .mz-product-card .added_to_cart.wc-forward{align-items:center;background:#eef4f1;border:1px solid #dce8e3;border-radius:999px;color:#16362f;display:inline-flex;font-family:"Linux Biolinum","IBM Plex Sans Thai",sans-serif;font-size:16px;font-weight:700;gap:8px;height:44px;justify-content:center;line-height:18px;padding:0 18px;text-decoration:none;white-space:nowrap}.mz-shop-v3 .mz-product-card .added_to_cart.wc-forward:hover,.mz-shop-v3 .mz-product-card .added_to_cart.wc-forward:focus{background:#e4efea;color:#16362f;text-decoration:none}

.mz-product-card.is-out-of-stock {
  opacity: .65;
}

.mz-oos-text {
  color: #777;
  font-size: 13px;
  white-space: nowrap;
}

.mz-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}

.mz-page-btn {
  width: 38px;
  height: 38px;
  padding: 0;
  background: #eef4f2;
  color: #123b2b;
}

.mz-page-btn.is-active {
  background: #173f2d;
  color: #fff;
}

.mz-loading,
.mz-empty {
  padding: 32px;
  text-align: center;
  color: #5b625d;
}

.mz-filter-mobile-trigger { display: none; }
.mz-filter-backdrop { display: none; }

@media (max-width: 1024px) {
  .mz-shop-layout {
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 24px;
  }
  .mz-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .mz-shop-v3 {
    padding: 18px 14px 42px;
  }

  .mz-filter-mobile-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
  }

  .mz-filter-count {
    min-width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #173f2d;
    border-radius: 999px;
    font-size: 12px;
  }

  .mz-shop-layout {
    display: block;
  }

  .mz-filter-panel {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(88vw, 360px);
    background: #fff;
    z-index: 10001;
    padding: 22px 16px;
    overflow-y: auto;
    transform: translateX(-105%);
    transition: transform .22s ease;
    box-shadow: 10px 0 30px rgba(0,0,0,.16);
  }

  .mz-filter-panel.is-open { transform: translateX(0); }
  .mz-filter-close {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #eef4f2;
    color: #173f2d;
    font-size: 24px;
    line-height: 1;
  }

  .mz-filter-backdrop.is-open {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    z-index: 10000;
  }

  .mz-filter-actions {
    position: sticky;
    bottom: 0;
    background: #fff;
    padding-top: 12px;
  }

  .mz-submit-filter { display: inline-flex; }

  .mz-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .mz-product-card {
    min-height: 300px;
    padding: 10px 9px 12px;
    border-radius: 9px;
  }

  .mz-card-image-wrap {
    height: 190px;
  }

  .mz-card-image {
    max-height: 175px;
  }

  .mz-card-title {
    font-size: 14px;
    min-height: 36px;
  }

  .mz-card-price {
    font-size: 14px;
  }

  .mz-card-badge {
    font-size: 12px;
    padding: 4px 10px;
  }

  .mz-load-more {
    display: block;
    margin: 20px auto 0;
  }
}


.mz-price-regular .woocommerce-Price-amount,
.mz-price-regular bdi {
  color: #9a9a9a !important;
  text-decoration: line-through;
}

.mz-price-sale .woocommerce-Price-amount,
.mz-price-sale bdi {
  color: #ff4b31 !important;
}

/* Mobile filter modal refinement — scoped to mobile only, desktop unaffected */
@media (max-width: 767px) {
  html.mz-filter-open,
  body.mz-filter-open {
    overflow: hidden;
  }

  .mz-filter-mobile-trigger {
    min-width: 40px;
    min-height: 40px;
    border-radius: 0;
    padding: 10px 12px;
    background: #fff;
    color: #173f2d;
    border: 1px solid #e9eeee;
    box-shadow: none;
  }

  .mz-filter-mobile-trigger > span:not(.mz-filter-icon):not(.mz-filter-count) {
    display: none;
  }

  .mz-filter-count {
    position: absolute;
    transform: translate(14px, -14px);
    min-width: 18px;
    height: 18px;
    background: #315b4e;
    color: #fff;
    font-size: 11px;
  }

  .mz-filter-backdrop.is-open {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .58);
    z-index: 10000;
  }

  .mz-filter-panel {
    position: fixed;
    left: 50%;
    top: 50%;
    bottom: auto;
    width: min(86vw, 336px);
    max-height: min(78vh, 560px);
    background: #f7fbf9;
    z-index: 10001;
    padding: 44px 16px 14px;
    overflow-y: auto;
    transform: translate(-50%, -50%) scale(.96);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .24);
    border-radius: 18px;
  }

  .mz-filter-panel.is-open {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    pointer-events: auto;
  }

  .mz-filter-head {
    position: absolute;
    inset: 0 0 auto 0;
    height: 42px;
    margin: 0;
    padding: 0 12px;
    justify-content: flex-end;
  }

  .mz-filter-title {
    display: none;
  }

  .mz-filter-close {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #173f2d;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
  }

  .mz-filter-list {
    gap: 0;
  }

  .mz-filter-item {
    min-height: 42px;
    grid-template-columns: 18px minmax(0, 1fr) 34px;
    gap: 10px;
    background: transparent;
    border-radius: 0;
    padding: 8px 0;
    box-shadow: none !important;
  }

  .mz-filter-item:hover,
  .mz-filter-item.is-active {
    background: transparent;
  }

  .mz-checkbox-ui {
    width: 13px;
    height: 13px;
    border-color: #a8b0ac;
    background: #f7fbf9;
  }

  .mz-filter-checkbox:checked + .mz-checkbox-ui {
    background: #214f3f;
    border-color: #214f3f;
  }

  .mz-filter-checkbox:checked + .mz-checkbox-ui::after {
    left: 3px;
    top: 0;
    width: 4px;
    height: 8px;
    border-color: #fff;
    border-width: 0 1.5px 1.5px 0;
  }

  .mz-filter-name {
    font-size: 13px;
    line-height: 1.25;
    color: #1d241f;
  }

  .mz-filter-thumb {
    width: 30px;
    height: 30px;
    object-fit: contain;
  }

  .mz-filter-actions {
    position: sticky;
    bottom: -14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #f7fbf9;
    padding: 10px 0 0;
    margin-top: 8px;
  }

  .mz-clear-filter,
  .mz-submit-filter {
    display: inline-flex !important;
    width: 100%;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #285746;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
  }

  .mz-clear-filter[hidden] {
    display: inline-flex !important;
  }
}

/* Mobile filter bottom sheet fix — v1.0.3
   Desktop is intentionally untouched. */
@media (max-width: 767px) {
  .mz-filter-mobile-trigger {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    min-width: auto;
    min-height: 40px;
    margin: 0 0 16px;
    padding: 9px 12px;
    border: 1px solid #e9eeee;
    border-radius: 0;
    background: #fff;
    color: #173f2d;
    box-shadow: none;
    font-size: 14px;
    line-height: 1;
  }

  .mz-filter-mobile-trigger > span:not(.mz-filter-icon):not(.mz-filter-count) {
    display: inline !important;
  }

  .mz-filter-count { display: none !important; }

  .mz-filter-backdrop.is-open {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .58);
    z-index: 10000;
  }

  .mz-filter-panel {
    position: fixed !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: min(82vh, 640px) !important;
    max-height: 82vh !important;
    background: #f7fbf9;
    z-index: 10001;
    padding: 46px 18px max(16px, env(safe-area-inset-bottom));
    overflow-y: auto;
    border-radius: 22px 22px 0 0;
    box-shadow: 0 -18px 60px rgba(0, 0, 0, .24);
    transform: translateY(105%) !important;
    opacity: 1 !important;
    pointer-events: none;
    transition: transform .26s cubic-bezier(.22, .61, .36, 1);
  }

  .mz-filter-panel.is-open {
    transform: translateY(0) !important;
    pointer-events: auto;
  }

  .mz-filter-head {
    position: absolute;
    inset: 0 0 auto 0;
    height: 46px;
    margin: 0;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .mz-filter-title { display: none !important; }

  .mz-filter-close {
    display: inline-flex !important;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #173f2d;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
  }

  .mz-filter-actions {
    position: sticky;
    bottom: calc(-1 * max(16px, env(safe-area-inset-bottom)));
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #f7fbf9;
    padding: 10px 0 max(16px, env(safe-area-inset-bottom));
    margin-top: 8px;
  }

  .mz-clear-filter,
  .mz-submit-filter {
    display: inline-flex !important;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #285746;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
  }
}


/* v1.0.4 final mobile filter trigger icon fix */
.mz-filter-svg {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: currentColor;
}

@media (max-width: 767px) {
  .mz-filter-mobile-trigger {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 40px !important;
    min-width: 84px !important;
    padding: 0 12px !important;
    margin: 0 0 16px !important;
    border: 1px solid #e5ece8 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #173f2d !important;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }

  .mz-filter-mobile-trigger .mz-filter-icon,
  .mz-filter-mobile-trigger .mz-filter-count,
  .mz-filter-mobile-trigger [data-filter-count],
  .mz-filter-count,
  [data-filter-count] {
    display: none !important;
  }

  .mz-filter-mobile-trigger .mz-filter-svg {
    display: inline-block !important;
  }

  .mz-filter-mobile-trigger .mz-filter-trigger-text {
    display: inline !important;
  }
}


/* v1.0.5 mobile filter trigger: original SVG icon only, no visible button box */
@media (max-width: 767px) {
  .mz-filter-mobile-trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    margin: 0 8px 14px 0 !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #16362f !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .mz-filter-mobile-trigger:hover,
  .mz-filter-mobile-trigger:focus,
  .mz-filter-mobile-trigger:active {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #16362f !important;
  }

  .mz-filter-mobile-trigger .mz-filter-svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }

  .mz-filter-mobile-trigger .mz-filter-trigger-text,
  .mz-filter-mobile-trigger .mz-filter-icon,
  .mz-filter-mobile-trigger .mz-filter-count,
  .mz-filter-mobile-trigger [data-filter-count],
  .mz-filter-count,
  [data-filter-count] {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .mz-filter-mobile-trigger { display: none !important; }
}


/* Product card info overlay — restored from original product-card behavior. */
.mz-product-card.product-card-component { position: relative; }
.mz-product-card .mz-card-info.view-detail { position: absolute; width: 40px; height: 40px; right: 0; top: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; background-color: transparent; border: 0; z-index: 4; color: #16362F; }
.mz-product-card .detail-container.mz-detail-container { position: absolute; top: 0; left: 0; right: 0; bottom: 0; visibility: hidden; opacity: 0; background-color: #ffffff; padding: 16px 12px; z-index: 6; transition: opacity .16s ease, visibility .16s ease; }
.mz-product-card.open .detail-container.mz-detail-container { visibility: visible; opacity: 1; overflow: auto; }
.mz-product-card .detail-container .close-detail, .mz-product-card .mz-close-detail { position: absolute; width: 40px; height: 40px; right: 0; top: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; background-color: transparent; border: 0; padding: 0; }
.mz-detail-product-name { margin: 0 40px 8px 0; color: #1d241f; font-size: 17px; line-height: 1.25; font-weight: 400; }
.mz-detail-description, .mz-detail-remark-description { color: #333333; font-size: 14px; line-height: 1.45; }
.mz-detail-description p, .mz-detail-remark-description p { margin: 0 0 8px; }
.mz-detail-grade-container { max-width: 320px; display: flex; flex-direction: column; padding: 12px 0; }
.mz-detail-grade-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mz-detail-grade-label { color: #333333; flex: 1 1 auto; font-size: 14px; line-height: 1.35; }
.mz-detail-grade-values { flex: 0 0 auto; display: flex; }
.mz-detail-grade-dot { border-radius: 12px; margin: 4px; width: 12px; height: 12px; background-color: #f2f2f2; }
.mz-detail-grade-dot.full { background-color: #16362f; }
.mz-detail-remark-title { color: #1d241f; font-size: 15px; line-height: 1.35; margin: 8px 0 4px; }

/* v1.0.7 — archive/shop typography + desktop filter icon parity */
.mz-shop-v3,
.mz-shop-v3 button,
.mz-shop-v3 input,
.mz-shop-v3 select,
.mz-shop-v3 textarea,
.mz-shop-v3 a,
.mz-shop-v3 .mz-filter-title,
.mz-shop-v3 .mz-filter-name,
.mz-shop-v3 .mz-card-title,
.mz-shop-v3 .mz-card-price,
.mz-shop-v3 .mz-card-badge,
.mz-shop-v3 .mz-detail-product-name,
.mz-shop-v3 .mz-detail-description,
.mz-shop-v3 .mz-detail-remark-description,
.mz-shop-v3 .mz-load-more,
.mz-shop-v3 .mz-page-btn {
  font-family: "Linux Biolinum", "IBM Plex Sans Thai", sans-serif !important;
  letter-spacing: -0.02em;
}

.mz-shop-v3 .mz-card-title {
  font-weight: 400;
  text-transform: uppercase;
}

.mz-shop-v3 .mz-filter-title {
  color: #16362f;
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
}

.mz-shop-v3 .mz-filter-title .mz-filter-svg,
.mz-shop-v3 .mz-filter-mobile-trigger .mz-filter-svg {
  color: #16362f;
  fill: none;
}

.mz-shop-v3 .mz-filter-title .mz-filter-svg path,
.mz-shop-v3 .mz-filter-mobile-trigger .mz-filter-svg path {
  fill: currentColor;
}

@media (min-width: 768px) {
  .mz-filter-head {
    justify-content: flex-start;
    margin-bottom: 16px;
  }

  .mz-filter-title {
    gap: 8px;
  }

  .mz-filter-title .mz-filter-svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }
}

/* v1.0.8 — Shop search UI + search result states */
.mz-shop-search-row {
  display: flex;
  justify-content: center;
  padding: 44px 16px 38px;
}

.mz-shop-search {
  width: min(100%, 560px);
  height: 56px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e3e3e3;
  border-radius: 12px;
  background: #ffffff;
  padding: 0 18px;
  color: #16362f;
  box-shadow: none;
}

.mz-shop-search-icon,
.mz-shop-search-clear {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  color: #16362f;
}

.mz-shop-search-input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  color: #1d241f;
  font-size: 16px;
  line-height: 1.2;
}

.mz-shop-search-input::placeholder {
  color: #8c8c8c;
  opacity: 1;
}

.mz-shop-search-clear {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.mz-search-status {
  text-align: center;
  color: #1d241f;
  margin: 0 auto 44px;
  padding: 0 16px;
}

.mz-search-notfound {
  font-size: 20px;
  line-height: 1.35;
  margin-bottom: 12px;
}

.mz-search-suggestion-title {
  font-size: 20px;
  line-height: 1.35;
}

.mz-shop-v3.is-searching .mz-shop-layout {
  display: block;
}

.mz-shop-v3.is-searching .mz-filter-panel,
.mz-shop-v3.is-searching .mz-filter-backdrop,
.mz-shop-v3.is-searching .mz-filter-mobile-trigger {
  display: none !important;
}

.mz-shop-v3.is-searching .mz-product-area {
  max-width: 1120px;
  margin: 0 auto;
}

.mz-shop-v3.is-searching .mz-product-grid {
  max-width: 1040px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .mz-shop-search-row {
    padding: 24px 16px 24px;
  }

  .mz-shop-search {
    height: 48px;
    border-radius: 10px;
    padding: 0 14px;
  }

  .mz-shop-search-input {
    font-size: 15px;
  }

  .mz-search-status {
    margin-bottom: 26px;
  }

  .mz-search-notfound,
  .mz-search-suggestion-title {
    font-size: 17px;
  }
}


/* v1.1.1 — Small mobile 2-column containment fix
   Fixes iPhone 12 Pro / narrow viewport card squeezing without changing desktop or larger mobile design. */
@media (max-width: 430px) {
  .mz-shop-v3 {
    padding-left: 10px !important;
    padding-right: 10px !important;
    overflow-x: hidden;
  }

  .mz-shop-v3 .mz-shop-layout,
  .mz-shop-v3 .mz-product-area,
  .mz-shop-v3 .mz-product-grid {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .mz-shop-v3 .mz-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 8px !important;
    row-gap: 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mz-shop-v3 .mz-product-card,
  .mz-shop-v3 .mz-product-card.product-card-component {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .mz-shop-v3 .mz-card-body,
  .mz-shop-v3 .mz-card-title,
  .mz-shop-v3 .mz-card-bottom,
  .mz-shop-v3 .mz-card-price {
    min-width: 0 !important;
  }

  .mz-shop-v3 .mz-card-title {
    overflow-wrap: anywhere;
  }
}

/* v1.1.2 — Figma mobile filter/search alignment, scoped mobile only */
.mz-result-count {
  margin: 0 0 14px;
  color: #16362F;
  font-size: 13px;
  line-height: 1.4;
  opacity: .78;
}

@media (min-width: 768px) {
  .mz-filter-actions {
    display: flex;
  }
}

@media (max-width: 767px) {
  .mz-shop-v3 .mz-shop-search-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 14px 0 26px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }

  .mz-shop-v3 .mz-filter-mobile-trigger {
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 36px !important;
    min-width: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #16362F !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
  }

  .mz-shop-v3 .mz-filter-mobile-trigger .mz-filter-svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
  }

  .mz-shop-v3 .mz-filter-count,
  .mz-shop-v3 [data-filter-count] {
    position: absolute !important;
    top: 1px !important;
    right: -4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    border-radius: 999px !important;
    background: #315F54 !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 16px !important;
  }

  .mz-shop-v3 .mz-filter-count[hidden],
  .mz-shop-v3 [data-filter-count][hidden] {
    display: none !important;
  }

  .mz-shop-v3 .mz-shop-search {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 36px !important;
    border-radius: 10px !important;
    border: 1px solid #E5E8E6 !important;
    background: #fff !important;
  }

  .mz-shop-v3 .mz-shop-search-input {
    height: 34px !important;
    font-size: 12px !important;
  }

  .mz-shop-v3 .mz-result-count {
    margin: -14px 16px 16px !important;
    font-size: 12px !important;
    color: #315F54 !important;
  }

  .mz-shop-v3 .mz-filter-backdrop.is-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9998 !important;
    display: block !important;
    background: rgba(0, 0, 0, .58) !important;
  }

  .mz-shop-v3 .mz-filter-panel {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 9999 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: calc(100dvh - 156px) !important;
    padding: 26px 16px 18px !important;
    border-radius: 18px 18px 0 0 !important;
    background: #fff !important;
    transform: translateY(110%) !important;
    transition: transform .24s ease !important;
    box-shadow: 0 -12px 34px rgba(0, 0, 0, .12) !important;
    overflow: hidden !important;
  }

  .mz-shop-v3 .mz-filter-panel.is-open {
    transform: translateY(0) !important;
  }

  .mz-shop-v3 .mz-filter-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
  }

  .mz-shop-v3 .mz-filter-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #A8AFAB !important;
    font-size: 12px !important;
    font-weight: 400 !important;
  }

  .mz-shop-v3 .mz-filter-title .mz-filter-svg {
    width: 16px !important;
    height: 16px !important;
  }

  .mz-shop-v3 .mz-filter-close {
    display: inline-flex !important;
    width: 28px !important;
    height: 28px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #EEF4EF !important;
    color: #16362F !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .mz-shop-v3 .mz-filter-list {
    max-height: calc(100dvh - 270px) !important;
    overflow-y: auto !important;
    padding: 0 0 2px !important;
  }

  .mz-shop-v3 .mz-filter-item {
    display: grid !important;
    grid-template-columns: 18px 1fr 38px !important;
    align-items: center !important;
    column-gap: 8px !important;
    min-height: 44px !important;
    padding: 3px 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .mz-shop-v3 .mz-filter-item:hover,
  .mz-shop-v3 .mz-filter-item.is-active {
    background: transparent !important;
  }

  .mz-shop-v3 .mz-checkbox-ui {
    width: 14px !important;
    height: 14px !important;
    border: 1px solid #B8BFBC !important;
    border-radius: 2px !important;
    background: #fff !important;
  }

  .mz-shop-v3 .mz-filter-checkbox:checked + .mz-checkbox-ui {
    background: #16362F !important;
    border-color: #16362F !important;
  }

  .mz-shop-v3 .mz-filter-checkbox:checked + .mz-checkbox-ui::after {
    width: 7px !important;
    height: 4px !important;
    border-color: #fff !important;
    border-width: 0 0 1.5px 1.5px !important;
    left: 3px !important;
    top: 3px !important;
  }

  .mz-shop-v3 .mz-filter-name {
    color: #16362F !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .mz-shop-v3 .mz-filter-thumb {
    width: 30px !important;
    height: 30px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    justify-self: end !important;
  }

  .mz-shop-v3 .mz-filter-actions {
    display: none !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    align-items: center !important;
    margin: 12px 0 0 !important;
    padding: 8px 0 max(0px, env(safe-area-inset-bottom)) !important;
    background: #fff !important;
  }

  .mz-shop-v3 .mz-filter-actions.is-visible {
    display: grid !important;
  }

  .mz-shop-v3 .mz-clear-filter,
  .mz-shop-v3 .mz-submit-filter {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
  }

  .mz-shop-v3 .mz-clear-filter {
    background: #EEF4EF !important;
    color: #16362F !important;
  }

  .mz-shop-v3 .mz-submit-filter {
    background: #315F54 !important;
    color: #fff !important;
  }

  .mz-shop-v3 .mz-clear-filter[hidden],
  .mz-shop-v3 .mz-submit-filter[hidden] {
    display: none !important;
  }
}


/* v1.1.3 — Mobile result-count badge: anchor badge to filter icon only */
@media (max-width: 767px) {
  .mz-shop-v3 .mz-filter-mobile-trigger {
    position: relative !important;
    overflow: visible !important;
  }

  .mz-shop-v3 .mz-filter-mobile-trigger .mz-filter-count,
  .mz-shop-v3 .mz-filter-mobile-trigger [data-filter-count] {
    position: absolute !important;
    top: -4px !important;
    right: 1px !important;
    left: auto !important;
    transform: none !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    border-radius: 999px !important;
    background: #315F54 !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 16px !important;
    pointer-events: none !important;
  }

  .mz-shop-v3 .mz-filter-mobile-trigger .mz-filter-count[hidden],
  .mz-shop-v3 .mz-filter-mobile-trigger [data-filter-count][hidden] {
    display: none !important;
  }

  .mz-shop-v3 .mz-shop-search {
    position: relative !important;
    z-index: 1 !important;
  }
}


/* MZ mobile load-more sentinel v7: keep infinite-scroll trigger, hide visible button */
@media (max-width: 767px){
  [data-shop-v3] [data-load-more]{
    display:block !important;
    width:1px !important;
    height:1px !important;
    min-height:1px !important;
    padding:0 !important;
    margin:0 auto !important;
    border:0 !important;
    overflow:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    color:transparent !important;
    background:transparent !important;
  }
}


/* MZ Desktop Clear Position Fix v9: only filter header clear button */
@media (min-width: 769px){
  .mz-shop-v3 .mz-filter-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:18px !important;
    width:100% !important;
  }

  .mz-shop-v3 .mz-filter-title{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    flex:0 0 auto !important;
  }

  .mz-shop-v3 .mz-desktop-clear-filter{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 14px !important;
    border:0 !important;
    border-radius:999px !important;
    background:#EEF4F2 !important;
    color:#173F2D !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1 !important;
    box-shadow:none !important;
    cursor:pointer !important;
    margin:0 0 0 auto !important;
    position:static !important;
    transform:none !important;
    float:none !important;
  }

  .mz-shop-v3 .mz-desktop-clear-filter[hidden]{
    display:none !important;
  }

  .mz-shop-v3 .mz-desktop-clear-filter:hover{
    background:#E3EEEA !important;
    color:#173F2D !important;
  }

  .mz-shop-v3 .mz-desktop-clear-filter .mz-clear-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:15px !important;
    height:15px !important;
    font-family:Arial,sans-serif !important;
    font-size:17px !important;
    font-weight:400 !important;
    line-height:15px !important;
    color:#173F2D !important;
  }

  .mz-shop-v3 .mz-filter-actions{
    display:none !important;
  }
}

@media (max-width: 768px){
  .mz-shop-v3 .mz-desktop-clear-filter{
    display:none !important;
  }
}

/* MZ sticky offset refinement v15 */
@media (min-width: 768px){
  .mz-shop-v3 .mz-filter-panel{
    position:sticky !important;
    top:var(--mz-desktop-filter-top, 112px) !important;
    align-self:start !important;
    z-index:5 !important;
  }
}

/* v1.1.9 — Desktop filter item sizing locked to Figma */
@media (min-width: 768px){
  .mz-shop-v3 .mz-shop-layout{
    grid-template-columns:280px minmax(0, 1fr) !important;
  }

  .mz-shop-v3 .mz-filter-panel{
    width:280px !important;
    max-width:280px !important;
  }

  .mz-shop-v3 .mz-filter-list{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
    width:280px !important;
    height:704px !important;
    padding:0 !important;
    margin:0 !important;
  }

  .mz-shop-v3 .mz-filter-item{
    display:grid !important;
    grid-template-columns:20px minmax(0, 1fr) 48px !important;
    align-items:center !important;
    gap:8px !important;
    width:280px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    padding:4px 12px !important;
    box-sizing:border-box !important;
    background:#ECF0EE !important;
    border-radius:12px !important;
    box-shadow:none !important;
  }

  .mz-shop-v3 .mz-filter-item:hover,
  .mz-shop-v3 .mz-filter-item.is-active{
    background:#ECF0EE !important;
    box-shadow:none !important;
  }

  .mz-shop-v3 .mz-checkbox-ui{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
    border:1px solid #999 !important;
    border-radius:2px !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }

  .mz-shop-v3 .mz-filter-checkbox:checked + .mz-checkbox-ui{
    background:#16362F !important;
    border-color:#16362F !important;
  }

  .mz-shop-v3 .mz-filter-checkbox:checked + .mz-checkbox-ui::after{
    content:"" !important;
    position:absolute !important;
    left:6px !important;
    top:3px !important;
    width:6px !important;
    height:11px !important;
    border:solid #fff !important;
    border-width:0 2px 2px 0 !important;
    transform:rotate(45deg) !important;
    transform-origin:center !important;
  }

  .mz-shop-v3 .mz-filter-name{
    min-width:0 !important;
    color:#1D1D1D !important;
    font-family:"Linux Biolinum", "IBM Plex Sans Thai", sans-serif !important;
    font-size:16px !important;
    font-style:normal !important;
    font-weight:400 !important;
    line-height:18px !important;
    letter-spacing:0 !important;
  }

  .mz-shop-v3 .mz-filter-thumb{
    display:block !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    object-fit:contain !important;
    justify-self:end !important;
  }
}

@media (max-width: 767px){
  .mz-shop-v3{
    padding-top:var(--mz-mobile-control-height, 82px) !important;
  }

  .mz-shop-v3 .mz-shop-search-row{
    position:fixed !important;
    top:var(--mz-mobile-fixed-top, 80px) !important;
    left:0 !important;
    right:0 !important;
    z-index:20 !important;
    background:#fff !important;
    margin:0 !important;
    padding:10px 16px 12px !important;
    box-shadow:0 1px 0 rgba(22,54,47,.08) !important;
    transform:translateZ(0) !important;
  }

  html.mz-filter-open .mz-shop-v3 .mz-shop-search-row,
  body.mz-filter-open .mz-shop-v3 .mz-shop-search-row{
    z-index:1 !important;
  }

  .mz-shop-v3 .mz-result-count{
    margin:0 16px 16px !important;
  }
}

/* MZ mobile product grid width refinement v16 */
@media (max-width: 767px){
  .mz-shop-v3{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:4px !important;
    padding-right:4px !important;
    box-sizing:border-box !important;
  }

  .mz-shop-v3 .mz-shop-layout,
  .mz-shop-v3 .mz-product-area,
  .mz-shop-v3 .mz-product-grid{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  .mz-shop-v3 .mz-product-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    column-gap:6px !important;
    row-gap:12px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .mz-shop-v3 .mz-product-card,
  .mz-shop-v3 .mz-product-card.product-card-component{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
}

/* v1.1.12 - mobile search comment fixes.
   Keeps the existing fixed search/sticky offset behavior intact. */
@media (max-width: 767px){
  .mz-shop-v3 .mz-shop-search-row{
    position:fixed !important;
    top:var(--mz-mobile-fixed-top, 80px) !important;
    left:0 !important;
    right:0 !important;
    z-index:20 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    width:100% !important;
    height:64px !important;
    margin:0 !important;
    padding:10px 16px !important;
    background:#fff !important;
    box-shadow:0 1px 0 rgba(22,54,47,.08) !important;
    box-sizing:border-box !important;
    transform:translateZ(0) !important;
  }

  .mz-shop-v3 .mz-filter-mobile-trigger{
    flex:0 0 40px !important;
    width:40px !important;
    height:44px !important;
    min-width:40px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:#16362F !important;
  }

  .mz-shop-v3 .mz-filter-mobile-trigger .mz-filter-svg{
    display:block !important;
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
    margin:auto !important;
  }

  .mz-shop-v3 .mz-shop-search{
    position:relative !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    height:44px !important;
    border:1px solid #E5E5E5 !important;
    border-radius:12px !important;
    background:#fff !important;
    padding:0 12px !important;
    gap:8px !important;
    color:#16362F !important;
    box-sizing:border-box !important;
    align-self:center !important;
  }

  .mz-shop-v3 .mz-shop-search-icon,
  .mz-shop-v3 .mz-shop-search-clear{
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
    align-items:center !important;
    justify-content:center !important;
    color:#16362F !important;
  }

  .mz-shop-v3 .mz-shop-search-icon svg,
  .mz-shop-v3 .mz-shop-search-clear svg{
    display:block !important;
    width:20px !important;
    height:20px !important;
  }

  .mz-shop-v3 .mz-shop-search-clear[hidden]{
    display:none !important;
  }

  .mz-shop-v3 .mz-shop-search-clear:not([hidden]){
    display:inline-flex !important;
  }

  .mz-shop-v3 .mz-shop-search-input{
    height:42px !important;
    min-width:0 !important;
    font-size:14px !important;
    line-height:20px !important;
    padding:0 !important;
  }

  .mz-shop-v3 .mz-shop-search-input::-webkit-search-cancel-button{
    -webkit-appearance:none !important;
    appearance:none !important;
    display:none !important;
  }

  .mz-shop-v3 .mz-card-cart{
    font-size:0 !important;
    color:#16362F !important;
  }

  .mz-shop-v3 .mz-card-cart .mz-cart-svg{
    display:block !important;
    width:20px !important;
    height:20px !important;
  }
}

/* v1.1.20 - desktop product card Figma lock and unified cart icon */
@media (min-width:1025px){
  .mz-shop-v3 .mz-product-grid{
    grid-template-columns:repeat(3, 320px) !important;
    gap:16px !important;
    align-items:start !important;
  }
  .mz-shop-v3.is-searching.is-search-suggestion .mz-product-grid{
    grid-template-columns:repeat(4, 320px) !important;
    gap:24px !important;
  }
  .mz-shop-v3 .mz-product-card,
  .mz-shop-v3 .mz-product-card.product-card-component{
    position:relative !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    isolation:isolate !important;
    width:320px !important;
    height:424px !important;
    min-height:424px !important;
    padding:0 !important;
    gap:8px !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid #F2F2F2 !important;
    border-radius:12px !important;
  }
  .mz-shop-v3 .mz-card-image-wrap{
    width:320px !important;
    height:320px !important;
    flex:0 0 320px !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff !important;
    margin:0 !important;
  }
  .mz-shop-v3 .mz-card-image{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    display:block !important;
  }
  .mz-shop-v3 .mz-card-body{
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    width:320px !important;
    height:96px !important;
    padding:0 12px 16px !important;
    gap:8px !important;
    margin:0 !important;
    flex:0 0 96px !important;
    align-self:stretch !important;
  }
  .mz-shop-v3 .mz-card-title{
    width:296px !important;
    height:40px !important;
    min-height:40px !important;
    align-self:stretch !important;
    color:#1D1D1D !important;
    font-size:16px !important;
    line-height:18px !important;
    font-weight:400 !important;
    text-transform:none !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
  }
  .mz-shop-v3 .mz-card-bottom{
    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    width:296px !important;
    height:32px !important;
    gap:4px !important;
    align-self:stretch !important;
  }
  .mz-shop-v3 .mz-card-price{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:4px !important;
    min-width:0 !important;
    height:30px !important;
    color:#1D1D1D !important;
    font-family:"Google Sans","IBM Plex Sans Thai",sans-serif !important;
  }
  .mz-shop-v3 .mz-card-price .woocommerce-Price-currencySymbol{
    color:#999 !important;
    font-size:12px !important;
    line-height:15px !important;
    font-weight:400 !important;
  }
  .mz-shop-v3 .mz-card-price .mz-price-sale .woocommerce-Price-amount{
    color:#FF572E !important;
    font-size:18px !important;
    line-height:30px !important;
    font-weight:400 !important;
  }
  .mz-shop-v3 .mz-card-price .mz-price-current .woocommerce-Price-amount{
    color:#1D1D1D !important;
    font-size:18px !important;
    line-height:30px !important;
    font-weight:400 !important;
  }
  .mz-shop-v3 .mz-card-price .mz-price-regular,
  .mz-shop-v3 .mz-card-price .mz-price-regular .woocommerce-Price-amount{
    color:#999 !important;
    font-size:12px !important;
    line-height:15px !important;
    font-weight:400 !important;
    text-decoration:line-through !important;
  }
  .mz-shop-v3 .mz-card-cart{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    padding:8px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:40px !important;
    background:transparent !important;
    color:#16362F !important;
    box-sizing:border-box !important;
  }
  .mz-shop-v3 .mz-card-cart .mz-cart-svg{
    display:block !important;
    width:16px !important;
    height:16px !important;
    flex:0 0 16px !important;
  }
  .mz-shop-v3 .mz-card-badge{
    top:8px !important;
    left:8px !important;
    height:20px !important;
    min-height:20px !important;
    padding:4px 8px !important;
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    border-radius:999px !important;
    font-size:14px !important;
    line-height:16px !important;
    font-weight:400 !important;
  }
  .mz-shop-v3 .mz-card-badge.is-best{
    background:#351D25 !important;
  }
  .mz-shop-v3 .mz-card-info.view-detail{
    width:16px !important;
    height:16px !important;
    right:12px !important;
    top:12px !important;
    padding:0 !important;
  }
  .mz-shop-v3 .mz-card-info.view-detail svg{
    width:16px !important;
    height:16px !important;
  }
}
.mz-shop-v3 .mz-card-cart .mz-cart-svg{color:#16362F !important}
@media (max-width:767px){.mz-shop-v3 .mz-card-cart .mz-cart-svg{width:40px !important;height:40px !important}}

/* v1.1.14 search clear/loading fixes */
.mz-shop-search-clear[hidden]{display:none!important}@media (min-width:768px){.mz-shop-search-clear{width:32px;height:32px;flex:0 0 32px;margin-right:-6px;color:#16362F}.mz-shop-search-clear svg{width:20px;height:20px;display:block}.mz-shop-search-clear svg path{stroke-width:1.8}}.mz-shop-v3.is-searching.is-loading .mz-product-grid{display:none!important}
/* v1.1.16 search loading spinner and 4-column suggestions */
.mz-loading{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.mz-loading[hidden]{display:none!important}.mz-loading-logo{width:56px;height:56px;display:block;animation:mz-shop-loading-spin 1.1s linear infinite}.mz-loading-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes mz-shop-loading-spin{to{transform:rotate(360deg)}}.mz-shop-v3.is-searching.is-loading .mz-pagination,.mz-shop-v3.is-searching.is-loading .mz-result-count{display:none!important}@media (min-width:1025px){.mz-shop-v3.is-searching.is-search-suggestion .mz-product-area{max-width:none;width:100%}.mz-shop-v3.is-searching.is-search-suggestion .mz-product-grid{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}}

@media (max-width:767px){.mz-shop-v3 .mz-filter-panel{padding-top:56px!important;max-height:calc(100dvh - 134px)!important}.mz-shop-v3 .mz-filter-head{margin-bottom:22px!important}.mz-shop-v3 .mz-filter-checkbox:checked+.mz-checkbox-ui::after{content:""!important;position:absolute!important;left:3px!important;top:3px!important;width:7px!important;height:4px!important;border:solid #fff!important;border-width:0 0 1.5px 1.5px!important;transform:rotate(-45deg)!important;transform-origin:center!important}}
@media (max-width:767px){.mz-shop-v3 .mz-filter-backdrop.is-open{background:rgba(0,0,0,.6)!important}.mz-shop-v3 .mz-filter-panel{width:100vw!important;height:min(606px,calc(100dvh - 24px))!important;max-height:min(606px,calc(100dvh - 24px))!important;padding:0!important;background:#fff!important;border-radius:24px 24px 0 0!important;overflow:hidden!important}.mz-shop-v3 .mz-filter-panel:has(.mz-filter-actions.is-visible){height:min(670px,calc(100dvh - 24px))!important;max-height:min(670px,calc(100dvh - 24px))!important}.mz-shop-v3 .mz-filter-head{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;height:102px!important;margin:0!important;padding:16px 16px 0!important;box-sizing:border-box!important;background:#fff!important;border-radius:24px 24px 0 0!important}.mz-shop-v3 .mz-filter-close{order:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;margin:0!important;padding:8px!important;background:#ECF0EE!important;color:#16362F!important;border:0!important;border-radius:40px!important;font-size:20px!important;line-height:16px!important}.mz-shop-v3 .mz-filter-title{order:1!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;height:44px!important;margin:0!important;padding:0!important;gap:8px!important;color:#999!important;font-size:16px!important;line-height:18px!important;font-weight:400!important}.mz-shop-v3 .mz-filter-title .mz-filter-svg{display:block!important;width:20px!important;height:20px!important;flex:0 0 20px!important;color:#999!important}.mz-shop-v3 .mz-filter-list{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;width:100%!important;max-height:calc(100% - 102px)!important;margin:0!important;padding:0 16px!important;box-sizing:border-box!important;overflow-y:auto!important;background:#fff!important}.mz-shop-v3 .mz-filter-panel:has(.mz-filter-actions.is-visible) .mz-filter-list{max-height:calc(100% - 166px)!important}.mz-shop-v3 .mz-filter-item{display:grid!important;grid-template-columns:20px minmax(0,1fr) 48px!important;align-items:center!important;gap:8px!important;width:100%!important;height:56px!important;min-height:56px!important;margin:0!important;padding:4px 0!important;box-sizing:border-box!important;border-radius:12px!important;background:transparent!important}.mz-shop-v3 .mz-checkbox-ui{position:relative!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;border:1px solid #999!important;border-radius:2px!important;background:#fff!important;box-sizing:border-box!important}.mz-shop-v3 .mz-filter-checkbox:checked+.mz-checkbox-ui{background:#16362F!important;border-color:#16362F!important}.mz-shop-v3 .mz-filter-checkbox:checked+.mz-checkbox-ui::after{content:""!important;position:absolute!important;left:6px!important;top:3px!important;width:6px!important;height:11px!important;border:solid #fff!important;border-width:0 2px 2px 0!important;transform:rotate(45deg)!important;transform-origin:center!important}.mz-shop-v3 .mz-filter-name{min-width:0!important;color:#1D1D1D!important;font-size:16px!important;line-height:18px!important;font-weight:400!important}.mz-shop-v3 .mz-filter-item.is-active .mz-filter-name{color:#16362F!important}.mz-shop-v3 .mz-filter-thumb{justify-self:end!important;width:48px!important;height:48px!important;object-fit:contain!important;border-radius:0!important}.mz-shop-v3 .mz-filter-actions{display:none!important;grid-template-columns:1fr 1fr!important;align-items:flex-start!important;gap:10px!important;width:100%!important;height:64px!important;margin:0!important;padding:0 16px 16px!important;box-sizing:border-box!important;background:#fff!important}.mz-shop-v3 .mz-filter-actions.is-visible{display:grid!important}.mz-shop-v3 .mz-clear-filter,.mz-shop-v3 .mz-submit-filter{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:100%!important;height:48px!important;min-height:48px!important;margin:0!important;padding:8px 16px!important;border-radius:40px!important;font-family:'Linux Biolinum',serif!important;font-size:16px!important;font-weight:700!important;line-height:18px!important}.mz-shop-v3 .mz-clear-filter{background:#ECF0EE!important;color:#16362F!important;border:0!important}.mz-shop-v3 .mz-clear-filter::before{content:""!important;display:inline-block!important;width:20px!important;height:20px!important;flex:0 0 20px!important;background-color:currentColor!important;-webkit-mask:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 6.5A6.67 6.67 0 0 0 4 6' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15.6 3v3.5H12.1' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 13.5A6.67 6.67 0 0 0 16 14' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.4 17v-3.5h3.5' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;mask:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 6.5A6.67 6.67 0 0 0 4 6' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15.6 3v3.5H12.1' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 13.5A6.67 6.67 0 0 0 16 14' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.4 17v-3.5h3.5' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important}.mz-shop-v3 .mz-submit-filter{background:#2D4A44!important;border:1px solid #2D4A44!important;color:#fff!important}.mz-shop-v3 .mz-clear-filter[hidden],.mz-shop-v3 .mz-submit-filter[hidden]{display:none!important}}
@media (max-width:767px){.mz-shop-v3 .mz-filter-head{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;flex:0 0 102px!important}.mz-shop-v3 .mz-filter-list{flex:1 1 auto!important;gap:0!important}.mz-shop-v3 .mz-filter-panel:has(.mz-filter-actions.is-visible) .mz-filter-list{max-height:calc(100% - 166px)!important}.mz-shop-v3 .mz-filter-panel:not(:has(.mz-filter-actions.is-visible)) .mz-filter-list{max-height:calc(100% - 102px)!important}.mz-shop-v3 .mz-filter-item{height:56px!important;min-height:56px!important;padding:4px 0!important;align-items:center!important}.mz-shop-v3 .mz-filter-name{display:block!important;font-size:16px!important;line-height:18px!important}.mz-shop-v3 .mz-filter-thumb{align-self:center!important;justify-self:end!important;width:48px!important;height:48px!important}}
@media (min-width:768px){.mz-shop-v3 .mz-desktop-clear-filter .mz-clear-icon{width:16px!important;height:16px!important;flex:0 0 16px!important}.mz-shop-v3 .mz-desktop-clear-filter .mz-clear-icon::before{width:16px!important;height:16px!important;-webkit-mask:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.67 9.17A6.67 6.67 0 1 0 14.7 13.9' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.67 4.17v5h-5' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;mask:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.67 9.17A6.67 6.67 0 1 0 14.7 13.9' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.67 4.17v5h-5' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important}}@media (max-width:767px){.mz-shop-v3 .mz-clear-filter::before{width:20px!important;height:20px!important;flex:0 0 20px!important;-webkit-mask:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.67 9.17A6.67 6.67 0 1 0 14.7 13.9' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.67 4.17v5h-5' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;mask:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.67 9.17A6.67 6.67 0 1 0 14.7 13.9' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.67 4.17v5h-5' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important}}
@media (min-width:768px){.mz-shop-v3 .mz-desktop-clear-filter .mz-clear-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:16px!important;height:16px!important;flex:0 0 16px!important;color:#16362F!important;font-size:0!important;line-height:0!important}.mz-shop-v3 .mz-desktop-clear-filter .mz-clear-icon::before{content:none!important;display:none!important}.mz-shop-v3 .mz-desktop-clear-filter .mz-clear-svg{display:block!important;width:16px!important;height:16px!important;flex:0 0 16px!important}}/* v1.1.22 - keep product-card cart icon at the Figma 40px frame */.mz-shop-v3 .mz-product-card .mz-card-cart,.mz-shop-v3 .mz-product-card button.mz-card-cart,.mz-shop-v3 .mz-product-card a.mz-card-cart,.mz-shop-v3 .mz-product-card span.mz-card-cart{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex:0 0 40px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#16362F!important;line-height:0!important;font-size:0!important}.mz-shop-v3 .mz-product-card .mz-card-cart .mz-cart-svg,.mz-shop-v3 .mz-product-card .mz-card-cart svg.mz-cart-svg{display:block!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex:0 0 40px!important;max-width:none!important;max-height:none!important}/* v1.1.23 - Figma page and mobile filter popup background */.mz-shop-v3,.mz-shop-v3 .mz-shop-main,.mz-shop-v3 .mz-results,.mz-shop-v3 .mz-filter-panel,.mz-shop-v3 .mz-filter-actions{background:#FEFDFA!important}@media (min-width:768px){.mz-shop-v3 .mz-shop-layout{padding-bottom:24px}.mz-shop-v3 .mz-filter-panel{display:flex!important;flex-direction:column!important;max-height:calc(100vh - var(--mz-desktop-filter-top,112px) - 24px)!important;overflow:hidden!important}.mz-shop-v3 .mz-filter-list{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}}
@media (min-width:768px){.mz-shop-v3 .mz-shop-layout{padding-bottom:8px}.mz-shop-v3 .mz-filter-panel{max-height:calc(100vh - var(--mz-desktop-filter-top,112px) - 8px)!important}.mz-shop-v3 .mz-filter-list{width:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:auto;box-sizing:border-box}.mz-shop-v3 .mz-filter-item{width:100%!important;min-width:0!important;box-sizing:border-box}}
