/* ============================================
   PaletteMomento - Shared Design System
   Wabi-Sabi E-Commerce Aesthetic
   ============================================ */

/* ===== CSS Variables ===== */
:root {
  --bg-primary: #fafaf8;
  --bg-white: #ffffff;
  --bg-warm: #f5f0ea;
  --text-primary: #1a1a1a;
  --text-secondary: #5c5c5c;
  --text-muted: #9a9a9a;
  --border-light: #e8e8e4;
  --border-medium: #d4d4d0;
  --accent-warm: #b8956a;
  --accent-earth: #8b7355;
  --accent-terracotta: #c17b5c;
  --accent-sage: #9cac8a;
  --accent-dark: #1c1b18;        /* 璋冭繎榛�:鏍囬/footer/nav 鏇�"娌�",瀵规瘮鏇村己 */
  --accent-cta: #c0552b;         /* 鏂板:涓绘寜閽殩璧,鍛煎簲鐢讳綔鏆栬壊,鍝佺墝杈ㄨ瘑搴� */
  --accent-cta-dk: #a8481f;      /* 涓绘寜閽� hover */
  --accent-sale: #c44536;
  --font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Fraunces', Georgia, serif;  /* 姝ｆ枃鎹㈡棤琛嚎 */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.06);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.08);
  --shadow-xl: 0 20px 60px rgba(0,0,0,0.1);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --max-width: 1400px;
}

/* ===== Reset & Base ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--font-body);
  background: var(--bg-primary);
  color: var(--text-primary);
  line-height: 1.7;
  font-size: 1.08rem;
  font-weight: 400;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
ul { list-style: none; }
.container { max-width: var(--max-width); margin: 0 auto; padding: 0 40px; }

/* ===== Typography ===== */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 600;            /* 400鈫�600:Cormorant 鍔犻噸鎵嶆湁鍒嗛噺,涓嶅啀鍙戦 */
  line-height: 1.25;
  letter-spacing: 0.01em;
}
h1 { font-size: 2.8rem; }      /* 鏀惧ぇ */
h2 { font-size: 2rem; margin-bottom: 20px; font-weight: 500; }
h3 { font-size: 1.4rem; font-weight: 500; }
p { margin-bottom: 16px; }

/* ===== Buttons ===== */
.btn-dark {
  display: inline-block;
  padding: 14px 32px;
  background: var(--accent-dark);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all var(--transition);
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
}
.btn-dark:hover { background: var(--accent-earth); color: #fff; }
.btn-outline {
  display: inline-block;
  padding: 13px 30px;
  border: 1.5px solid var(--accent-dark);
  color: var(--accent-dark);
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: transparent;
  transition: all var(--transition);
  cursor: pointer;
  font-family: var(--font-body);
}
.btn-outline:hover { background: var(--accent-dark); color: #fff; }

/* ===== Announcement Bar ===== */
.announcement-bar {
  background: var(--accent-dark);
  color: #fff;
  text-align: center;
  padding: 11px 20px;
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.announcement-bar .sale-text { font-weight: 500; }

/* ===== Top Bar ===== */
.top-bar {
  background: var(--bg-white);
  border-bottom: 1px solid var(--border-light);
  padding: 8px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  letter-spacing: 0.03em;
  color: var(--text-secondary);
}
.top-bar .social-icons { display: flex; gap: 14px; }
.top-bar .social-icons a { color: var(--text-muted); transition: color var(--transition); font-size: 0.72rem; letter-spacing: 0.05em; }
.top-bar .social-icons a:hover { color: var(--accent-cta); }
.top-bar .info-links { display: flex; gap: 20px; align-items: center; }
.top-bar .info-links span { color: var(--text-secondary); }

/* ===== Navigation ===== */
.main-nav {
  background: var(--bg-white);
  border-bottom: 1px solid var(--border-light);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow var(--transition);
}
.main-nav.scrolled { box-shadow: var(--shadow-md); }
.nav-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
}
.logo {
  font-family: var(--font-heading);
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 3px;
  color: var(--accent-dark);
  padding: 8px 0;
  line-height: 0;
}
.logo .logo-img {
  display: block;
  height: 50px;
  width: auto;
  max-width: 100%;
}
@media (max-width: 600px) {
  .logo .logo-img { height: 38px; }
}

/* ===== Primary nav dropdowns (v7 menu) ===== */
.nav-links li { position: relative; }
.nav-links .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  box-shadow: var(--shadow-md);
  border-radius: var(--radius-sm);
  padding: 8px 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  z-index: 1001;
}
.nav-links li:hover > .sub-menu,
.nav-links li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-links .sub-menu li { display: block; }
.nav-links .sub-menu a {
  display: block;
  padding: 8px 18px;
  font-family: var(--font-heading);
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--text-primary);
  white-space: nowrap;
}
.nav-links .sub-menu a:hover {
  background: var(--bg-warm);
  color: var(--accent-cta);
}
.nav-links .menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  margin-left: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  opacity: .5;
}

/* ===== Mobile nav (hamburger) ===== */
.nav-actions .nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px; height: 40px;
  background: none; border: 0; cursor: pointer; padding: 8px;
}
.nav-toggle span {
  display: block; width: 22px; height: 2px;
  background: var(--text-primary); border-radius: 2px;
  transition: transform .25s ease, opacity .2s ease;
}
.main-nav.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.main-nav.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
.main-nav.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 768px) {
  .nav-actions .nav-toggle { display: inline-flex; }

  /* slide-down panel when open (overrides the .nav-links{display:none} mobile rule) */
  .main-nav.nav-open .nav-links {
    display: flex;
    flex-direction: column;
    position: absolute;
    left: 0; right: 0; top: 100%;
    background: var(--bg-white);
    border-top: 1px solid var(--border-light);
    box-shadow: var(--shadow-lg);
    padding: 6px 0;
    gap: 0;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    z-index: 1002;
  }
  .main-nav.nav-open .nav-links > li {
    width: 100%;
    border-bottom: 1px solid var(--border-light);
  }
  .main-nav.nav-open .nav-links > li:last-child { border-bottom: 0; }
  .main-nav.nav-open .nav-links > li > a {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 22px; font-size: 1.05rem;
  }

  /* mobile submenu = accordion (tap parent to expand) */
  .main-nav.nav-open .nav-links .sub-menu {
    position: static;
    opacity: 1; visibility: visible; transform: none;
    display: none;
    box-shadow: none; border: 0; border-radius: 0;
    min-width: 0; padding: 0 0 6px;
    background: var(--bg-warm);
  }
  .main-nav.nav-open .nav-links li.open > .sub-menu { display: block; }
  .main-nav.nav-open .nav-links .sub-menu a { padding: 11px 34px; font-size: .98rem; }
  .main-nav.nav-open .nav-links li.open > a::after { transform: translateY(1px) rotate(-135deg); }
}
.nav-links { display: flex; gap: 8px; }
.nav-links li { position: relative; }
.nav-links > li > a {
  display: block;
  padding: 20px 14px;
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--text-primary);
  transition: color var(--transition);
  white-space: nowrap;
}
.nav-links > li > a:hover { color: var(--accent-warm); }
.nav-actions { display: flex; gap: 18px; align-items: center; }
.nav-actions button, .nav-actions .icon-link {
  color: var(--text-primary);
  transition: color var(--transition);
  padding: 4px;
  position: relative;
  display: inline-flex;
  align-items: center;
}
.nav-actions svg {
  width: 21px;
  height: 21px;
  display: block;
}
.nav-actions button:hover, .nav-actions .icon-link:hover { color: var(--accent-cta); }
.cart-count {
  position: absolute;
  top: -4px;
  right: -8px;
  background: var(--accent-sale);
  color: #fff;
  font-size: 0.65rem;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
}

/* ===== Mega Menu ===== */
.mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  box-shadow: var(--shadow-lg);
  padding: 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  min-width: 640px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all var(--transition);
  z-index: 999;
}
.nav-links li:hover .mega-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.mega-menu h4 {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  margin-bottom: 12px;
}
.mega-menu a {
  display: block;
  padding: 4px 0;
  font-size: 0.85rem;
  color: var(--text-primary);
  transition: color var(--transition);
}
.mega-menu a:hover { color: var(--accent-warm); }

/* ===== Page Header ===== */
.page-header {
  background: var(--bg-warm);
  padding: 48px 40px;
  text-align: center;
}
.page-header h1 { margin-bottom: 8px; }
.breadcrumb { font-size: 0.85rem; color: var(--text-muted); }
.breadcrumb a { color: var(--text-muted); transition: color var(--transition); }
.breadcrumb a:hover { color: var(--accent-warm); }
.breadcrumb span { margin: 0 6px; }

/* ===== Content Section ===== */
.content-section {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 40px;
}
.content-section ul { margin-bottom: 24px; padding-left: 20px; }
.content-section ul li {
  list-style: disc;
  margin-bottom: 12px;
  line-height: 1.8;
  color: var(--text-secondary);
}

/* ===== Product Grid ===== */
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 32px;
  padding: 40px 0;
}
.product-card {
  display: block;
  transition: transform var(--transition);
}
.product-card:hover { transform: translateY(-4px); }
.product-card .img-wrap {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 16px;
  background: var(--bg-warm);
}
.product-card .art-bg {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
}
.product-card .badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--accent-sale);
  color: #fff;
  padding: 4px 10px;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 2px;
}
.product-card .quick-add {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(44, 36, 22, 0.85);
  color: #fff;
  text-align: center;
  padding: 12px;
  font-size: 0.85rem;
  opacity: 0;
  transform: translateY(100%);
  transition: all var(--transition);
}
.product-card:hover .quick-add { opacity: 1; transform: translateY(0); }
.card-info h4 {
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 500;
  margin-bottom: 4px;
}
.card-info .price { font-size: 1rem; font-weight: 600; }
.card-info .price .original {
  text-decoration: line-through;
  color: var(--text-muted);
  font-weight: 400;
  font-size: 0.9rem;
  margin-left: 8px;
}

/* ===== Tab Filters ===== */
.tab-filters {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  padding: 24px 0;
  border-bottom: 1px solid var(--border-light);
}
.tab-filters a {
  padding: 8px 20px;
  font-size: 0.85rem;
  border-radius: 20px;
  transition: all var(--transition);
  color: var(--text-secondary);
}
.tab-filters a:hover { color: var(--accent-warm); background: var(--bg-warm); }
.tab-filters a.active { background: var(--accent-dark); color: #fff; }

/* ===== Pagination ===== */
.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 40px 0;
}
.pagination a, .pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--border-medium);
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  transition: all var(--transition);
}
.pagination a:hover { border-color: var(--accent-warm); color: var(--accent-warm); }
.pagination .current { background: var(--accent-dark); color: #fff; border-color: var(--accent-dark); }

/* ===== Breadcrumb Bar ===== */
.breadcrumb-bar {
  background: var(--bg-white);
  border-bottom: 1px solid var(--border-light);
  padding: 14px 0;
  font-family: var(--font-body);
  font-size: 0.85rem;
  letter-spacing: 0.01em;
  color: var(--text-muted);
}
.breadcrumb-bar a { color: var(--text-muted); transition: color var(--transition); }
.breadcrumb-bar a:hover { color: var(--accent-cta); }
.breadcrumb-bar span { margin: 0 6px; }
.breadcrumb-bar span:last-child { color: var(--text-primary); }

/* ===== Product Detail ===== */
.product-detail {
  display: grid;
  grid-template-columns: 55fr 45fr;
  gap: 60px;
  padding: 48px 0 60px;
  align-items: start;
}

/* Gallery */
.product-gallery { position: sticky; top: 120px; }
.gallery-main {
  aspect-ratio: 1;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--bg-warm);
  margin-bottom: 16px;
  position: relative;
}
.gallery-main.placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-size: 1rem;
}
.gallery-main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s;
}
.gallery-thumbs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.thumb-item {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color var(--transition);
  background: var(--bg-warm);
}
.thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.thumb-item:hover,
.thumb-item.active { border-color: var(--accent-warm); }

/* Product Info */
.product-title {
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
  color: var(--text-primary);
  font-feature-settings: "lnum" 1, "tnum" 1;
  font-variant-numeric: lining-nums;
}
.artist-tag {
  display: inline-block;
  font-size: 0.82rem;
  color: var(--accent-warm);
  font-weight: 500;
  margin-bottom: 8px;
  transition: color var(--transition);
}
.artist-tag:hover { color: var(--accent-earth); }

/* Rating Row */
.rating-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.rating-row .star-rating { color: var(--accent-warm); font-size: 0.9rem; }
.rating-row .review-count { color: var(--text-muted); font-size: 0.85rem; }
.stars-placeholder { color: var(--accent-warm); font-size: 0.9rem; }
.stars-placeholder .star { margin-right: 2px; }
.sold-hint {
  color: var(--accent-sale);
  font-size: 0.8rem;
  font-weight: 500;
  margin-left: auto;
}

/* Price */
.price-row {
  margin-bottom: 24px;
  font-family: var(--font-body);     /* Inter,鏁板瓧鏇村埄钀� */
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}
.price-row del {
  color: var(--text-muted);
  font-weight: 400;
  font-size: 1.05rem;
  margin-left: 10px;
}
.price-row ins {
  text-decoration: none;
  color: var(--text-primary);        /* 鍞环鐢ㄦ繁鑹�,涓嶇敤鍒虹溂鐨勭孩 */
}
/* 褰� JS 鎶婂彉浣� price_html 娉ㄥ叆姝ゅ鏃�,鍐呴儴 .price 瀹瑰櫒瀛楀彿涓庢湰琛屼竴鑷� */
.price-row .price,
.price-row .woocommerce-Price-amount {
  font-family: var(--font-body);
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.price-row .price del .woocommerce-Price-amount {
  color: var(--text-muted);
  font-size: 1.05rem;
  font-weight: 400;
}

/* ===== Variant Section (WooCommerce Defaults Styled) ===== */
.variant-section {
  margin-bottom: 24px;
}
.variant-section .variations {
  border: none;
  border-collapse: collapse;
  margin-bottom: 0;
  width: 100%;
}
.variant-section .variations tbody {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.variant-section .variations tr {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* 鏍囩闈犲乏:鍛戒腑 Woo 瀹為檯鐨� th.label 鍜屽畠鍐呴儴鐨� label */
.variant-section .variations th,
.variant-section .variations td {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0;
}
.variant-section .variations th.label,
.variant-section .variations .label,
.variant-section .variations .label label {
  display: block;
  text-align: left;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-secondary);
  margin: 0;
}
.variant-section .variations select {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid var(--border-medium);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 0.95rem;
  background: var(--bg-white);
  color: var(--text-primary);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239a9a9a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
  transition: border-color var(--transition);
}
.variant-section .variations select:focus {
  outline: none;
  border-color: var(--accent-dark);
}
/* Radio-style frame options (WooCommerce renders these as select, we can't change without JS) */

/* 閫変腑鍙樹綋鍚� Woo 鏄剧ず鐨勫崟鍙樹綋浠锋牸妗� 鈥斺€� 鏀惧ぇ銆佸姞閲�,浣滀负涓讳环鏍煎憟鐜� */
.variant-section .single_variation_wrap {
  margin-top: 18px;
}
.variant-section .woocommerce-variation-price {
  margin-bottom: 4px;
}
.variant-section .woocommerce-variation-price .price {
  font-family: var(--font-body);
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}
.variant-section .woocommerce-variation-price .price del {
  color: var(--text-muted);
  font-weight: 400;
  font-size: 1.05rem;
  margin-right: 10px;
  opacity: 1;
}
.variant-section .woocommerce-variation-price .price ins {
  text-decoration: none;
  color: var(--text-primary);
}
.variant-section .woocommerce-variation-availability {
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: var(--text-secondary);
}

/* Clear 閾炬帴 鈥斺€� 缂╁皬鎴愪笉璧风溂鐨勬瑕佹枃瀛� */
.variant-section .reset_variations {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.78rem;
  color: var(--text-muted);
  text-decoration: underline;
  margin-top: 8px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
}
.variant-section .reset_variations:hover { color: var(--accent-cta); }

/* Quantity & Add to Cart */
.variant-section .quantity {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--border-medium);
  border-radius: var(--radius-sm);
  overflow: hidden;
  width: fit-content;
}
.variant-section .quantity input {
  width: 50px;
  padding: 12px 0;
  text-align: center;
  border: none;
  font-size: 0.95rem;
  font-family: var(--font-body);
  background: var(--bg-white);
}
.variant-section .quantity .qty-btn {
  padding: 12px 14px;
  font-size: 1rem;
  color: var(--text-secondary);
  cursor: pointer;
  background: none;
  border: none;
  transition: color var(--transition);
}
.variant-section .quantity .qty-btn:hover { color: var(--accent-dark); }

/* Single Add to Cart Button */
.single_add_to_cart_button {
  width: 100%;
  padding: 17px 32px;
  background: var(--accent-cta);       /* 鏆栬淡姗�,鍛煎簲鐢讳綔,鍝佺墝涓绘寜閽� */
  color: #fff;
  font-size: 0.92rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: all var(--transition);
  margin-top: 20px;
  font-family: var(--font-body);
}
.single_add_to_cart_button:hover { background: var(--accent-cta-dk); }
.single_add_to_cart_button.disabled,
.single_add_to_cart_button:disabled {
  background: var(--accent-cta);
  opacity: 0.65;                       /* 鏈€夎鏍兼椂:浠� 0.5 鎻愬埌 0.65,涓嶅啀鍍忔鐏� */
  cursor: not-allowed;
}

/* ===== Trust Badges ===== */
.trust-badges {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--border-light);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.trust-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.trust-icon { font-size: 1.2rem; flex-shrink: 0; margin-top: 2px; }
.trust-item strong {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
}
.trust-item p {
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-bottom: 0;
  line-height: 1.4;
}

/* ===== Payment Icons Row ===== */
.payment-icons-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
}
.payment-icons-row span {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-muted);
  padding: 4px 8px;
  border: 1px solid var(--border-light);
  border-radius: 2px;
  background: var(--bg-white);
}
.secure-text {
  font-size: 0.78rem;
  color: var(--text-muted);
  margin-top: 8px;
}

/* ===== Share Row ===== */
.share-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  font-size: 0.85rem;
  color: var(--text-muted);
}
.share-row a {
  color: var(--text-muted);
  font-weight: 500;
  transition: color var(--transition);
}
.share-row a:hover { color: var(--accent-warm); }

/* ===== Product Info List (Apple-style flat layout) ===== */
.product-info-list {
  background: var(--bg-white);
  border-top: 1px solid var(--border-light);
  padding: 60px 0;
}
.info-list-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
.info-card {
  padding: 0;
}
.info-card h4 {
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 14px;
  color: var(--text-primary);
}
.info-card ul {
  list-style: none;
  padding: 0;
}
.info-card ul li {
  position: relative;
  padding: 6px 0 6px 18px;
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.6;
}
.info-card ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 13px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-warm);
}

/* ===== Collection / Archive Page ===== */
.collection-header {
  padding: 48px 0 24px;
  text-align: center;
}
.collection-header h1 {
  font-size: 2.2rem;
  margin-bottom: 12px;
}
.collection-header p {
  color: var(--text-secondary);
  max-width: 700px;
  margin: 0 auto;
  font-size: 0.95rem;
  line-height: 1.7;
}
.collection-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--border-light);
  flex-wrap: wrap;
  gap: 12px;
}
.collection-toolbar .product-count {
  font-size: 0.85rem;
  color: var(--text-muted);
}
.collection-toolbar .woocommerce-ordering select {
  padding: 8px 14px;
  border: 1.5px solid var(--border-medium);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 0.85rem;
  background: var(--bg-white);
  cursor: pointer;
}
.collection-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  padding: 32px 0;
}
.filter-sidebar { }
.filter-block {
  margin-bottom: 24px;
}
.filter-block h4 {
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-secondary);
  margin-bottom: 10px;
}
.filter-block ul {
  list-style: none;
  padding: 0;
}
.filter-block ul li {
  padding: 4px 0;
}
.filter-block ul li a {
  font-size: 0.85rem;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 6px;
  transition: color var(--transition);
}
.filter-block ul li a:hover { color: var(--accent-warm); }
.filter-block ul li a .count {
  color: var(--text-muted);
  font-size: 0.78rem;
}
.filter-block ul li a.active {
  color: var(--accent-dark);
  font-weight: 600;
}
.color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.color-swatch {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid var(--border-medium);
  cursor: pointer;
  transition: all var(--transition);
}
.color-swatch:hover {
  border-color: var(--accent-dark);
  transform: scale(1.15);
}
.clear-filters {
  font-size: 0.82rem;
  color: var(--accent-sale);
  cursor: pointer;
  display: inline-block;
  margin-top: 8px;
}
.clear-filters:hover { text-decoration: underline; }

.collection-products .product-grid {
  padding-top: 0;
}
.collection-products .pagination {
  padding: 20px 0 40px;
}

/* ===== Related Products ===== */
.related-products {
  padding: 60px 0;
}
.section-title {
  text-align: center;
  margin-bottom: 32px;
  font-size: 1.6rem;
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .product-detail { grid-template-columns: 1fr; gap: 40px; }
  .product-gallery { position: static; }
  .info-list-grid { grid-template-columns: 1fr; gap: 30px; }
  .collection-layout { grid-template-columns: 1fr; }
  .filter-sidebar { display: none; }
}
@media (max-width: 768px) {
  .container { padding: 0 20px; }
  .top-bar { padding: 6px 20px; }
  .nav-links { display: none; }
  .product-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
  .footer-grid { grid-template-columns: 1fr; }
  .content-section { padding: 40px 20px; }
  .product-title { font-size: 1.5rem; }
  .price-row { font-size: 1.3rem; }
}

/* ===== Footer ===== */
.footer {
  background: var(--accent-dark);
  color: #ccc;
  padding: 60px 0 30px;
  margin-top: 60px;
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
.footer-col h4 {
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  margin-bottom: 16px;
}
.footer-col a {
  display: block;
  padding: 4px 0;
  font-size: 0.85rem;
  color: #aaa;
  transition: color var(--transition);
}
.footer-col a:hover { color: var(--accent-warm); }
.footer-col p { font-size: 0.85rem; color: #aaa; margin-bottom: 4px; }
.newsletter-input { display: flex; margin-top: 12px; }
.newsletter-input input {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid #555;
  background: transparent;
  color: #fff;
  font-family: var(--font-body);
  font-size: 0.85rem;
  border-right: none;
}
.newsletter-input button {
  padding: 10px 20px;
  background: var(--accent-warm);
  color: #fff;
  font-size: 0.85rem;
  border: none;
  cursor: pointer;
  transition: background var(--transition);
}
.newsletter-input button:hover { background: var(--accent-earth); }
.footer-bottom {
  border-top: 1px solid #444;
  margin-top: 40px;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  color: #888;
  flex-wrap: wrap;
  gap: 12px;
}
.payment-icons { display: flex; gap: 12px; }

/* ===== Search Overlay ===== */
.search-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.6);
  z-index: 2000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 120px;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition);
}
.search-overlay.open { opacity: 1; visibility: visible; }
.search-box {
  background: var(--bg-white);
  border-radius: var(--radius-md);
  width: 600px;
  max-width: 90vw;
  overflow: hidden;
  box-shadow: var(--shadow-xl);
}
.search-box input {
  width: 100%;
  padding: 20px 24px;
  border: none;
  font-size: 1.1rem;
  font-family: var(--font-body);
  outline: none;
}
.search-results a {
  display: flex;
  justify-content: space-between;
  padding: 12px 24px;
  border-top: 1px solid var(--border-light);
  font-size: 0.9rem;
  transition: background var(--transition);
}
.search-results a:hover { background: var(--bg-warm); }

/* ===== Cart Drawer ===== */
.cart-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4);
  z-index: 2000;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition);
}
.cart-overlay.open { opacity: 1; visibility: visible; }
.cart-drawer {
  position: fixed;
  top: 0; right: 0;
  width: 420px;
  max-width: 100vw;
  height: 100vh;
  background: var(--bg-white);
  box-shadow: var(--shadow-xl);
  z-index: 2001;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform var(--transition);
}
.cart-drawer.open { transform: translateX(0); }
.cart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-light);
}
.cart-header h3 { font-family: var(--font-body); font-size: 1.1rem; }
.close-btn { font-size: 1.5rem; color: var(--text-muted); padding: 4px; }
.cart-body {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}
.cart-body .empty-icon { font-size: 3rem; text-align: center; margin: 40px 0 16px; }
.cart-body .empty-text { text-align: center; color: var(--text-muted); margin-bottom: 24px; }
.cart-item {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--border-light);
}
.cart-item .item-thumb { width: 80px; height: 80px; border-radius: var(--radius-sm); }
.cart-item .item-info { flex: 1; }
.cart-item .item-info h4 { font-family: var(--font-body); font-size: 0.9rem; margin-bottom: 4px; }
.cart-item .item-price { color: var(--text-secondary); font-size: 0.85rem; }
.cart-item .remove-btn { color: var(--text-muted); font-size: 1.1rem; }
.cart-footer { padding: 20px 24px; border-top: 1px solid var(--border-light); }
.cart-footer .total { display: flex; justify-content: space-between; font-size: 1.1rem; font-weight: 600; margin-bottom: 16px; }
.checkout-btn {
  display: block;
  width: 100%;
  padding: 14px;
  background: var(--accent-dark);
  color: #fff;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 500;
  border-radius: 2px;
  transition: background var(--transition);
}
.checkout-btn:hover { background: var(--accent-earth); color: #fff; }

/* ===== Contact Form ===== */
.contact-form {
  max-width: 600px;
  margin: 40px auto;
}
.contact-form .form-group { margin-bottom: 20px; }
.contact-form label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 6px; }
.contact-form input, .contact-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--border-medium);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 1rem;
  transition: border-color var(--transition);
}
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--accent-warm); }
.contact-form textarea { min-height: 150px; resize: vertical; }

/* ===== FAQ ===== */
.faq-item { border-bottom: 1px solid var(--border-light); padding: 20px 0; }
.faq-item h3 { font-family: var(--font-body); font-size: 1.05rem; font-weight: 600; margin-bottom: 8px; }
.faq-item p { color: var(--text-secondary); margin-bottom: 0; }

/* ===== Reviews ===== */
.review-card {
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 24px;
  margin-bottom: 20px;
}
.review-card .review-header { display: flex; justify-content: space-between; margin-bottom: 12px; }
.review-card .reviewer { font-weight: 600; }
.review-card .stars { color: var(--accent-warm); }
.review-card .review-date { font-size: 0.8rem; color: var(--text-muted); }
.review-card p { color: var(--text-secondary); margin-bottom: 0; }

/* ===== Login Page ===== */
.login-section {
  max-width: 440px;
  margin: 60px auto;
  padding: 40px;
  background: var(--bg-white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
}
.login-section h2 { text-align: center; margin-bottom: 8px; }
.login-section .subtitle { text-align: center; color: var(--text-muted); margin-bottom: 32px; }
.login-section .form-group { margin-bottom: 16px; }
.login-section label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 6px; }
.login-section input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--border-medium);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 1rem;
}
.login-section .btn-dark { width: 100%; text-align: center; }
.login-section .alt-link { text-align: center; margin-top: 20px; font-size: 0.85rem; color: var(--text-muted); }
.login-section .alt-link a { color: var(--accent-warm); text-decoration: underline; }

/* ============================================================
   浜у搧椤垫柊澧炴澘鍧�: 浜ゆ浛鍥炬枃 / 闀挎弿杩� / 璇勮
   ============================================================ */

/* --- 鏉垮潡1: 浜ゆ浛鐗硅壊鍥炬枃鍧� --- */
.feature-block-wrap{padding:48px 0}
.container .feature-block,.feature-block{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:48px;align-items:center}
.container .feature-block.reverse{flex-direction:row-reverse !important}
.feature-block .feature-media{flex:1 1 50% !important;width:50% !important;max-width:50% !important;aspect-ratio:4/3;overflow:hidden;background:var(--bg-warm);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}
.feature-block .feature-text{flex:1 1 50% !important;width:50% !important;max-width:50% !important;padding:0 16px;box-sizing:border-box}
.feature-media .feature-img{width:100%;height:100%;object-fit:cover;display:block}
.feature-media .ph{font-size:3rem;color:var(--accent-warm)}
.feature-text .eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-warm);margin-bottom:16px}
.feature-text h3{font-family:var(--font-heading);font-size:2rem;font-weight:400;margin-bottom:18px;line-height:1.2}
.feature-text .ft-body{color:var(--text-secondary);margin-bottom:24px;font-size:1rem;line-height:1.7}
.feature-text .ft-body p{margin-bottom:12px}
.feature-text .btn-dark{display:inline-block;background:var(--accent-dark);color:#fff;padding:14px 32px;text-decoration:none;font-size:.85rem;letter-spacing:.05em;border-radius:var(--radius-sm);transition:var(--transition)}
.feature-text .btn-dark:hover{background:var(--accent-earth)}

/* --- 鏉垮潡3: 浜у搧闀挎弿杩� SEO 鍖� --- */
.product-longdesc{padding:72px 0;background:var(--bg-white);border-top:1px solid var(--border-light)}
.product-longdesc > .container{max-width:var(--max-width) !important;width:100% !important;margin:0 auto !important;padding:0 40px !important;box-sizing:border-box}
.longdesc-inner{max-width:none !important;width:100% !important;margin:0 !important}
.longdesc-content{max-width:none !important;width:100% !important}
.longdesc-inner .section-title{margin-bottom:24px}
.longdesc-content h2,.longdesc-content h3{font-family:var(--font-heading);font-weight:400;margin:32px 0 14px}
.longdesc-content h3{font-size:1.5rem}
.longdesc-content p{font-family:var(--font-heading);color:var(--text-primary);font-size:1.2rem;line-height:1.75;margin-bottom:20px;max-width:none}
.longdesc-content ul,.longdesc-content ol{font-family:var(--font-heading);color:var(--text-primary);font-size:1.2rem;line-height:1.75;margin:0 0 20px 1.2em;max-width:none}

/* --- 鏉垮潡2: 璇勮 --- */
.reviews-section{padding:72px 0;background:var(--bg-primary)}
.reviews-section > .container{max-width:var(--max-width) !important;width:100% !important;margin:0 auto !important;padding:0 40px !important;box-sizing:border-box}
.woo-reviews{max-width:none !important;width:100% !important;margin:32px 0 0 !important}
/* CusRev (Customer Reviews for WooCommerce) 瀹瑰櫒 鈥� 绮惧噯瑕嗙洊 */
.cr-reviews-ajax-reviews{max-width:none !important;width:100% !important;margin:0 !important}
.cr-reviews-ajax-comments,
#comments.cr-reviews-ajax-comments{max-width:none !important;width:100% !important}
/* 璇勮琛ㄥ崟鐧芥:宸﹀榻�,闄愬埗閫備腑瀹藉害(琛ㄥ崟涓嶅疁鎷夋弧) */
.cr-ajax-reviews-review-form{max-width:760px !important;width:100% !important;margin:0 !important;float:none !important}
.cr-ajax-reviews-review-form #review_form_wrapper{max-width:100% !important;width:100% !important}
.reviews-summary{display:flex;align-items:center;justify-content:center;gap:40px;margin-bottom:48px;flex-wrap:wrap}
.reviews-score{text-align:center}
.reviews-score .num{font-family:var(--font-heading);font-size:3.5rem;line-height:1}
.reviews-score .stars{color:var(--accent-warm);font-size:1.1rem}
.reviews-score .count{color:var(--text-muted);font-size:.85rem;margin-top:4px}
.reviews-empty{text-align:center;color:var(--text-muted)}
.reviews-empty .stars-placeholder{color:var(--accent-warm);font-size:1.3rem;margin-bottom:8px}
.woo-reviews{max-width:none;margin:32px 0 0}
.section-sub{text-align:center;color:var(--text-muted);margin-bottom:40px;font-size:.95rem}
/* reviews 鍖烘爣棰樺乏瀵归綈,鍜岄〉闈㈠叾浠栨澘鍧楃粺涓€ */
.reviews-section .section-title{text-align:left;font-family:var(--font-heading);font-size:2rem;font-weight:600;margin-bottom:24px}

@media(max-width:768px){
  .container .feature-block,.feature-block{flex-direction:column !important;gap:24px;padding:32px 20px}
  .container .feature-block.reverse{flex-direction:column !important}
  .feature-block .feature-media,.feature-block .feature-text{width:100% !important;max-width:100% !important;flex:1 1 100% !important}
  .feature-text{padding:0}
  .product-longdesc{padding:48px 0}
  .reviews-section{padding:48px 0}
}

/* ============================================================
   璇勮琛ㄥ崟缇庡寲 (WooCommerce review form) 鈥� 閫氱敤閫夋嫨鍣ㄧ増
   ============================================================ */
.woo-reviews{max-width:none;margin:24px 0 0;text-align:left}
.woo-reviews #reviews #comments > h2,
.woo-reviews #reviews h2{font-family:var(--font-heading);font-weight:400;font-size:1.6rem;margin-bottom:20px}
.woo-reviews ol.commentlist,
.woo-reviews .commentlist{list-style:none;margin:0 0 32px;padding:0}
.woo-reviews .commentlist li.review,
.woo-reviews .commentlist li.comment,
.woo-reviews .commentlist > li{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:24px;margin-bottom:16px;box-shadow:var(--shadow-sm);list-style:none}
.woo-reviews .comment-text{margin-left:0}
.woo-reviews .meta{font-size:.85rem;color:var(--text-muted);margin-bottom:8px}
.woo-reviews .meta strong{color:var(--text-primary)}
.woo-reviews .description p{color:var(--text-secondary)}

/* 璇勫垎鏄� */
.woo-reviews p.stars a{color:var(--accent-warm)}
.woo-reviews p.stars a::before{color:var(--border-medium)}
.woo-reviews p.stars.selected a.active::before,
.woo-reviews p.stars a:hover::before,
.woo-reviews p.stars:hover a::before{color:var(--accent-warm)}
.woo-reviews .star-rating span{color:var(--accent-warm)}

/* 琛ㄥ崟鏁翠綋鍗＄墖 */
.woo-reviews #review_form_wrapper,
.woo-reviews #respond{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:32px;margin-top:24px;max-width:720px}
.woo-reviews #reply-title,
.woo-reviews #respond .comment-reply-title{font-family:var(--font-heading);font-weight:400;font-size:1.5rem;display:block;margin-bottom:6px}
.woo-reviews .comment-notes{color:var(--text-muted);font-size:.85rem;margin-bottom:20px}

/* 鎵€鏈� label */
.woo-reviews #respond label,
.woo-reviews .comment-form label{display:block;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;margin-top:14px}

/* 鎵€鏈夎緭鍏ユ / textarea 鈥斺€� 涓嶄緷璧栧叿浣� id锛屽懡涓〃鍗曞唴鍏ㄩ儴 */
.woo-reviews #respond input[type=text],
.woo-reviews #respond input[type=email],
.woo-reviews #respond input[type=url],
.woo-reviews #respond textarea,
.woo-reviews .comment-form input[type=text],
.woo-reviews .comment-form input[type=email],
.woo-reviews .comment-form textarea{width:100%;border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:12px 14px;font-family:var(--font-body);font-size:.95rem;background:var(--bg-primary);transition:var(--transition);box-sizing:border-box}
.woo-reviews #respond input:focus,
.woo-reviews #respond textarea:focus,
.woo-reviews .comment-form input:focus,
.woo-reviews .comment-form textarea:focus{outline:none;border-color:var(--accent-warm);background:var(--bg-white)}
.woo-reviews #respond textarea,
.woo-reviews .comment-form textarea{min-height:120px;resize:vertical}

/* 鎻愪氦鎸夐挳 鈥斺€� 瑕嗙洊鎵€鏈夊彲鑳藉啓娉� */
.woo-reviews #respond input[type=submit],
.woo-reviews #respond button[type=submit],
.woo-reviews #respond .submit,
.woo-reviews .comment-form input[type=submit],
.woo-reviews .form-submit input{background:var(--accent-dark) !important;color:#fff !important;border:none;padding:14px 36px;font-size:.85rem;letter-spacing:.05em;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);margin-top:18px;width:auto}
.woo-reviews #respond input[type=submit]:hover,
.woo-reviews #respond button[type=submit]:hover,
.woo-reviews .comment-form input[type=submit]:hover,
.woo-reviews .form-submit input:hover{background:var(--accent-earth) !important}

/* ============================================================
   璇勮琛ㄥ崟缇庡寲 鈥� 鏃犲墠缂€鐗� (鐩存帴鍛戒腑 .comment-form / #commentform)
   渚濇嵁绾夸笂鐪熷疄 HTML: <form id="commentform" class="comment-form">
   ============================================================ */
#commentform.comment-form,
.comment-form{max-width:1100px;margin:24px 0 0;background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:32px;box-sizing:border-box}.
.comment-form .comment-notes{color:var(--text-muted);font-size:.85rem;margin-bottom:20px}
.comment-form label{display:block;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;margin-top:14px}
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea,
#commentform input[type=text],
#commentform input[type=email],
#commentform textarea{width:100%;border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:12px 14px;font-family:var(--font-body);font-size:.95rem;background:var(--bg-primary);transition:var(--transition);box-sizing:border-box}
.comment-form input[type=text]:focus,
.comment-form input[type=email]:focus,
.comment-form textarea:focus,
#commentform textarea:focus,
#commentform input:focus{outline:none;border-color:var(--accent-warm);background:var(--bg-white)}
.comment-form textarea,
#commentform textarea{min-height:120px;resize:vertical}

/* 璇勫垎鏄� */
.comment-form-rating p.stars a,
p.stars a{color:var(--accent-warm)}
.comment-form-rating p.stars a::before,
p.stars a::before{color:var(--border-medium)}
.comment-form-rating p.stars.selected a.active::before,
.comment-form-rating p.stars a:hover::before,
p.stars:hover a::before{color:var(--accent-warm)}

/* 鎻愪氦鎸夐挳 */
.comment-form .form-submit input,
.comment-form input[type=submit],
.form-submit input[type=submit],
#commentform input[type=submit]{background:var(--accent-dark) !important;color:#fff !important;border:none !important;padding:14px 36px !important;font-size:.85rem;letter-spacing:.05em;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);margin-top:18px;width:auto;display:inline-block}
.comment-form .form-submit input:hover,
.comment-form input[type=submit]:hover,
.form-submit input[type=submit]:hover,
#commentform input[type=submit]:hover{background:var(--accent-earth) !important}

/* ============================================================
   浜у搧淇℃伅鎶樺彔鎵嬮鐞� (Accordion) 鈥� Vivian 椋庢牸:绮楃嚎/鍦嗘寜閽�/寮曞鍙�
   ============================================================ */
.product-gallery .pm-accordion {
  margin-top: 36px;
}
.pm-accordion {
  width: 100%;
}
.pm-acc-item {
  border-bottom: 1.5px solid var(--text-primary);
}
.pm-acc-item:first-child {
  border-top: 1.5px solid var(--text-primary);
}
.pm-acc-head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 4px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}
.pm-acc-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: var(--text-primary);
}
.pm-acc-title {
  flex: 1;
  font-family: var(--font-heading);
  font-size: 1.45rem;
  font-weight: 600;
  letter-spacing: 0.005em;
  color: var(--text-primary);
}
.pm-acc-sign {
  position: relative;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--bg-warm);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--transition);
}
.pm-acc-sign::before {
  content: '';
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--text-primary);
  border-bottom: 2px solid var(--text-primary);
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform var(--transition);
}
.pm-acc-item.is-open .pm-acc-sign {
  background: var(--accent-dark);
}
.pm-acc-item.is-open .pm-acc-sign::before {
  border-color: #fff;
  transform: rotate(-135deg) translate(-3px, -3px);
}
.pm-acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition);
}
.pm-acc-item.is-open .pm-acc-body {
  max-height: 800px;
}
.pm-acc-intro {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--text-primary);
  margin: 0 0 16px 38px;
  padding-right: 12px;
}
.pm-acc-body ul {
  list-style: none;
  padding: 0 0 24px 38px;
  margin: 0;
}
.pm-acc-body li {
  position: relative;
  padding: 7px 0 7px 18px;
  font-family: var(--font-heading);
  font-size: 1.15rem;
  color: var(--text-secondary);
  line-height: 1.55;
}
.pm-acc-body li strong {
  color: var(--text-primary);
  font-weight: 600;
}
.pm-acc-body li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  width: 7px;
  height: 1.5px;
  background: var(--accent-cta);
}

/* 鍝佺墝鎵胯鍖�(鍙冲垪搴曢儴) */
.pm-commitment {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--border-light);
}
.pm-commitment-title {
  font-family: var(--font-heading);
  font-size: 1.45rem;
  font-weight: 600;
  margin-bottom: 12px;
  color: var(--text-primary);
}
.pm-commitment p {
  font-family: var(--font-body);
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--text-secondary);
  margin: 0;
}

/* Similar products 妯帓(鍔犺喘鍖轰笂鏂�) */
.pm-similar {
  margin-bottom: 24px;
}
.pm-similar-label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-secondary);
  margin-bottom: 10px;
}
.pm-similar-thumbs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.pm-similar-thumb {
  width: 64px;
  height: 64px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border-light);
  transition: border-color var(--transition);
  background: var(--bg-warm);
}
.pm-similar-thumb:hover { border-color: var(--accent-cta); }
.pm-similar-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* QUANTITY 鏍囩 */
.pm-qty-label {
  display: block;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .product-gallery .pm-accordion { margin-top: 24px; }
  .pm-acc-title { font-size: 1.25rem; }
}
.reviews-section .comment-form,
.woo-reviews .comment-form,
form.comment-form{
  max-width: 1100px !important;
  width: 100% !important;
  margin: 24px 0 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* ===== Collection sidebar filters v2 — accordion + checkboxes + clean links ===== */
.filter-block{border-bottom:1px solid var(--border-light,#ececec);padding-bottom:14px;margin-bottom:14px}
.filter-block>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none}
.filter-block>summary::-webkit-details-marker{display:none}
.filter-block>summary h4{margin-bottom:0}
.filter-block>summary::after{content:"";width:7px;height:7px;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);transform:rotate(-45deg);transition:transform var(--transition);margin-right:2px;flex:0 0 auto}
.filter-block[open]>summary::after{transform:rotate(45deg)}
.filter-block>ul,.filter-block>.color-swatches{margin-top:12px}

/* checkbox-style option rows (the whole row is a clean link to that collection) */
.filter-opt{padding:3px 0}
.filter-opt .cb{width:16px;height:16px;border:1.5px solid var(--border-medium);border-radius:3px;flex:0 0 auto;position:relative;background:var(--bg-white);transition:all var(--transition)}
.filter-opt .opt-label{flex:1 1 auto}
.filter-opt:hover .cb{border-color:var(--accent-dark)}
.filter-opt.active .cb{background:var(--accent-dark);border-color:var(--accent-dark)}
.filter-opt.active .cb::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.filter-opt.active .opt-label{color:var(--accent-dark);font-weight:600}

/* colour swatches: active ring + hover tooltip showing the colour name */
.color-swatch{position:relative}
.color-swatch.active{border-color:var(--accent-dark);box-shadow:0 0 0 2px var(--bg-white),0 0 0 4px var(--accent-dark)}
.color-swatch::after{content:attr(data-name);position:absolute;bottom:135%;left:50%;transform:translateX(-50%);background:var(--accent-dark,#222);color:#fff;font-size:.7rem;line-height:1;padding:4px 7px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition);z-index:5}
.color-swatch:hover::after{opacity:1}

/* ===== Collection product grid (4 across) + hide sale flash ===== */
.collection-products ul.products{list-style:none;margin:0;padding:24px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:34px 24px}
@media(max-width:1024px){.collection-products ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.collection-products ul.products{grid-template-columns:repeat(2,1fr);gap:22px 14px}}
.onsale,.product-card .badge,.img-wrap .badge,.woocommerce-product-gallery .onsale{display:none!important}

/* ===== Collapsible SEO content at bottom of collection pages ===== */
.collection-seo{max-width:860px;margin:8px auto 56px;border-top:1px solid var(--border-light);padding-top:20px}
.collection-seo>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-heading);font-size:1.15rem;color:var(--text-primary);padding:6px 0}
.collection-seo>summary::-webkit-details-marker{display:none}
.collection-seo>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);transform:rotate(45deg);transition:transform var(--transition)}
.collection-seo[open]>summary::after{transform:rotate(-135deg)}
.collection-seo-body{padding:14px 0 4px;color:var(--text-secondary);line-height:1.8;font-size:.95rem}
.collection-seo-body h2,.collection-seo-body h3{font-family:var(--font-heading);font-weight:400;color:var(--text-primary);margin:22px 0 10px}
.collection-seo-body p{margin-bottom:14px}
.collection-seo-body a{color:var(--accent-warm);text-decoration:underline}

/* ===== Pagination + collection intro v2 ===== */
.collection-products .pagination{display:flex;justify-content:center;padding:34px 0 56px}
.pagination .woocommerce-pagination,.pagination nav{width:100%}
.pagination ul.page-numbers,.woocommerce-pagination ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;list-style:none;margin:0;padding:0}
.pagination ul.page-numbers li,.woocommerce-pagination li{margin:0;border:none}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9rem;background:var(--bg-white);transition:var(--transition)}
.pagination .page-numbers.current{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark)}
.pagination a.page-numbers:hover{border-color:var(--accent-dark);color:var(--accent-dark)}
/* collection intro: render the cover banner + text properly (no <p> wrap issues) */
.collection-intro{max-width:880px;margin:18px auto 0;text-align:left}
.collection-intro figure,.collection-intro .pm-collection-cover{margin:0 0 18px}
.collection-intro img{width:100%;height:auto;max-height:300px;object-fit:cover;border-radius:var(--radius-md);display:block}
.collection-intro p{color:var(--text-secondary);line-height:1.75;margin-bottom:10px;text-align:center}

/* ===== Collection hero (full-bleed) banner with H1 + intro overlaid ===== */
.collection-hero{position:relative;left:50%;right:50%;width:100vw;margin-left:-50vw;margin-right:-50vw;min-height:360px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;text-align:center;padding:72px 24px;margin-top:-1px}
.collection-hero-inner{max-width:920px}
.collection-hero h1{color:#fff;font-size:3.2rem;font-weight:600;margin-bottom:16px;text-shadow:0 2px 30px rgba(0,0,0,.45)}
.collection-hero-intro{color:rgba(255,255,255,.94);font-size:1.05rem;line-height:1.7;text-shadow:0 1px 16px rgba(0,0,0,.55)}
.collection-hero-intro p{margin-bottom:8px;color:inherit}
@media(max-width:768px){.collection-hero{min-height:260px;padding:48px 20px}.collection-hero h1{font-size:2.1rem}}

/* ===== Pagination clean (remove the long white bar) ===== */
.collection-products .pagination{padding:34px 0 60px;background:none;border:none}
.collection-products .pagination nav,.woocommerce-pagination{background:none!important;border:none!important;width:auto}
.collection-products ul.page-numbers,.woocommerce-pagination ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;list-style:none;margin:0 auto;padding:0;border:none!important;background:none!important;width:auto}
ul.page-numbers li,.woocommerce-pagination li{margin:0;border:none!important;background:none!important;list-style:none;padding:0}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--text-secondary)}
.pagination .page-numbers.current{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark)}
.pagination a.page-numbers:hover{border-color:var(--accent-dark);color:var(--accent-dark)}

/* hero intro left-align (first letters aligned, not centered per line) */
.collection-hero-intro{text-align:left;max-width:720px;margin-left:auto;margin-right:auto}
.collection-hero-intro p{text-align:left}

/* Product cards: show full artwork, never crop (square + contain + white, like MesonArt) */
.product-card .img-wrap{aspect-ratio:1;background:#fff;overflow:hidden}
.product-card .img-wrap img,.product-card .img-wrap .wp-post-image,.product-card .img-wrap .attachment-woocommerce_single{width:100%;height:100%;object-fit:contain;object-position:center}

/* ===== Mobile: collection filter toggle + responsive polish ===== */
.pm-filters-btn{display:none}
.content-section{max-width:1200px}
@media (max-width:1024px){
  .collection-layout{grid-template-columns:1fr;gap:0;padding:18px 0}
  .pm-filters-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;cursor:pointer;border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:12px 18px;margin-bottom:10px;background:var(--bg-white);font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary)}
  .pm-filters-btn:hover{border-color:var(--accent-dark)}
  .filter-sidebar{display:none !important}
  .pm-filters-cb:checked ~ .filter-sidebar{display:block !important;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:16px 18px;margin-bottom:22px}
}
@media (max-width:768px){
  .collection-hero{min-height:230px;padding:44px 18px}
  .collection-hero h1{font-size:1.85rem}
  .collection-hero-intro{font-size:.92rem;max-width:100%}
  .collection-products ul.products{grid-template-columns:repeat(2,1fr);gap:16px 12px}
  .product-detail{gap:26px}
  .info-list-grid{gap:24px}
  .content-section{max-width:100%}
}

/* ============================================================
   HOMEPAGE (front-page.php) — everything scoped to .home-*
   ============================================================ */
.home-wrap{max-width:1280px;margin:0 auto;padding:0 28px}

.home-hero{background:linear-gradient(180deg,#f7f1e8 0%,var(--bg-primary) 100%);text-align:center;padding:70px 28px 58px;border-bottom:1px solid var(--border-light)}
.home-hero h1{font-family:var(--font-heading);font-weight:300;font-size:3rem;line-height:1.08;letter-spacing:-.02em;max-width:880px;margin:0 auto;color:var(--text-primary)}
.home-hero-lead{font-family:var(--font-heading);font-style:italic;font-weight:300;color:var(--accent-cta);font-size:1.4rem;margin-top:12px}
.home-hero p{color:var(--text-secondary);font-size:1.1rem;max-width:560px;margin:18px auto 28px}
.home-hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.home-btn{display:inline-block;font-family:var(--font-heading);font-size:1rem;padding:13px 26px;border-radius:var(--radius-sm);transition:background .2s,color .2s}
.home-btn-primary{background:var(--accent-cta);color:#fff}
.home-btn-primary:hover{background:var(--accent-cta-dk);color:#fff}
.home-btn-ghost{border:1px solid var(--text-primary);color:var(--text-primary)}
.home-btn-ghost:hover{background:var(--text-primary);color:#fff}

.home-trust{background:var(--bg-white);border-bottom:1px solid var(--border-light)}
.home-trust-in{display:grid;grid-template-columns:repeat(4,1fr);max-width:1280px;margin:0 auto;padding:24px 28px}
.home-trust-item{display:flex;align-items:center;gap:12px;justify-content:center;border-right:1px solid var(--border-light)}
.home-trust-item:last-child{border-right:0}
.home-trust-item svg{width:25px;height:25px;stroke:var(--accent-warm);fill:none;stroke-width:1.4;flex-shrink:0}
.home-trust-item b{font-family:var(--font-heading);font-weight:500;font-size:.96rem;display:block;line-height:1.2;color:var(--text-primary)}
.home-trust-item span{font-size:.72rem;color:var(--text-muted)}

.home-block{padding:58px 0}
.home-block--tight{padding-top:0}
.home-sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}
.home-sec{font-family:var(--font-heading);font-weight:400;font-size:2rem;letter-spacing:-.01em;color:var(--text-primary);margin:0}
.home-more{font-size:.82rem;color:var(--accent-cta);border-bottom:1px solid currentColor;padding-bottom:2px;white-space:nowrap}
.home-more:hover{color:var(--accent-cta-dk)}

.home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.home-card{display:block;color:inherit}
.home-card-ph{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-sm);aspect-ratio:1/1;overflow:hidden;display:flex;align-items:center;justify-content:center}
.home-card-ph img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}
.home-card:hover .home-card-ph img{transform:scale(1.04)}
.home-card-title{font-family:var(--font-heading);font-weight:400;font-size:.96rem;margin:11px 0 3px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-primary)}
.home-card-price{font-size:.85rem;color:var(--text-secondary)}

.home-styletiles{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.home-stile{display:block;color:inherit}
.home-stile-im{aspect-ratio:4/5;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-white);border:1px solid var(--border-light)}
.home-stile-im img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.home-stile:hover .home-stile-im img{transform:scale(1.05)}
.home-stile b{display:block;font-family:var(--font-heading);font-weight:400;font-size:.95rem;margin-top:9px;text-align:center;color:var(--text-primary)}

.home-colors{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.home-ctile{border-radius:var(--radius-md);height:118px;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;color:#fff;position:relative;overflow:hidden}
.home-ctile span{font-family:var(--font-heading);font-size:1.02rem;position:relative;z-index:2}
.home-ctile small{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85;position:relative;z-index:2}
.home-ctile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.35))}

.home-rooms{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.home-rtile{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px 16px;text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s;color:inherit}
.home-rtile:hover{border-color:var(--accent-warm);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.home-rtile svg{width:30px;height:30px;stroke:var(--accent-warm);fill:none;stroke-width:1.3;margin:0 auto 10px;display:block}
.home-rtile b{font-family:var(--font-heading);font-weight:400;font-size:.96rem;display:block;color:var(--text-primary)}
.home-rtile small{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-cta)}

.home-how{background:var(--bg-warm)}
.home-how-in{max-width:1280px;margin:0 auto;padding:60px 28px;text-align:center}
.home-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:38px}
.home-step-n{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--accent-warm);color:var(--accent-warm);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.2rem;margin:0 auto 16px}
.home-step h4{font-family:var(--font-heading);font-weight:500;font-size:1.12rem;margin-bottom:8px;color:var(--text-primary)}
.home-step p{color:var(--text-secondary);font-size:.93rem;max-width:280px;margin:0 auto}

.home-cta-band{background:var(--accent-dark);color:#f5efe6;text-align:center;padding:62px 28px}
.home-cta-band h2{font-family:var(--font-heading);font-weight:300;font-size:2.1rem;margin-bottom:10px;color:#fff}
.home-cta-band p{color:#cfc7bb;max-width:520px;margin:0 auto 24px}

@media (max-width:900px){
  .home-hero h1{font-size:2.1rem}
  .home-grid{grid-template-columns:repeat(2,1fr)}
  .home-styletiles,.home-colors,.home-rooms{grid-template-columns:repeat(3,1fr)}
  .home-trust-in{grid-template-columns:repeat(2,1fr);gap:18px}
  .home-trust-item:nth-child(2){border-right:0}
  .home-steps{grid-template-columns:1fr}
}
@media (max-width:560px){
  .home-styletiles,.home-colors,.home-rooms{grid-template-columns:repeat(2,1fr)}
  .home-grid{gap:16px}
}

/* Product gallery prev/next arrows (custom .gallery-main) */
.gallery-main{position:relative}
.gallery-main .gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.18);opacity:.9;transition:opacity .2s,background .2s;padding:0}
.gallery-main .gallery-nav:hover{opacity:1;background:#fff}
.gallery-main .gallery-nav::before{content:"";display:block;width:11px;height:11px;border-top:2px solid #222;border-right:2px solid #222}
.gallery-main .gallery-nav-prev{left:12px}
.gallery-main .gallery-nav-prev::before{transform:rotate(-135deg);margin-left:4px}
.gallery-main .gallery-nav-next{right:12px}
.gallery-main .gallery-nav-next::before{transform:rotate(45deg);margin-right:4px}
@media(max-width:600px){.gallery-main .gallery-nav{width:36px;height:36px}}


/* ===== Collection card image hover-swap (white-bg -> first scene), like MesonArt/Vivian ===== */
.product-card .img-wrap{position:relative;overflow:hidden;}
.product-card .img-wrap img{transition:opacity .4s ease;}
.product-card .img-wrap img.pm-card-hover{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;}
.product-card:hover .img-wrap img.pm-card-hover{opacity:1;}
.product-card .quick-add{z-index:3;}
@media (hover:none){.product-card .img-wrap img.pm-card-hover{display:none;}}
