/* cigdepot main — from research specs. Tokens in tokens.css only. */

html {
  font-size: var(--general_font_size);
  line-height: var(--general_line_height);
  color: var(--main_color);
  background: var(--page_background_color);
  overflow: visible;
}
body {
  margin: 0;
  font-family: var(--general_font_family);
  font-size: 12px;
  line-height: 18px;
  color: var(--main_color);
  background: var(--page_background_color);
  -webkit-font-smoothing: antialiased;
}
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
/* Live titles use line-height ~1; do not inherit body 18px or shop H1 clips into chrome */
h1, h2, h3 {
  margin: 0;
  font-family: var(--title_font_family);
  font-weight: var(--title_font_weigth, 500);
  color: var(--title_color);
  line-height: 1.2;
}

.container_wrapper {
  width: min(100% - 32px, var(--general_layout_width));
  margin-inline: auto;
}
.flex { display: flex; }
.flex-1 { flex: 1 1 0%; }
.justify-end { justify-content: flex-end; }
.items-center { align-items: center; }
.md-hidden { display: none; }
.md-flex { display: flex; }
.md-block { display: block; }

/* Sticky header — live geek_theme: position:sticky;z-index:999 (height from children) */
#card-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: transparent;
  box-shadow: none;
  min-height: 138px;
  height: auto;
  overflow: visible;
}
#card-header.on { z-index: 510000; }

/* HTML: .app_bartool-wrap.app_bt_roll — teal continuous marquee (not Swiper slides) */
.announcement-bar,
.app_bartool-wrap.app_bt_roll {
  position: relative;
  box-sizing: border-box;
  min-height: 48px;
  height: 48px;
  overflow: hidden;
  background: #2c676a;
  font-size: 13px;
  line-height: 1.2;
  color: #fff;
  text-align: left;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  padding: 0 40px 0 0;
}
.announcement-bar.is-dismissed,
.app_bartool-wrap.app_bt_roll.is-dismissed {
  display: none !important;
}
.announcement-viewport,
.cd-announcement__viewport {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.announcement-track,
.cd-announcement__track,
.app_bartool-wrap.app_bt_roll .roll-text-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  width: max-content;
  max-width: none;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  transform: translate3d(0, 0, 0);
  animation: cigdepot-marquee 32s linear infinite;
  will-change: transform;
}
.announcement-group,
.cd-announcement__group {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 72px;
  padding-right: 72px;
  flex-shrink: 0;
  width: max-content;
}
.announcement-item,
.cd-announcement__item {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  color: #fff;
  flex-shrink: 0;
}
.cd-announcement__icon {
  width: 16px;
  height: 16px;
  display: block;
  flex-shrink: 0;
}
.cd-announcement__text {
  color: #fff;
}
.announcement-item img.emoji,
.cd-announcement__item img.emoji {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: -0.125em;
  margin: 0;
}
.announcement-bar .close,
.app_bartool-wrap .close,
.cd-announcement__close {
  position: absolute;
  top: 50%;
  right: 16px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  margin: 0;
  border: 0;
  cursor: pointer;
  color: #000;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  transform: translateY(-50%);
  line-height: 0;
}
.announcement-bar .close svg,
.app_bartool-wrap .close svg,
.cd-announcement__close svg {
  width: 12px;
  height: 12px;
  display: block;
}
@keyframes cigdepot-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .announcement-track,
  .cd-announcement__track,
  .app_bartool-wrap.app_bt_roll .roll-text-wrap {
    animation: none;
  }
}

.header_top {
  background: #fff;
  height: 90px;
  position: relative;
  z-index: 20;
  color: var(--menu-color);
}
/* Live: .content.nav-container.flex — without display:flex icons/nav collide */
.nav-container,
.cd-header__row,
.oem-header .content.nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 90px;
  width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  gap: 8px;
}
.nav-logo {
  display: flex;
  padding: 12px 0;
  margin-right: 60px;
  width: 100px;
  flex-shrink: 0;
  order: 2;
}
.nav-logo img { width: 140px; max-width: 42vw; height: auto; }
.mobile_menu_icon,
.cd-header__burger { order: 1; flex-shrink: 0; }
#inline_nav_wrap {
  flex: 1 1 0%;
  height: 90px;
  min-width: 0;
  order: 3;
  align-items: center;
}
#inline_nav_wrap .cd-nav__list {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  flex-wrap: nowrap;
  width: auto;
  max-width: 100%;
}
/* Live: custom_nav.nav_type1>ul li { padding: 0 20px } */
.cd-nav__item,
#inline_nav_wrap .cd-nav__list > li {
  padding: 0 20px;
  height: 100%;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  margin: 0;
  list-style: none;
  position: relative;
}
.action-icon,
.cd-header__actions {
  order: 4;
  flex: 1 1 0%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  align-self: stretch;
  height: 90px;
  color: #333;
  gap: 0;
  min-width: 0;
}
.cd-nav__link,
.nav-li-a,
#inline_nav_wrap .cd-nav__list > li > a,
#inline_nav_wrap .nav-li > span > a {
  display: flex;
  align-items: center;
  height: 90px;
  font-size: 15px;
  line-height: 22.5px;
  color: #333;
  opacity: 0.8;
  white-space: nowrap;
  transition: opacity 0.2s;
}
.cd-nav__link:hover,
.nav-li-a:hover,
#inline_nav_wrap .cd-nav__list > li > a:hover,
#inline_nav_wrap .nav-li > span > a:hover { opacity: 1; }
.custom_nav.nav_type1 { height: 100%; }
.custom_nav.nav_type1 > ul { position: static; width: 100%; height: 100%; }

.currency_box_wrap {
  position: relative;
  margin-right: 20px;
  padding: 8px 6px;
  border-radius: 4px;
  transition: background 0.3s var(--ease-smart);
}
.currency_box_wrap:hover { background: #f6f6f6; }
.currency_txt {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #333;
  padding: 0;
}
.currency_txt .mx-2 { margin: 0 8px; }
.drop_currency {
  position: absolute;
  top: 100%;
  right: 0;
  background: #fff;
  box-shadow: var(--shadow-card);
  min-width: 120px;
  padding: 8px 0;
  z-index: 30;
}
.drop_currency[hidden] { display: none !important; }
.drop_currency a { display: block; padding: 8px 16px; font-size: 14px; }

.search_box, .mobile_search_icon, .user {
  border: 0;
  background: transparent;
  color: #333;
  padding: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
/* Live oem-header action spacing */
.action-icon .search_box { margin-right: 20px; }
.action-icon .user_wrap .user { margin-right: 20px; }
.user_wrap { position: relative; margin-bottom: -10px; padding-bottom: 10px; }
.user_wrap:hover .user { background: #f6f6f6; border-radius: 999px; }
.login-list {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  background: #fff;
  box-shadow: var(--shadow-card);
  padding: 10px 0;
  min-width: 140px;
  z-index: 40;
}
.user_wrap:hover .login-list { display: block; }
.login-list a {
  display: block;
  padding: 8px 16px;
  font-size: 14px;
  text-transform: uppercase;
}
.login-list a:hover { text-decoration: underline; text-underline-offset: 3px; }

.cart-box-wrap { position: relative; margin-left: 4px; }
.cart-box {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: #333;
  padding: 8px;
}
#cart_number {
  position: absolute;
  top: -10px;
  right: -10px;
  min-width: 18px;
  min-height: 18px;
  border-radius: 99px;
  background: var(--cart-badge-bg);
  color: #fff;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}

.header_bottom { display: none; background: #fff; }
.mobile_search { position: relative; display: flex; align-items: center; padding-bottom: 12px; }
.mobile_search_txt {
  width: 100%;
  height: 48px;
  border: 1px solid #eaeaea;
  border-radius: 6px;
  padding: 13px 19px 13px 51px;
  font-size: 15px;
  outline: none;
}
.mobile_search_icon_left {
  position: absolute;
  left: 15px;
  color: rgba(18, 27, 23, 0.4);
  pointer-events: none;
}
.mobile_search_wrap.isHidden {
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.mobile_search_icon { display: none; }
.mobile_search_icon.show { display: inline-flex !important; }

.search-overlay[hidden] { display: none !important; }
.search-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 50103;
}
.search-overlay__mask {
  position: absolute;
  inset: 0;
  border: 0;
  background: var(--search-overlay);
  cursor: pointer;
}
.search-overlay__wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  background: #fff;
  border-top: 1px solid hsla(200, 1%, 54%, 0.15);
  padding: 16px 0 60px;
  z-index: 1;
}
.search-overlay .content { width: 100%; margin: 0 auto; padding: 0 16px; }
@media (min-width: 960px) {
  .search-overlay .content { width: 49%; }
}
#pc_search_form { position: relative; }
#pc_search_form .search_txt {
  width: 100%;
  height: 48px;
  border: 1px solid rgb(234, 234, 234);
  border-radius: 6px;
  font-size: 15px;
  padding: 13px 19px 13px 51px;
  outline: none;
  transition: border-color 0.2s var(--ease-smart);
}
#pc_search_form .search_txt:focus,
#pc_search_form .search_txt.has-value { border-color: #121b17; }
.search-overlay__icon {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(18, 27, 23, 0.4);
  pointer-events: none;
}
.search_hot_title { font-size: 15px; margin-top: 16px; color: #121b17; }

/* Aliases for sibling header class names */
.cd-search-overlay,
.oem-drawer-popup.cd-search-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 50103;
}
.cd-search-overlay[hidden] { display: none !important; }
.cd-search-overlay__mask,
.oem-drawer-popup-mask {
  position: absolute;
  inset: 0;
  border: 0;
  background: var(--search-overlay);
  cursor: pointer;
}
.cd-search-overlay__wrap,
.oem-drawer-popup-wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  background: #fff;
  border-top: 1px solid hsla(200, 1%, 54%, 0.15);
  padding: 16px 0 60px;
  z-index: 1;
}
.cd-search-overlay__content { width: 100%; margin: 0 auto; padding: 0 16px; }
@media (min-width: 960px) {
  .cd-search-overlay__content { width: 49%; }
}
.cd-search-overlay__field { position: relative; }
.cd-search-overlay__field .search_txt {
  width: 100%;
  height: 48px;
  border: 1px solid rgb(234, 234, 234);
  border-radius: 6px;
  font-size: 15px;
  padding: 13px 19px 13px 51px;
  outline: none;
}
.cd-search-overlay__icon {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(18, 27, 23, 0.4);
  pointer-events: none;
}
.minicart[hidden] { display: none !important; }
.minicart.minicart_on { display: block !important; }
/* Mobile nav uses transform; keep flex when [hidden] so slide animates */
.cd-header__mobile-search { display: none; background: #fff; }
.cd-minicart__trust {
  padding: 20px;
  text-align: center;
  border-top: 1px solid #eee;
  font-size: 12px;
  color: #666;
}
.cd-minicart__trust-badge { font-weight: 600; letter-spacing: 1px; margin-top: 4px; }
.cd-quick-view[hidden] { display: none !important; }
.cd-quick-view {
  position: fixed;
  inset: 0;
  z-index: 99999999;
  display: grid;
  place-items: center;
}
.cd-quick-view__mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  border: 0;
}
.cd-quick-view__dialog {
  position: relative;
  z-index: 1;
  background: #fff;
  width: min(900px, 92vw);
  max-height: 90vh;
  overflow: auto;
  padding: 24px;
  border-radius: 9px;
}
.cd-quick-view__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.cd-quick-view__close {
  position: absolute;
  top: 8px;
  right: 12px;
  border: 0;
  background: transparent;
  font-size: 28px;
  cursor: pointer;
}
.cd-qty {
  display: inline-flex;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
  margin: 12px 0;
}
.cd-qty button { width: 40px; height: 40px; border: 0; background: #f7f7f7; cursor: pointer; }
.cd-qty input { width: 56px; height: 40px; border: 0; text-align: center; }
.cd-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; margin-right: 8px; border-radius: 6px; }

@media (max-width: 767px) {
  .cd-header__mobile-search { display: block; }
  .cd-quick-view__grid { grid-template-columns: 1fr; }
}

#mobile_nav_card {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 510000;
  display: flex;
  transform: translateX(-100%);
  transition: transform 0.2s ease;
  pointer-events: none;
}
#mobile_nav_card.show { transform: translateX(0); pointer-events: auto; }
#mobile_nav_card .content {
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
  max-width: 350px;
  width: 85%;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}
#mobile_nav_card .close_box {
  display: flex;
  justify-content: flex-end;
  padding: 20px 0;
  border-bottom: 1px solid rgba(29, 29, 29, 0.1);
}
#mobile_nav_card .close_btn {
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
.panel-menu-item {
  display: flex;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid rgba(29, 29, 29, 0.1);
  font-size: 14px;
}
.mobile_login {
  border-top: 1px solid hsla(200, 1%, 54%, 0.16);
  padding: 20px 0;
  margin-top: auto;
  min-height: 52px;
}
.mobile_nav_mask {
  flex: 1;
  background: hsla(0, 0%, 92%, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease 0.2s;
}
#mobile_nav_card.show .mobile_nav_mask { opacity: 1; }

.minicart {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: var(--overlay-dim);
  z-index: 9999999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.minicart.minicart_on { opacity: 1; visibility: visible; }
.minicart_wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  max-width: 400px;
  width: calc(100% - 30px);
  background: #fff;
  overflow-y: auto;
  transform: translate(100%);
  transition: all 0.5s;
}
.minicart.minicart_on .minicart_wrapper { transform: none; }
.minicart_top {
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 30px;
  border-bottom: 1px solid #ddd;
  font-size: 24px;
  font-family: var(--title_font_family);
  font-weight: 500;
  color: var(--title_color);
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
}
.minicart_top .close_btn {
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 4px;
  color: #121b17;
}
.minicart_empty {
  height: calc(100vh - 80px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}
.minicart_empty p { margin: 30px 0 0; font-size: 16px; }
.continue_shopping_btn {
  display: inline-block;
  background: #333;
  color: #fff !important;
  height: 44px;
  line-height: 44px;
  padding: 0 20px;
  margin-top: 30px;
}

.block_blank { height: var(--pc-height, 30px); }
.block_title_custom h2,
.block_title h2 {
  font-size: var(--title_font_size);
  font-weight: 500;
  line-height: 30px;
  color: var(--title_color);
  margin-bottom: 20px;
}
.block_title { margin-bottom: 40px; text-align: center; }
.block_title .block_detail { font-size: 16px; color: var(--title_color); margin-top: 8px; }
.block_title_custom.align-left h2 { text-align: left; }

.block_slides { position: relative; overflow: hidden; }
.block_slides .swiper-slide { position: relative; display: none; }
.block_slides .swiper-slide.is-active { display: block; }
.block_slides .bg_img_box { position: relative; }
.block_slides .slide-item-auto { width: 100%; height: auto; object-fit: cover; }
.block_slides .slide-item-center { width: 100%; height: 600px; object-fit: cover; }
.block_slides .mask {
  position: absolute;
  inset: 0;
  background: var(--bg-color, transparent);
  opacity: var(--opacity, 0);
  pointer-events: none;
  z-index: 10;
}
.block_slides .slide-link { position: absolute; inset: 0; z-index: 200; }
.block_slides .img-pc { display: block; }
.block_slides .img-mobile { display: none; }
.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: 50%;
  /* Prefer margin over transform so Swiper nav transforms cannot un-center icons */
  margin-top: -24px;
  transform: none;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  opacity: 0;
  transition: opacity 0.3s var(--ease-smart);
  z-index: 210;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: #6b7280;
  line-height: 0;
}
.swiper-button-next::after,
.swiper-button-prev::after {
  display: none !important;
  content: none !important;
}
.block_slides:hover .swiper-button-next,
.block_slides:hover .swiper-button-prev { opacity: 1; }
.swiper-button-next { right: 20px; left: auto; }
.swiper-button-prev { left: 20px; right: auto; }
.swiper-button-next svg,
.swiper-button-prev svg,
.cd-hero-chevron {
  display: block;
  width: 12px;
  height: 20px;
  transform: none !important;
  flex-shrink: 0;
}
.swiper-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 210;
}
.swiper-pagination-bullet {
  width: 60px;
  height: 3px;
  border: 0;
  border-radius: 1px;
  background: #fff;
  opacity: 0.4;
  padding: 0;
  cursor: pointer;
}
.swiper-pagination-bullet-active { opacity: 1; }

.block_slogan { margin-bottom: 20px; padding: 0 0 20px; }
.block_slogan .list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: stretch;
}
.block_slogan .list_item {
  display: flex;
  height: 100%;
  padding: 40px;
  border-radius: 9px;
  transition: box-shadow 0.3s ease;
}
.block_slogan .list_item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
  color: inherit;
  text-decoration: none;
}
.block_slogan .list_item:hover { box-shadow: var(--shadow-card); }
.block_slogan .img_wrap {
  width: 80px;
  height: 80px;
  margin: 0 auto;
  background: var(--bg, var(--icon-tile-bg));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.block_slogan .img_wrap svg {
  width: 48px;
  height: 48px;
  display: block;
  margin: 0 auto;
}
.block_slogan .text_wrap {
  margin-top: 24px;
  width: 100%;
  text-align: center;
}
.block_slogan .item-title {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
  font-family: var(--title_font_family);
  text-align: center;
}
.block_slogan .item-title span {
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 2px;
  transition: background-size 0.1s;
}
.block_slogan .list_item:hover .item-title span,
.block_slogan .list_item a:hover .item-title span {
  background-size: 100% 2px;
}
.block_slogan .item-des {
  margin-top: 18px;
  font-size: 13.5px;
  line-height: 21px;
  opacity: 0.8;
  text-align: center;
}
.block_slogan .item-des p { margin: 0; text-align: center; }

.block_collection_list { padding-bottom: 20px; }
.block_collection_list .block_title_custom h2 { text-align: center; margin-bottom: 24px; }
.collection_product {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.collection_item {
  background: #fff;
  padding: 12px;
  border-radius: 9px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.8s;
}
.collection_item:hover { box-shadow: rgba(0, 0, 0, 0.063) 0 8.02px 32.09px; }
/* 1:1 featured image crop — fill frame; do not replace media with color blocks */
.collection-product-item {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  /* Loading/empty fallback only; featured <img> must remain the visible product art */
  background-color: #f6f6f6;
  background-image: none;
}
.collection-product-item .collection-product-item-image,
.collection-product-item img.main-image,
.collection-product-item img.hover-two,
.collection-product-item img.default_img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1);
}
.collection-product-item img.main-image,
.collection-product-item .collection-product-item-image.main-image,
.collection-product-item img.default_img {
  opacity: 1;
  z-index: 0;
}
/* Equal specificity to former opacity:1 on img.hover-two; keep second frame hidden */
.collection-product-item img.hover-two,
.collection-product-item .collection-product-item-image.hover-two,
.collection-product-item .hover-two {
  opacity: 0;
  transform: scale(1.1);
  transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1), transform 1s;
  z-index: 1;
  pointer-events: none; /* scaled frame must not steal PDP clicks */
}
/* Only fade primary image when a real hover gallery image exists */
.collection-product-item.animation-hover:has(.hover-two):hover img.main-image,
.collection-product-item.animation-hover:has(.hover-two):hover .main-image { opacity: 0; }
.collection-product-item.animation-hover:has(.hover-two):hover img.hover-two,
.collection-product-item.animation-hover:has(.hover-two):hover .hover-two {
  opacity: 1;
  transform: scale(1);
}
.collection-product-item.animation-hover:not(:has(.hover-two)):hover img.main-image,
.collection-product-item.animation-hover:not(:has(.hover-two)):hover .main-image { opacity: 1; }
.discount_tag.label_style_4 {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--discount_tag_bg);
  color: var(--discount_tag_color);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  z-index: 2;
  text-align: center;
}
.discount_tag.label_style_4 span { display: block; font-size: 10px; font-weight: 500; }
.actions-wrapper {
  position: absolute;
  right: 20px;
  bottom: 20px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s ease;
  z-index: 50;
  display: inline-flex;
  pointer-events: none;
}
.collection-product-item:hover .actions-wrapper,
.collection_item:hover .actions-wrapper {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.actions-wrapper-btn {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: var(--shadow-card);
  border: 0;
  cursor: pointer;
  color: #121b17;
  pointer-events: auto;
}
.item-caption {
  display: block;
  visibility: visible;
  opacity: 1;
  color: var(--title_color, #121b17);
  padding-top: 12px;
  position: relative;
  z-index: 2;
}
.item-caption-title {
  color: var(--title_color, #121b17);
  font-size: calc(var(--product_font_size, 16px) * 1.16);
  font-weight: 400;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.4em;
  line-height: 1.3;
}
.item-caption-price { display: flex; align-items: baseline; flex-wrap: wrap; }
.general-price {
  color: var(--buying_parice_color);
  font-weight: 700;
  font-size: 16px;
  margin-right: 10px;
}
.general-oldprice {
  color: var(--original_price_color);
  font-weight: 300;
  text-decoration: line-through;
  font-size: 14px;
}
.product_price {
  display: inline-flex;
  align-items: center;
  margin-top: 4px;
  background: var(--discount_tag_bg);
  color: var(--discount_tag_color);
  padding: 1px 8px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.4;
  gap: 4px;
}
.product_price[hidden] { display: none !important; }

/* HTML star row */
.moi-start-warp {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  font-size: 13px;
  color: #888;
}
.moi-start-warp-underline { text-decoration: none; }
.comment-star-warp {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 100px;
  flex-shrink: 0;
}
.comment-star-base {
  display: flex;
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.comment-star-base svg { width: 20px; height: 20px; flex-shrink: 0; }
.comment-star-warp-choose { z-index: 1; }
.showMore { display: flex; justify-content: center; margin-top: 28px; }
.secondary_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  background: var(--secondary_button_bg);
  color: var(--secondary_button_color);
  border: 1px solid var(--secondary_button_color);
  border-radius: var(--button_border_radius);
  font-size: 16px;
  cursor: pointer;
  transition: opacity 0.3s;
}
.main_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 20px;
  background: var(--main_button_bg);
  color: var(--main_button_color);
  border: 1px solid #fff;
  border-radius: var(--button_border_radius);
  font-size: 16px;
  line-height: 24px;
  cursor: pointer;
  transition: opacity 0.3s;
}
.secondary_btn:hover, .main_btn:hover, .public_btn:hover { opacity: 0.9; }

.block_gallery { background: #fff; padding: 80px 0; }
.block_gallery .content_wrap { position: relative; cursor: none; }
.block_gallery .packed-scroller {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  padding-bottom: 16px;
  scrollbar-width: thin;
}
.block_gallery .packed-scroller::-webkit-scrollbar { height: 2px; }
.block_gallery .img_box img {
  height: 20vw !important;
  width: auto;
  max-width: none;
  object-fit: cover;
}
@media (max-width: 767px) {
  .block_gallery .img_box img { height: 210px !important; }
}
.coustom_drag_cursor {
  position: absolute;
  width: 60px;
  height: 60px;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.15s, transform 0.15s;
  z-index: 10;
  left: 0;
  top: 0;
}
.coustom_drag_cursor.show { visibility: visible; opacity: 1; transform: scale(1); }
.coustom_drag_cursor svg { width: 60px; height: 60px; fill: #121b17; stroke: #fff; }

.block_comment_image { padding: 40px 0; }
.block_comment_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.cd-review-card {
  background: #f6f6f6;
  border-radius: 9px;
  padding: 20px;
}
.cd-review-card__stars { color: var(--star-fill); margin-bottom: 8px; }
.cd-review-card p { margin: 0; font-size: 14px; line-height: 1.5; }
.cd-review-card__name { margin-top: 12px; font-size: 13px; color: #666; }

.block_faq { padding: 20px 0; }
.block_faq .aq_wrapper {
  background: var(--faq-bg, #f6f6f6);
  padding: 60px;
}
.block_faq .list_item { border-bottom: 1px solid #ddd; }
.block_faq .list_item:last-child { border-bottom: 0; }
.block_faq .question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 1.25rem 0;
  cursor: pointer;
  text-align: left;
  color: inherit;
}
.block_faq .question_title {
  font-size: 16px;
  font-weight: 700;
  font-family: var(--title_font_family);
}
.block_faq .icon_span {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(26, 26, 26, 0.12);
  color: #1d1f21;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: all 0.2s;
}
.block_faq .icon_span svg {
  transform: rotate(90deg);
  transition: transform 0.2s ease-in-out;
}
.block_faq .question:hover .icon_span {
  background: var(--faq-color, #1d1f21);
  color: #fff;
}
.block_faq .list_item.open .icon_span {
  background: rgb(26, 26, 26);
  color: #fff;
}
.block_faq .list_item.open .icon_span svg { transform: rotate(-90deg); }
.block_faq .answer {
  display: none;
  padding-bottom: 1.25rem;
  opacity: 0.6;
  font-size: 14px;
  line-height: 1.6;
  overflow: hidden;
}
.block_faq .list_item.open .answer { display: block; }
.block_faq .answer p { margin: 0; }
.block_detail { margin-bottom: 20px; font-size: 16px; text-align: center; color: var(--title_color); }
.email-notice { text-align: center; font-size: 15px; margin: 24px 0 0; color: #1d1f21; }

.block_video_image_text {
  position: relative;
  height: var(--pc-height, 750px);
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #fff;
  text-align: center;
}
.block_video_content, .custom_video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block_video-mask {
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0.2;
}
.video_text {
  position: relative;
  z-index: 1;
  padding: 40px;
  max-width: 720px;
  pointer-events: none;
}
.video_title {
  font-size: var(--font-size, 40px);
  font-weight: 500;
  line-height: 1.2;
  color: #fff;
}
.video_text .subheading {
  font-size: 16px;
  line-height: 1.7;
  margin: 8px 0 16px;
}
.video_text .subheading p { margin: 0; }
.btn.btn-animate {
  display: inline-flex;
  align-items: center;
  pointer-events: auto;
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
  padding: 8px 12px;
  font-size: 16px;
  transition: opacity 0.3s;
}
.btn.btn-animate:hover { opacity: 0.9; }

.block_footer {
  background: var(--bg-color, var(--footer-bg));
  color: var(--text-color, #fff);
}
.block_footer a { color: #fff; opacity: 0.8; transition: opacity 0.2s; }
.block_footer a:hover { opacity: 1; }
.footer_top { display: flex; flex-wrap: wrap; padding: 64px 0 40px; }
.oem-menu { width: 25%; padding: 0 12px; box-sizing: border-box; }
.footer_newsletter { width: 25%; margin-left: auto; }
.oem-menu-heading { font-weight: 700; font-size: 16px; margin-bottom: 16px; padding-top: 20px; }
.oem-menu-heading--brand { font-size: 20px; }
.oem-menu-label {
  display: none;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: #fff;
  font-weight: 700;
  padding: 16px 0;
  position: relative;
  cursor: pointer;
}
.oem-menu-label::before,
.oem-menu-label::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  background: #fff;
}
.oem-menu-label::before { width: 12px; height: 2px; transform: translateY(-50%); }
.oem-menu-label::after {
  width: 2px;
  height: 12px;
  right: 5px;
  transform: translateY(-50%);
  transition: transform 0.2s;
}
.oem-menu.is-open .oem-menu-label::after { transform: translateY(-50%) rotate(90deg); }
.oem-menu-warp ul { display: flex; flex-direction: column; gap: 12px; }
.oem-menu-warp .text_detail p { margin: 0; font-size: 14px; line-height: 1.6; }
.mb-6 { margin-bottom: 24px; }
.footer_input {
  position: relative;
  display: flex;
  align-items: center;
  border: 1px solid #eaeaea;
  border-radius: 6px;
  padding: 3px 4px;
  margin: 16px 0;
}
.footer_input input {
  flex: 1;
  border: 0;
  background: transparent;
  color: #fff;
  padding: 9px 8px;
  outline: 0;
  min-width: 0;
}
.footer_input input::placeholder { color: rgba(255, 255, 255, 0.7); }
.footer_input .public_btn,
.footer_input .submit_box {
  position: absolute;
  right: 4px;
  top: 3px;
  bottom: 3px;
  height: calc(100% - 6px);
  border: 0;
  background: #fff;
  color: #2c676a;
  border-radius: 6px;
  padding: 0 23px;
  cursor: pointer;
  font-weight: 600;
}
.zuui-share-link { display: flex; gap: 12px; margin-top: 16px; }
.copyright {
  text-align: center;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 13px;
}

.cd-page-head { padding: 28px 0 8px; }
.cd-breadcrumb { font-size: 13px; color: #666; margin-bottom: 12px; line-height: 1.4; }
.cd-page-title {
  font-size: var(--title_font_size, 30px);
  font-weight: var(--title_font_weigth, 500);
  font-family: var(--title_font_family);
  line-height: 1.2;
  margin: 0 0 20px;
  color: var(--title_color);
  overflow: visible;
}
.cd-prose { max-width: 820px; margin: 0 auto 60px; font-size: 15px; line-height: 1.7; }
.cd-prose h2 { margin: 28px 0 12px; font-size: 20px; }
.cd-prose p { margin: 0 0 14px; }
.cd-prose ul { list-style: disc; padding-left: 1.25rem; margin: 0 0 14px; }

/* Homepage Affiliate Program CTA — same content width as FAQ body */
.cd-affiliate-home {
  background: transparent;
  color: var(--main_color, #1d1f21);
  padding: 0;
}
.cd-affiliate-home__inner {
  background: #fff;
  padding: 48px 60px;
  box-sizing: border-box;
}
.cd-affiliate-home__title {
  margin: 0 0 14px;
  font-family: var(--title_font_family, "Work Sans", sans-serif);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--main_color, #1d1f21);
}
.cd-affiliate-home__body {
  margin: 0 0 24px;
  max-width: 640px;
  font-family: var(--general_font_family, "Work Sans", sans-serif);
  font-size: 16px;
  line-height: 1.6;
  color: var(--main_color, #1d1f21);
}
@media (max-width: 767px) {
  .cd-affiliate-home__inner {
    padding: 32px 20px;
  }
  .cd-affiliate-home__title {
    font-size: 22px;
  }
}
.cd-affiliate-home__cta {
  margin: 0;
}
.cd-affiliate-home__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 32px;
  border-radius: 999px;
  background: var(--buying_price_color, #d21936);
  color: #fff;
  font-family: var(--general_font_family, "Work Sans", sans-serif);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity 0.25s var(--ease-smart, ease);
}
.cd-affiliate-home__btn:hover,
.cd-affiliate-home__btn:focus {
  opacity: 0.9;
  color: #fff;
}

/* Affiliate program landing page */
.cd-affiliate {
  background: #fff;
  color: var(--main_color, #1d1f21);
}
.cd-affiliate-hero {
  padding: 64px 0 40px;
}
.cd-affiliate-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 40px;
  align-items: center;
}
.cd-affiliate-hero__eyebrow {
  margin: 0 0 12px;
  font-family: var(--general_font_family, "Work Sans", sans-serif);
  font-size: 15px;
  color: #666;
}
.cd-affiliate-hero__title {
  margin: 0 0 28px;
  max-width: 520px;
  font-family: var(--title_font_family, "Work Sans", sans-serif);
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 700;
  line-height: 1.25;
  color: #1d1f21;
}
.cd-affiliate-hero__cta {
  margin: 0;
}
.cd-affiliate-hero__art {
  display: flex;
  justify-content: center;
}
.cd-affiliate-hero__svg {
  width: 100%;
  max-width: 380px;
  height: auto;
}
.cd-affiliate-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 36px;
  border-radius: 8px;
  background: var(--buying_price_color, #d21936);
  color: #fff;
  font-family: var(--general_font_family, "Work Sans", sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: opacity 0.25s var(--ease-smart, ease);
}
.cd-affiliate-btn:hover,
.cd-affiliate-btn:focus {
  opacity: 0.9;
  color: #fff;
}
.cd-affiliate-how {
  padding: 24px 0 48px;
}
.cd-affiliate-how__heading {
  margin: 0 0 28px;
  text-align: center;
  font-family: var(--title_font_family, "Work Sans", sans-serif);
  font-size: 28px;
  font-weight: 600;
  color: #1d1f21;
}
.cd-affiliate-how__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #e5e5e5;
  background: #fff;
}
.cd-affiliate-how__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 36px 28px 32px;
  border-right: 1px solid #e5e5e5;
}
.cd-affiliate-how__col:last-child {
  border-right: 0;
}
.cd-affiliate-how__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  margin-bottom: 16px;
}
.cd-affiliate-how__title {
  margin: 0 0 12px;
  font-family: var(--title_font_family, "Work Sans", sans-serif);
  font-size: 22px;
  font-weight: 700;
  color: #1d1f21;
}
.cd-affiliate-how__text {
  margin: 0 0 20px;
  flex: 1;
  font-family: var(--general_font_family, "Work Sans", sans-serif);
  font-size: 14px;
  line-height: 1.65;
  color: #555;
}
.cd-affiliate-how__link {
  color: var(--main_button_bg, #2c676a);
  font-family: var(--general_font_family, "Work Sans", sans-serif);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}
.cd-affiliate-how__link:hover,
.cd-affiliate-how__link:focus {
  color: var(--buying_price_color, #d21936);
  text-decoration: underline;
}
.cd-affiliate-bottom {
  padding: 16px 0 72px;
}
.cd-affiliate-bottom__inner {
  display: flex;
  justify-content: center;
}

@media (max-width: 900px) {
  .cd-affiliate-hero__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .cd-affiliate-hero__art {
    order: -1;
  }
  .cd-affiliate-how__grid {
    grid-template-columns: 1fr;
  }
  .cd-affiliate-how__col {
    border-right: 0;
    border-bottom: 1px solid #e5e5e5;
  }
  .cd-affiliate-how__col:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 640px) {
  .cd-affiliate-home {
    padding: 40px 0;
  }
  .cd-affiliate-home__title {
    font-size: 22px;
  }
  .cd-affiliate-home__body {
    font-size: 15px;
  }
  .cd-affiliate-hero {
    padding: 40px 0 24px;
  }
  .cd-affiliate-how__heading {
    font-size: 24px;
  }
  .cd-affiliate-how__col {
    padding: 28px 20px;
  }
}

/* Site-wide floating WhatsApp (bottom-right) */
.cd-float-whatsapp {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 99990;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  line-height: 0;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.cd-float-whatsapp:hover,
.cd-float-whatsapp:focus {
  transform: scale(1.06);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
  outline: none;
}
.cd-float-whatsapp:focus-visible {
  outline: 2px solid #128C7E;
  outline-offset: 3px;
}
.cd-float-whatsapp__icon {
  display: block;
  width: 56px;
  height: 56px;
}
@media (max-width: 640px) {
  .cd-float-whatsapp {
    right: 16px;
    bottom: 16px;
    width: 52px;
    height: 52px;
  }
  .cd-float-whatsapp__icon {
    width: 52px;
    height: 52px;
  }
  /* Keep last shop cards / PDP title scrollable above the WhatsApp FAB. */
  main {
    padding-bottom: 72px;
  }
}
.cd-archive-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.cd-archive-count {
  font-size: 14px;
  color: #666;
}
.cd-archive-sort {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.cd-archive-sort__label {
  font-size: 14px;
  color: #121b17;
}
.cd-archive-toolbar select,
.cd-archive-sort .orderby {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 8px 12px;
  background: #fff;
  min-width: 180px;
}
.cd-archive-apply {
  border: 0;
  background: var(--main_button_bg);
  color: #fff;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: 0.04em;
}
.cd-archive-clear {
  font-size: 13px;
  color: #666;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cd-archive-clear:hover { color: #121b17; }
.cd-empty { text-align: center; color: #666; padding: 40px 0; }
.cd-pagination { display: flex; justify-content: center; gap: 8px; margin: 32px 0; }
.cd-back { margin: 16px 0 40px; }
.cd-warehouse-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding-bottom: 60px;
}
.cd-warehouse-grid img,
.cd-warehouse-grid video {
  width: 100%;
  height: 260px;
  object-fit: cover;
  background: #eee;
}

.product_detail_default {
  margin: 0 auto;
  padding: 0 0 60px;
}
.product_detail_default .product-warp {
  margin: 60px auto 0;
  max-width: var(--general_layout_width, 1200px);
}
.product-grid {
  display: flex;
  flex-direction: column;
}
.product-preview { width: 100%; position: relative; }
.product-tabs-card,
.product-info {
  width: 100%;
  box-sizing: border-box;
  position: relative;
}
@media (min-width: 767px) {
  .product-grid {
    display: grid !important;
    grid-template-rows: auto 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 50px;
  }
  .product-grid-bottom {
    grid-template-areas:
      "preview info"
      "tabs tabs";
  }
  .product-preview { grid-area: preview; }
  .product-info { grid-area: info; padding: 0 !important; }
  .product-tabs-card { grid-area: tabs; padding: 0 !important; }
}
/* Stretch preview column to info height so sticky gallery has scroll room until Detail/tabs. */
.product-left {
  position: relative;
  align-self: stretch;
}
.product_detail_default,
.product_detail_default .product-warp,
.product_detail_default .product-grid {
  overflow: visible;
}
.product_detail_default .product-left .product-right-sticky,
.product-right-sticky {
  position: sticky;
  top: 95px; /* sticky header offset (HTML geek_theme) */
  z-index: 1;
}
.product_preview_left {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  gap: 0;
}
.product_preview_left .product-gallery-main {
  flex: 1;
  min-width: 0;
}
.product_preview_left .product-gallery-main img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--img-radius, 0);
  background: #f6f6f6;
  display: block;
}
.product_preview_left .product-swiper-small {
  display: flex;
  flex-direction: column;
  padding: 0 15px 0 0;
}
.product_preview_left .swiper-container-small {
  max-height: 500px;
  overflow: hidden;
}
.product_detail_default .product-swiper-small .swiper-wrapper.product-thumbs {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.product_detail_default .product-swiper-small .swiper-small-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  box-sizing: border-box;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
}
.product_detail_default .product-swiper-small .swiper-small-item.active,
.product_detail_default .product-swiper-small .swiper-small-item:has(img.is-active) {
  border-color: var(--color-main, #121b17);
}
.product_detail_default .product-swiper-small .swiper-small-item img {
  width: 76px;
  height: auto;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}
.product-right .product-title,
.product-right .control-product_detail-title {
  font-size: var(--big_product_font_size, 28px);
  font-weight: var(--title_font_weigth, 500);
  margin-bottom: 20px;
  line-height: 1.2;
  color: var(--title_color, #121b17);
}
.product_flex_left .product-name,
.product_flex_left .product-title { text-align: left !important; }
.product_detail_default .product-price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  font-size: 1.4285714286rem;
  line-height: 1.7142857143rem;
  margin-bottom: 8px;
}
.product_detail_default .cd-pdp-price {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.product_detail_default .cd-pdp-price__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}
.product_detail_default .cd-pdp-price__row[hidden] {
  display: none !important;
}
.product_detail_default .cd-pdp-price__label {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  color: #5a6167;
}
.product_detail_default .product-price .product-price-number {
  color: var(--buying_parice_color, #D21936);
  margin-right: 10px;
  margin-bottom: 6px;
  font-weight: 700;
}
.product_detail_default .cd-pdp-price .product-price-number,
.product_detail_default .cd-pdp-price .product-price-market {
  margin-right: 0;
  margin-bottom: 0;
}
.product_detail_default .product-price .product-price-market {
  color: var(--original_price_color, #999);
  margin-right: 10px;
  margin-bottom: 6px;
  text-decoration: line-through;
}
.product_detail_default .product-price-discount {
  background-color: var(--discount_tag_bg, #AE2238);
  border-radius: 4px;
  color: var(--discount_tag_color, #fff);
  font-size: 13px;
  padding: 1px 8px;
  margin-bottom: 6px;
}
.product_detail_default .product-price-discount[hidden],
.product_detail_default .product-price-market[hidden] {
  display: none !important;
}
.product-sku-name { margin: 18px 0 0; font-size: 14px; font-weight: 500; }
.product-sku-values { display: flex; flex-wrap: wrap; }
.product-sku-values-item {
  position: relative;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  padding: 16px 20px;
  margin: 15px 15px 0 0;
  height: 50px;
  border-radius: 6px;
  cursor: pointer;
  background: #fff;
  border: 0;
  display: inline-flex;
  align-items: center;
}
.product-sku-values-item::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 6px;
  border: 1px solid var(--sku-border);
  pointer-events: none;
}
.product-sku-values-item:hover::after,
.product-sku-values-item.product-sku-values-item-active::after {
  border: 2px solid #121b17;
}
.product-actions,
.product-right .product_view_actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: min(277.5px, 100%);
  margin: 20px 0 24px;
}
.product-actions .secondary_btn,
.product-actions .main_btn,
.product-right .product_view_actions .secondary_btn,
.product-right .product_view_actions .main_btn {
  width: 100%;
  height: 48px;
  min-height: 48px;
  line-height: 48px;
  padding: 0 20px;
  box-sizing: border-box;
}
.product_detail_default .product-calculator,
.product-calculator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  border: 1px solid var(--color-divider, #ddd);
  border-radius: var(--button_border_radius, 6px);
  margin: 12px 0;
  box-sizing: border-box;
  overflow: hidden;
}
.product_detail_default .product-calculator .product-calculator-handle,
.product-calculator .product-calculator-handle,
.product-calculator button {
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 44px;
  box-sizing: border-box;
  user-select: none;
}
.product_detail_default .product-calculator .product-calculator-value,
.product-calculator .product-calculator-value,
.product-calculator input {
  width: 80px;
  height: 44px;
  border: 0;
  text-align: center;
  outline: 0;
  background: transparent;
  color: var(--main_color, #1d1f21);
  font-size: 1rem;
  line-height: 44px;
  box-sizing: border-box;
}
.moi-tabs {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  border-top: 1px solid #ddd;
  position: relative;
  list-style: none;
  padding: 0;
  gap: 0;
}
.moi-tabs .moi-tabs-item {
  border-bottom: 1px solid #ddd;
  width: 100%;
}
.moi-tabs .moi-tabs-title {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--color-main, #121b17);
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
}
.moi-tabs .moi-tabs-content {
  display: none;
  padding-bottom: 20px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--detail_color, #121b17);
}
.moi-tabs .moi-tabs-active .moi-tabs-content { display: block; }
.moi-tabs .moi-tabs-content img { max-width: 100%; height: auto; }
@media (min-width: 767px) {
  .moi-tabs.moi-tabs-style-tab {
    flex-direction: row;
    gap: 30px;
    border-bottom: 1px solid var(--color-divider, #ddd);
    border-top: none;
  }
  .moi-tabs-style-tab .moi-tabs-item {
    border-bottom: none;
    width: auto !important;
  }
  .moi-tabs-style-tab .moi-tabs-title {
    padding: 12px 0;
    font-size: var(--product_font_size, 16px);
    color: var(--color-text-low, #888);
    font-weight: 600;
  }
  .moi-tabs-style-tab .moi-tabs-active .moi-tabs-title {
    color: var(--color-main, #121b17);
    border-bottom: 4px solid var(--color-main, #121b17);
  }
  .moi-tabs-style-tab .moi-tabs-content {
    display: none;
    padding: 20px 0;
  }
  .moi-tabs-style-tab .moi-tabs-active .moi-tabs-content {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
  }
  .moi-tabs-style-tab.moi-tabs {
    margin-bottom: 2rem;
  }
}
.related.products .collection_product {
  margin-top: 8px;
}
.trust-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  text-align: center;
  font-size: 12px;
  margin-bottom: 24px;
}
.trust-stats strong { display: block; font-size: 18px; margin-bottom: 4px; }
.product-custom-tabs { border-top: 1px solid #eee; padding-top: 16px; }
.product-custom-tabs .tab-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.product-custom-tabs .tab-nav button {
  border: 0;
  background: #f3f3f3;
  border-radius: 999px;
  padding: 8px 14px;
  cursor: pointer;
  font-size: 13px;
}
.product-custom-tabs .tab-nav button.is-active {
  background: var(--main_button_bg);
  color: #fff;
}
.product-custom-tabs .tab-panel { display: none; font-size: 14px; color: #444; line-height: 1.6; }
.product-custom-tabs .tab-panel.is-active { display: block; }
.guaranteed-safe { margin-top: 20px; font-size: 13px; color: #666; }

@media (max-width: 1023px) {
  .block_comment_list { grid-template-columns: 1fr 1fr; }
  .product-left { position: static; }
  .product-right-sticky { position: static; }
}

@media (max-width: 767px) {
  #card-header { min-height: 204px; height: auto; }
  .md-hidden { display: inline-flex; }
  .md-flex, .md-block, #inline_nav_wrap, .currency_box_wrap, .search_box, .user_wrap { display: none !important; }
  .header_bottom { display: block; }
  .nav-container { justify-content: space-between; }
  .nav-logo { margin: 0 auto; }
  .action-icon { flex: 0; }
  .block_blank { height: var(--mobile-height, 20px); }
  .block_slogan .list { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .block_slogan .list_item { padding: 12px; }
  .collection_product { grid-template-columns: repeat(2, 1fr); gap: 15px; }
  .block_gallery .img_box img { height: 210px !important; }
  .block_gallery .content_wrap { cursor: auto; }
  .coustom_drag_cursor { display: none; }
  .block_faq .aq_wrapper { padding: 20px; }
  .block_slides .img-pc { display: none; }
  .block_slides .img-mobile { display: block; }
  .block_slides .slide-item-center { height: 70vh; }
  .block_video_image_text { height: var(--mobile-height, 500px); }
  .video_title { font-size: calc(40px * 0.75); }
  .footer_top { flex-direction: column; padding: 32px 0 24px; }
  .oem-menu, .footer_newsletter {
    width: 100%;
    margin-left: 0;
    border-bottom: 1px solid hsla(200, 1%, 54%, 0.6);
    padding: 0;
  }
  .oem-menu-heading { display: none; }
  .oem-menu-label { display: block; }
  .oem-menu .oem-menu-warp { display: none; }
  .oem-menu.is-open .oem-menu-warp { display: block; padding-bottom: 16px; }
  .block_comment_list, .cd-warehouse-grid { grid-template-columns: 1fr 1fr; }
  .product-actions { grid-template-columns: 1fr; }
  .product_preview_left { display: block; }
  .product_preview_left .product-swiper-small {
    display: flex;
    flex-direction: row;
    padding: 15px 0;
  }
  .product_detail_default .product-swiper-small .swiper-wrapper.product-thumbs {
    flex-direction: row;
    overflow-x: auto;
  }
  .product_detail_default .product-swiper-small .swiper-small-item {
    width: 46px;
    height: 46px;
    flex-shrink: 0;
  }
  .product_detail_default .product-swiper-small .swiper-small-item img {
    width: 46px;
    height: 46px;
  }
}

/* --- Gap-close bridges (PHP markup + Swiper library) --- */
.block_slides .swiper-slide { display: block; }
.block_slides .swiper-wrapper { display: flex; }
.cd-hero-swiper { width: 100%; overflow: hidden; }
.cd-hero__link { display: block; position: relative; }
.cd-hero .cd-hero__img--pc.hidden,
.cd-hero .hidden.md\:block { display: block; }
.cd-hero .cd-hero__img--mobile.md\:hidden { display: none; }
.cd-hero .swiper-button-next,
.cd-hero .swiper-button-prev {
  margin-top: -24px;
  transform: none !important;
}
.cd-hero .swiper-button-next::after,
.cd-hero .swiper-button-prev::after { display: none !important; content: none !important; }

/* Search overlay aliases */
.cd-search-overlay,
.oem-drawer-popup.search-overlay,
.oem-drawer-popup.cd-search-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 50103;
  background: transparent;
}
.cd-search-overlay[hidden] { display: none !important; }
.cd-search-overlay__wrap,
.oem-drawer-popup-wrap {
  position: absolute;
  left: 0; right: 0; top: 0;
  width: 100%;
  background: #fff;
  border-top: 1px solid hsla(200,1%,54%,.15);
  padding: 16px 0 60px;
  z-index: 2;
}
.cd-search-overlay__content { width: 100%; margin: 0 auto; padding: 0 16px; }
@media (min-width: 960px) {
  .cd-search-overlay__content { width: 49%; padding: 0; }
}
.cd-search-overlay__field { position: relative; }
.cd-search-overlay__icon {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(18,27,23,.4);
  pointer-events: none;
}
.cd-search-overlay .search_txt {
  width: 100%;
  height: 48px;
  border: 1px solid rgb(234,234,234);
  border-radius: 6px;
  font-size: 15px;
  padding: 13px 19px 13px 51px;
  outline: 0;
  transition: border-color .2s var(--ease-smart);
}
.cd-search-overlay .search_txt:focus,
.cd-search-overlay .search_txt.has-value { border-color: #121b17; }
.cd-search-overlay__mask,
.oem-drawer-popup-mask {
  position: absolute;
  inset: 0;
  border: 0;
  background: var(--search-overlay, rgba(235,235,235,.5));
  cursor: pointer;
  z-index: 1;
}

/* Minicart empty + CERTIFIED SECURE */
.minicart[hidden] { display: block !important; pointer-events: none; }
.minicart.minicart_on[hidden] { pointer-events: auto; }
.minicart_empty_content {
  height: calc(100vh - 80px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}
.minicart_empty_content p { margin: 30px 0 0; font-size: 16px; }
.cd-minicart__trust {
  padding: 24px 30px 40px;
  text-align: center;
  border-top: 1px solid #eee;
}
.cd-minicart__trust-label {
  font-size: 12px;
  letter-spacing: .08em;
  color: #666;
  margin-bottom: 6px;
}
.cd-minicart__trust-badge {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #121b17;
}
.minicart_item {
  display: flex;
  gap: 16px;
  padding: 30px 0;
  margin: 0 30px;
  border-bottom: 1px dashed #ddd;
}
.minicart_item__thumb img { width: 80px; height: 80px; object-fit: cover; }
.minicart_item__name {
  display: block;
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
.minicart_item__qty, .minicart_item__price { color: #888; font-size: 14px; line-height: 24px; }
.minicart_checkout {
  padding: 20px 30px 30px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.minicart_subtotal {
  display: flex;
  justify-content: space-between;
  font-size: 16px;
}

/* Mobile nav hidden attribute bridge */
#mobile_nav_card[hidden] { display: flex !important; pointer-events: none; }
#mobile_nav_card.show[hidden] { pointer-events: auto; }
.cd-header__burger.md-hidden,
.mobile_menu_icon.md-hidden { display: none; }
@media (max-width: 767px) {
  .cd-header__burger.md-hidden,
  .mobile_menu_icon.md-hidden { display: inline-flex; }
  .cd-header__user { display: none !important; }
  .cd-hero .cd-hero__img--pc,
  .cd-hero .hidden.md\:block { display: none !important; }
  .cd-hero .cd-hero__img--mobile,
  .cd-hero .md\:hidden { display: block !important; }
}

/* Packed gallery alias */
.cd-packed__scroller {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  padding-bottom: 16px;
  scrollbar-width: thin;
  cursor: grab;
}
.cd-packed__scroller.is-dragging { cursor: grabbing; }
.cd-packed__scroller::-webkit-scrollbar { height: 2px; }
.cd-packed__item { flex: 0 0 auto; }
.cd-packed__item img {
  height: 20vw !important;
  width: auto;
  max-width: none;
  object-fit: cover;
}
@media (max-width: 767px) {
  .cd-packed__item img { height: 210px !important; }
}

/* FAQ accordion aliases (cd-accordion + block_faq) */
.cd-accordion.aq,
.block_faq .cd-accordion {
  background: var(--faq-bg, #f6f6f6);
  padding: 20px;
}
@media (min-width: 768px) {
  .cd-accordion.aq,
  .block_faq .cd-accordion { padding: 60px; }
}
.cd-accordion__item { border-bottom: 1px solid #ddd; }
.cd-accordion__item:last-child { border-bottom: 0; }
.cd-accordion__q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 1.25rem 0;
  cursor: pointer;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  font-family: var(--title_font_family);
  color: #1d1f21;
}
.cd-accordion__icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(26,26,26,.12);
  color: #1d1f21;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: all .2s;
  position: relative;
  border: 0;
}
.cd-accordion__icon::before {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s;
}
.cd-accordion__q:hover .cd-accordion__icon {
  background: #1d1f21;
  color: #fff;
}
.cd-accordion__item.is-open .cd-accordion__icon,
.cd-accordion__item.open .cd-accordion__icon {
  background: rgb(26,26,26);
  color: #fff;
}
.cd-accordion__item.is-open .cd-accordion__icon::before,
.cd-accordion__item.open .cd-accordion__icon::before {
  transform: rotate(-135deg);
}
.cd-accordion__a {
  display: block;
  padding-bottom: 1.25rem;
  opacity: .6;
  font-size: 14px;
  line-height: 1.6;
  overflow: hidden;
}
.cd-accordion__a[hidden] { display: block !important; }
.cd-email-notice { text-align: center; font-size: 15px; margin: 24px 0 0; }

/* Quick-view modal */
.cd-quick-view {
  position: fixed;
  inset: 0;
  z-index: 10000000;
  display: grid;
  place-items: center;
  padding: 24px;
}
.cd-quick-view[hidden] { display: none !important; }
.cd-quick-view__mask {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}
.cd-quick-view__dialog {
  position: relative;
  z-index: 1;
  background: #fff;
  width: min(920px, 100%);
  max-height: 90vh;
  overflow: auto;
  border-radius: 8px;
  padding: 28px;
}
.cd-quick-view__close {
  position: absolute;
  top: 12px;
  right: 16px;
  border: 0;
  background: transparent;
  font-size: 28px;
  cursor: pointer;
  line-height: 1;
}
.cd-quick-view__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.cd-quick-view__media img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 6px;
  background: #f6f6f6;
}
.cd-quick-view__info h2 { font-size: 22px; margin-bottom: 12px; }
.cd-quick-view__prices { display: flex; gap: 10px; align-items: baseline; margin-bottom: 8px; }
.cd-quick-view__form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 20px;
  align-items: flex-start;
}
.cd-quick-view__form .cd-btn,
.cd-quick-view__form .secondary_btn,
.cd-quick-view__form .main_btn {
  width: min(277.5px, 100%);
  height: 48px;
  min-height: 48px;
}
.cd-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
}
.cd-qty button {
  width: 40px;
  height: 40px;
  border: 0;
  background: #f7f7f7;
  cursor: pointer;
}
.cd-qty input {
  width: 56px;
  height: 40px;
  border: 0;
  text-align: center;
  outline: 0;
}
.collection-product-item-link { display: block; height: 100%; position: relative; }
.cd-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.cd-section { padding: 20px 0 40px; }
.cd-section__title {
  font-size: var(--title_font_size);
  font-weight: 500;
  line-height: 30px;
  text-align: center;
  margin-bottom: 24px;
}
.cd-section__title--left { text-align: left; }
.cd-section__sub {
  text-align: center;
  font-size: 16px;
  margin: -12px 0 28px;
  color: var(--title_color);
}
.cd-section__more { display: flex; justify-content: center; margin-top: 28px; }
.cd-container {
  width: min(100% - 32px, var(--general_layout_width));
  margin-inline: auto;
}
.cd-spacer { height: var(--h, 30px); }
.cd-why__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.cd-why__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 16px;
  border-radius: 9px;
}
.cd-why__icon {
  width: 80px;
  height: 80px;
  border-radius: 12px;
  background: var(--bg, var(--icon-tile-bg));
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  font-size: 28px;
}
.cd-why__title { font-size: 22px; font-weight: 500; margin-bottom: 18px; }
.cd-why__item p { margin: 0; font-size: 13.5px; line-height: 21px; opacity: .8; }
.cd-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.cd-mid-banner { position: relative; overflow: hidden; }
.cd-mid-banner__pc {
  width: 100%;
  height: 600px;
  object-fit: cover;
}
.cd-mid-banner__mobile { display: none; width: 100%; height: 70vh; object-fit: cover; }
.cd-warehouse-cta { /* alias */ }
.cd-warehouse-cta__content h2 { color: #fff; }
.cd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  border-radius: var(--button_border_radius);
  border: 1px solid transparent;
  cursor: pointer;
  font-size: 16px;
}
.cd-btn--secondary {
  background: var(--secondary_button_bg);
  color: var(--secondary_button_color);
  border-color: var(--secondary_button_color);
}
.cd-btn--outline {
  background: #fff;
  color: rgb(44,103,106);
  border: 1px solid rgb(44,103,106);
}
.cd-btn--light {
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
  padding: 8px 12px;
  min-height: auto;
}
.cd-single__actions.product-actions,
.cd-single__actions,
.product-actions.product_view_actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: min(277.5px, 100%);
  margin: 20px 0 24px;
  grid-template-columns: none;
}
.cd-single__actions .secondary_btn,
.cd-single__actions .main_btn,
.product-actions.product_view_actions .secondary_btn,
.product-actions.product_view_actions .main_btn {
  width: 100%;
  height: 48px;
  min-height: 48px;
  line-height: 48px;
  padding: 0 20px;
}

/* HTML collection_detail_default shop shell */
.collection_detail_default .title,
.collection_detail_default .cd-page-title {
  font-size: var(--title_font_size, 30px);
  font-weight: 500;
  line-height: 1.2;
  margin: 12px 0 20px;
  text-align: left;
}
.collection_detail_default .collection_top_bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding-bottom: 20px;
}
.collection_detail_default .product_num {
  font-size: 14px;
  color: #666;
}
.collection_detail_default .sort_by {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.collection_detail_default .sort_by select,
.collection_detail_default #sort_by_select {
  height: 40px;
  border: 1px solid #d4d4d4;
  border-radius: 6px;
  padding: 0 12px;
  background: #fff;
  cursor: pointer;
}
.collection_detail_default .cd-archive-apply.main_btn {
  min-height: 40px;
  height: 40px;
  line-height: 40px;
  padding: 0 18px;
  font-size: 13px;
}
.collection_detail_default .cd-archive-clear.secondary_btn {
  min-height: 40px;
  height: 40px;
  line-height: 40px;
  padding: 0 14px;
  font-size: 13px;
  background: #fff;
}

/* PDP moi-product-option from HTML */
.moi-product-option { margin-top: 8px; }
.moi-product-sku-label { margin-bottom: 0; }
.product-sku-values-item {
  user-select: none;
}
.product_price[hidden],
.general-oldprice[hidden],
.product-price-market[hidden],
.product-price-discount[hidden] {
  display: none !important;
}

.block_footer .footer_input .public_btn,
.block_footer .footer_input .submit_box {
  background: #fff !important;
  color: #2c676a !important;
}

.mo-editor-reset img,
.mo-editor-reset video {
  max-width: 100%;
  height: auto;
}
.cd-single__thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.cd-single__thumbs img {
  width: 72px;
  height: 72px;
  border-radius: 6px;
  cursor: pointer;
  border: 2px solid transparent;
  object-fit: cover;
}
.cd-single__thumbs img.is-active { border-color: #121b17; }
.cd-pay-icons { display: flex; gap: 10px; margin-top: 10px; }
.cd-pay-icons img { height: 24px; width: auto; }
.cd-safe-checkout { margin-top: 20px; font-size: 13px; color: #666; }
.cd-option { /* alias of sku chip */ }
@media (max-width: 1024px) {
  .cd-why__grid,
  .cd-product-grid { grid-template-columns: repeat(2, 1fr); }
  .cd-reviews-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .cd-mid-banner__pc { display: none; }
  .cd-mid-banner__mobile { display: block; }
  .cd-quick-view__grid { grid-template-columns: 1fr; }
  .cd-single__actions { grid-template-columns: 1fr; }
  .cd-single__thumbs img { width: 46px; height: 46px; }
  .cd-why__grid { grid-template-columns: repeat(2, 1fr); }
}
