body.single-product {
  background: var(--bc-bg) !important;
  color: var(--bc-muted) !important;
}

.single-product .wd-content-layout {
  display: block !important;
  padding-top: clamp(32px, 4vw, 48px) !important;
  padding-bottom: clamp(40px, 5vw, 64px) !important;
}

.single-product .wd-content-layout > .container,
.single-product div.product {
  max-width: var(--bc-container) !important;
  margin-inline: auto !important;
}

.single-product :is(.product-tabs-inner, .related-and-upsells),
.single-product .product-image-summary-wrap {
  max-width: var(--bc-container) !important;
  margin-inline: auto !important;
}

.single-product .product-image-summary-wrap,
.single-product .product-tabs-inner,
.single-product .related-and-upsells {
  padding-inline: clamp(16px, 3vw, 24px) !important;
}

.single-product .product-image-summary,
.single-product .product-image-summary.wd-grid-col {
  width: 100% !important;
  max-width: none !important;
}

/* Two columns: gallery | summary */
.single-product .product-image-summary-inner,
.single-product .product-image-summary-inner.wd-grid-g {
  display: grid !important;
  grid-template-columns: minmax(320px, 560px) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 72px) !important;
  align-items: start !important;
}

.single-product .product-image-summary-inner > .product-images,
.single-product .product-image-summary-inner > .summary,
.single-product .product-image-summary-inner > .product-images.wd-grid-col,
.single-product .product-image-summary-inner > .summary.wd-grid-col {
  /* Woodmart 默认 span var(--wd-col)（8/4 列）会撑爆 2 列网格导致上下堆叠。 */
  grid-column: auto / span 1 !important;
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Gallery: main image on top, thumbnail strip below (woodmart thumbs-bottom). */
.single-product .product-images {
  position: sticky !important;
  top: calc(var(--bc-header-h) + 24px) !important;
  width: 100% !important;
  max-width: 560px !important;
  justify-self: center !important;
}

.single-product .woocommerce-product-gallery {
  width: 100% !important;
  background: transparent !important;
}

/* Force vertical stack (big image, small thumbs below) regardless of theme option. */
.single-product .woocommerce-product-gallery .wd-carousel-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.single-product .woocommerce-product-gallery .wd-gallery-images {
  order: 0 !important;
  margin-bottom: 14px !important;
}

.single-product .woocommerce-product-gallery .wd-gallery-thumb {
  order: 1 !important;
  width: 100% !important;
}

.single-product .woocommerce-product-gallery__image {
  overflow: hidden !important;
  border: 1px solid var(--bc-border) !important;
  background: var(--bc-image-bg) !important;
}

/* Keep the main image to a sensible, non-oversized square. */
.single-product .wd-gallery-images .woocommerce-product-gallery__image,
.single-product .wd-gallery-images .wd-carousel-item {
  aspect-ratio: 1 / 1 !important;
  max-height: min(68vh, 560px) !important;
}

.single-product .wd-gallery-images .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .7s ease, filter .35s ease !important;
}

.single-product .wd-gallery-images .woocommerce-product-gallery__image a {
  display: block !important;
  height: 100% !important;
  cursor: zoom-in !important;
}

.single-product .wd-gallery-images .woocommerce-product-gallery__image:hover img {
  filter: saturate(1.03) contrast(1.02) !important;
  transform: scale(1.025) !important;
}

/* Thumbnail strip: small, square, horizontal. */
.single-product .wd-gallery-thumb .woocommerce-product-gallery__image {
  border: 1px solid transparent !important;
  background: transparent !important;
  opacity: .72 !important;
  transition: border-color .25s ease, opacity .25s ease !important;
}

.single-product .wd-gallery-thumb .woocommerce-product-gallery__image:is(:hover, .wd-active),
.single-product .wd-gallery-thumb .wd-carousel-item:is(:hover, .wd-active) .woocommerce-product-gallery__image {
  border-color: var(--bc-ink) !important;
  opacity: 1 !important;
}

.single-product .wd-gallery-thumb .wd-carousel-item img,
.single-product .wd-gallery-thumb .woocommerce-product-gallery__image img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  cursor: pointer !important;
}

.single-product .pswp__bg {
  background: #16110d !important;
  opacity: .94 !important;
}

.single-product .pswp__img {
  border-radius: 0 !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .45) !important;
}

.single-product .pswp__button {
  opacity: .86 !important;
  transition: opacity .2s ease, background-color .2s ease !important;
}

.single-product .pswp__button:hover {
  background-color: rgba(255, 255, 255, .08) !important;
  opacity: 1 !important;
}

.single-product .pswp__caption__center {
  color: rgba(255, 255, 255, .74) !important;
  font-size: 12px !important;
  letter-spacing: .04em !important;
}

.single-product .summary {
  padding-top: 4px !important;
}

.single-product .summary-inner {
  --wd-mb: 18px;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 12px !important;
  color: var(--bc-muted) !important;
}

.single-product .summary-inner > * {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}

.single-product .single-breadcrumbs-wrapper {
  display: none !important;
}

/* 面包屑：小号灰字（luxuryrepbags 风格）。 */
.single-product :is(.woocommerce-breadcrumb, .yoast-breadcrumb, .rank-math-breadcrumb, .aioseo-breadcrumbs) {
  display: block !important;
  color: var(--bc-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}

.single-product :is(.woocommerce-breadcrumb a, .yoast-breadcrumb a, .rank-math-breadcrumb a, .aioseo-breadcrumbs a) {
  color: var(--bc-muted) !important;
}

.single-product .product_title {
  margin: 0 !important;
  color: var(--bc-ink) !important;
  font-family: var(--bc-sans) !important;
  font-size: clamp(1.6rem, 2.4vw, 2.1rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
}

.single-product .woocommerce-product-rating {
  margin-top: 14px !important;
  color: var(--bc-subtle) !important;
  font-size: 12px !important;
}

.single-product .summary-inner > .price,
.single-product .wd-single-price .price {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin-top: 20px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  color: var(--bc-ink) !important;
  font-family: var(--bc-sans) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

.single-product .summary-inner > .price del {
  color: var(--bc-subtle) !important;
  font-size: .8em !important;
  font-weight: 400 !important;
  opacity: .85 !important;
}

.single-product .summary-inner > .price ins {
  color: var(--bc-sale) !important;
  text-decoration: none !important;
}

.single-product .woocommerce-product-details__short-description {
  margin-top: 20px !important;
  color: var(--bc-copy) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.single-product .summary-inner > form.cart:not(.variations_form):not(.grouped_form) {
  display: contents !important;
}

.single-product .variations_form {
  display: contents !important;
}

.single-product table.variations {
  order: 20 !important;
  grid-column: 1 / -1 !important;
  margin-top: 24px !important;
  margin-bottom: 18px !important;
  border: 0 !important;
}

.single-product table.variations :is(th, td) {
  display: block !important;
  padding: 0 0 10px !important;
  border: 0 !important;
}

.single-product table.variations label {
  color: var(--bc-ink) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.single-product .variations_form .woocommerce-variation-add-to-cart {
  display: contents !important;
}

.single-product .variations_form .single_variation_wrap {
  display: contents !important;
}

.single-product .woocommerce-variation {
  order: 20 !important;
  grid-column: 1 / -1 !important;
}

.single-product div.quantity {
  --wd-form-height: 48px;
  order: 30 !important;
  grid-column: 1 / 2 !important;
  display: inline-flex !important;
  height: 48px !important;
  min-width: 126px !important;
  align-items: center !important;
  border: 1px solid var(--bc-border-strong) !important;
  background: var(--bc-bg) !important;
}

.single-product div.quantity :is(input[type="button"], button, .minus, .plus) {
  width: 40px !important;
  height: 46px !important;
  color: var(--bc-muted) !important;
  background: transparent !important;
  border: 0 !important;
}

.single-product div.quantity :is(input.qty, .qty) {
  min-width: 38px !important;
  height: 46px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--bc-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: center !important;
}

.single-product :is(.single_add_to_cart_button, .wd-buy-now-btn) {
  min-height: 48px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.single-product .single_add_to_cart_button {
  order: 30 !important;
  grid-column: 2 / 3 !important;
  width: 100% !important;
  border: 1px solid var(--bc-ink) !important;
  background: transparent !important;
  color: var(--bc-ink) !important;
}

.single-product .single_add_to_cart_button:hover {
  background: var(--bc-ink) !important;
  color: #fff !important;
}

.single-product .wd-buy-now-btn {
  order: 40 !important;
  grid-column: 1 / 2 !important;
  width: 100% !important;
  margin-top: 12px !important;
  background: var(--bc-ink) !important;
  border: 1px solid var(--bc-ink) !important;
  color: #fff !important;
}

.single-product .wd-buy-now-btn:hover {
  background: #28221c !important;
  color: #fff !important;
}

.single-product .summary-inner:has(:is(.ppc-button-wrapper, .wc-ppcp-product-payments__container, #wcpay-payment-request-wrapper, .wcpay-payment-request-wrapper)) .ppcp-messages:empty {
  display: none !important;
}

.single-product .summary-inner > :is(.ppc-button-wrapper, .wc-ppcp-product-payments__container, #wcpay-payment-request-wrapper, .wcpay-payment-request-wrapper) {
  order: 40 !important;
  grid-column: 2 / 3 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 48px !important;
  margin: 12px 0 0 !important;
}

.single-product .summary-inner:has(.wd-buy-now-btn) > :is(.ppc-button-wrapper, .wc-ppcp-product-payments__container, #wcpay-payment-request-wrapper, .wcpay-payment-request-wrapper) > * {
  width: 100% !important;
  max-width: none !important;
}

.single-product .summary-inner:has(.wd-buy-now-btn) :is(#ppc-button-ppcp-gateway, .paypal-buttons, iframe) {
  max-width: 100% !important;
}

.single-product .summary-inner > form.cart:not(.variations_form):not(.grouped_form) > :is(div.quantity, .single_add_to_cart_button) {
  margin-top: 24px !important;
}

.single-product .summary-inner > :is(.wd-action-btn, .product_meta, .product-share) {
  order: 50 !important;
}

.single-product .product_meta {
  align-items: flex-start !important;
  gap: 8px !important;
  margin-top: 28px !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--bc-border) !important;
  color: var(--bc-subtle) !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.single-product .product_meta .meta-label {
  color: var(--bc-ink) !important;
  font-weight: 600 !important;
}

.single-product .product_meta a {
  color: var(--bc-muted) !important;
}

.single-product .product-tabs-wrapper {
  margin-top: 80px !important;
  padding: 0 !important;
  border: 0 !important;
  background: var(--bc-bg) !important;
}

.single-product .wc-tabs-wrapper {
  max-width: 768px !important;
  margin-inline: auto !important;
}

.single-product .tabs-layout-tabs > .wd-nav-tabs-wrapper {
  margin: 0 0 32px !important;
  border-bottom: 1px solid var(--bc-border) !important;
}

.single-product .tabs-layout-tabs .wd-nav-tabs {
  display: flex !important;
  justify-content: center !important;
  gap: 32px !important;
  --nav-pd: 0 0 12px 0;
}

.single-product .tabs-layout-tabs .wd-nav-tabs > li > a {
  color: var(--bc-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.single-product .tabs-layout-tabs .wd-nav-tabs > li:is(.active, :hover) > a {
  color: var(--bc-ink) !important;
}

.single-product .tabs-layout-tabs .wd-nav-tabs > li > a .nav-link-text::after {
  height: 2px !important;
  background: var(--bc-ink) !important;
}

.single-product .woocommerce-Tabs-panel {
  color: var(--bc-copy) !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
}

.single-product .tabs-layout-accordion {
  max-width: 768px !important;
  margin-inline: auto !important;
  border-top: 1px solid var(--bc-border) !important;
}

.single-product .tabs-layout-accordion > .wd-accordion-item {
  border-bottom: 1px solid var(--bc-border) !important;
}

.single-product .tabs-layout-accordion > .wd-accordion-item > .wd-accordion-title {
  padding-block: 20px !important;
  color: var(--bc-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.single-product .related-and-upsells {
  padding-top: 64px !important;
}

.single-product .related-and-upsells:not(:empty) {
  margin-top: 96px !important;
  border-top: 1px solid var(--bc-border) !important;
}

.single-product :is(.related.products, .upsells.products) > h2,
.single-product .related-and-upsells .wd-el-title {
  margin-bottom: 40px !important;
  color: var(--bc-ink) !important;
  font-family: var(--bc-serif) !important;
  font-size: clamp(1.5rem, 2.4vw, 1.9rem) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

@media (max-width: 1024px) {
  .single-product .product-image-summary-inner {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .single-product .product-images {
    position: relative !important;
    top: auto !important;
    max-width: 620px !important;
  }
}

@media (max-width: 768px) {
  .single-product .wd-content-layout {
    padding-top: 24px !important;
    padding-bottom: 72px !important;
  }

  .single-product div.quantity {
    width: 100% !important;
    justify-content: space-between !important;
  }

  .single-product .wd-buy-now-btn,
  .single-product .single_add_to_cart_button,
  .single-product .summary-inner > :is(.ppc-button-wrapper, .wc-ppcp-product-payments__container, #wcpay-payment-request-wrapper, .wcpay-payment-request-wrapper) {
    width: 100% !important;
    max-width: none !important;
    margin-top: 12px !important;
  }

  .single-product .tabs-layout-tabs .wd-nav-tabs {
    justify-content: flex-start !important;
    gap: 24px !important;
    overflow-x: auto !important;
  }
}
