/* Product detail follows the original mobile template; Woo owns product data and form fields. */
.wp-product-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--wp-cream, #faf6ef);
  border-bottom: 1px solid var(--wp-line, #e5dccb);
}
.admin-bar .wp-product-topbar { top: 32px; }
.wp-product-topbar-inner {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding-top: 4px;
  padding-bottom: 4px;
}
.wp-product-topbar-title {
  min-width: 0;
  margin: 0;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.wp-product-topbar-action {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  color: var(--wp-ink2, #5c4f42);
  border-radius: 50%;
  padding: 9px;
}
.wp-product-topbar-action:hover { background: var(--wp-goldsoft, #f4e7cf); }
.wp-product-topbar-action svg { width: 21px; height: 21px; }
.wp-single.wp-single--reference { padding: 10px 14px 24px; }
.wp-single--reference .wp-single-grid { gap: 17px; }
.wp-single--reference .wp-single-gallery { min-width: 0; }
.wp-single--reference .wp-single-gallery .flex-viewport,
.wp-single--reference .wp-single-gallery .woocommerce-product-gallery__image,
.wp-single--reference .wp-single-gallery .woocommerce-product-gallery__image--placeholder {
  aspect-ratio: 16 / 10;
  background: #fff;
  border-radius: 16px;
}
.wp-single--reference .wp-single-gallery .flex-viewport { box-shadow: 0 5px 16px rgba(70, 52, 32, .045); }
.wp-single--reference .wp-single-gallery .woocommerce-product-gallery__image,
.wp-single--reference .wp-single-gallery .woocommerce-product-gallery__image--placeholder { border: 1px solid var(--wp-line2, #efe7d8); }
.woocommerce div.product.wp-product-detail .wp-single-gallery .woocommerce-product-gallery__image > a > img,
.woocommerce div.product.wp-product-detail .wp-single-gallery .woocommerce-product-gallery__image--placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #fff;
}
.woocommerce div.product.wp-product-detail .wp-single-gallery .flex-control-thumbs {
  display: flex;
  gap: 7px;
  max-width: 100%;
  padding: 9px 1px 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}
.woocommerce div.product.wp-product-detail .wp-single-gallery .flex-control-thumbs li {
  width: calc((100% - 35px) / 6);
  min-width: 44px;
  flex-basis: calc((100% - 35px) / 6);
  flex-shrink: 0;
}
.woocommerce div.product.wp-product-detail .wp-single-gallery .flex-control-thumbs img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 8px;
  object-fit: contain;
  background: #fff;
}
.wp-single--reference .wp-single-info { padding: 0 2px; }
.wp-single--reference .wp-single-title {
  font-family: var(--wp-sans);
  font-size: 23px;
  line-height: 1.42;
  letter-spacing: 0;
  margin: 0 0 6px;
  overflow-wrap: anywhere;
}
.wp-single--reference .wp-single-en {
  font-family: var(--wp-sans);
  color: #a6a092;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
  margin: 0 0 15px;
  overflow-wrap: anywhere;
}
.wp-single--reference .wp-single-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 14px;
  min-height: 43px;
  margin: 16px 0 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--wp-red, #b4462f);
  font-family: var(--wp-sans);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.wp-single--reference .wp-single-price ins { order: 0; background: transparent; color: inherit; text-decoration: none; }
.wp-single--reference .wp-single-price del { order: 1; color: #a9a296; font-size: 16px; font-weight: 400; opacity: 1; }
.wp-single--reference .wp-single-price .woocommerce-Price-currencySymbol { font-size: .75em; }
.woocommerce div.product.wp-product-detail .wp-single-price > .price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin: 0; color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }
.wp-product-stats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  min-height: 45px;
  padding: 10px 0;
  border-top: 1px solid var(--wp-line2, #efe7d8);
  border-bottom: 1px solid var(--wp-line2, #efe7d8);
  color: #928c80;
  font-size: 13px;
  line-height: 1.55;
}
.wp-product-sales { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.wp-product-sales strong { color: var(--wp-gold, #b8863b); font-size: 14px; font-weight: 700; }
.wp-product-rating { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.woocommerce .wp-product-rating .star-rating { float: none; margin: 0; color: var(--wp-gold2, #d9ae63); font-size: 13px; }
.woocommerce .wp-product-rating .star-rating::before { color: #e5d9bf; }
.wp-product-no-reviews { color: #928c80; }
.wp-product-selection {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  margin-top: 16px;
  border: 1px solid #c8a45c;
  border-radius: 17px;
  padding: 12px 15px;
  background: #f4e8cf;
  color: var(--wp-ink, #2b2118);
  text-align: start;
  line-height: 1.5;
}
.wp-product-selection:hover { background: #f0e0be; }
.wp-product-selection-label { color: #948774; font-size: 13px; flex: none; }
.wp-product-selection strong { min-width: 0; flex: 1; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.wp-product-selection > svg { width: 17px; height: 17px; color: #9a8c75; margin: 0 1px 0 6px; flex: none; }
.wp-product-purchase {
  margin-top: 14px;
  padding: 15px;
  border: 1px solid var(--wp-line, #e5dccb);
  border-radius: 15px;
  background: #fff;
  scroll-margin-top: 80px;
  min-width: 0;
}
.wp-product-purchase[hidden], .wp-product-purchase-close[hidden] { display: none !important; }
.wp-product-purchase-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wp-product-purchase-head h2 { margin: 0; font-size: 15px; line-height: 1.5; }
.wp-product-purchase-close { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; flex: none; background: var(--wp-cream, #faf6ef); }
.wp-product-purchase-close svg { width: 18px; height: 18px; }
.wp-single--reference .wp-single-actions { display: block; padding: 0; margin-top: 14px; border-top: 0; }
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart { margin: 0; }
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart:not(.variations_form):not(.grouped_form) { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart div.quantity { float: none; margin: 0 10px 0 0; flex: none; }
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart .button {
  float: none;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 999px;
  background: #e69a0b;
  color: #fff;
  font-family: var(--wp-sans);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  white-space: normal;
}
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart .button:disabled,
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart .button.disabled { opacity: .5; cursor: not-allowed; }
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart .quantity .qty { width: 74px; min-height: 44px; border: 1px solid var(--wp-line, #e5dccb); border-radius: 8px; background: #fff; padding: 7px; font-size: max(16px, var(--wp-font-base)); }
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart .variations { margin-bottom: 12px; border: 0; }
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart .variations th,
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart .variations td { padding: 5px 0; vertical-align: middle; }
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart .variations th { padding-right: 12px; width: 25%; min-width: 60px; text-align: start; font-size: 13px; }
.woocommerce div.product.wp-product-detail .wp-single-actions form.cart .variations select { width: 100%; max-width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--wp-line, #e5dccb); border-radius: 8px; background: #fff; font-size: max(16px, var(--wp-font-base)); padding: 8px 10px; }
.woocommerce div.product.wp-product-detail .wp-single-actions .single_variation_wrap { display: flow-root; }
.woocommerce div.product.wp-product-detail .wp-single-actions .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.woocommerce div.product.wp-product-detail .wp-single-actions .woocommerce-variation-price { margin: 0 0 10px; }
.woocommerce div.product.wp-product-detail .wp-single-actions .woocommerce-variation-price .price { font-family: var(--wp-sans); font-size: 20px; color: var(--wp-red, #b4462f); }
.wp-product-purchase .stock { margin: 0 0 10px; font-size: 13px; }
.wp-product-purchase .product_meta { display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--wp-line2, #efe7d8); margin-top: 15px; padding-top: 12px; color: var(--wp-ink3, #8c7e6e); font-size: 12px; overflow-wrap: anywhere; }
.wp-product-purchase .product_meta a { color: var(--wp-gold, #b8863b); }
.wp-product-tabs { margin-top: 20px; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs { clear: both; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs ul.tabs {
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: thin;
  padding: 0;
  margin: 0 0 18px;
  border-bottom: 1px solid var(--wp-line, #e5dccb);
  background: #fff;
  list-style: none;
}
.woocommerce div.product.wp-product-detail .woocommerce-tabs ul.tabs::before,
.woocommerce div.product.wp-product-detail .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product.wp-product-detail .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs ul.tabs li {
  display: flex;
  flex: 1 0 120px;
  min-width: 0;
  align-items: stretch;
  justify-content: center;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
}
.woocommerce div.product.wp-product-detail .woocommerce-tabs ul.tabs li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  padding: 13px 12px;
  color: #868076;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
}
.woocommerce div.product.wp-product-detail .woocommerce-tabs ul.tabs li.active a { color: var(--wp-gold, #b8863b); }
.woocommerce div.product.wp-product-detail .woocommerce-tabs ul.tabs li.active::after {
  display: block;
  content: "";
  position: absolute;
  left: 40%;
  right: 40%;
  bottom: 0;
  width: auto;
  height: 3px;
  border: 0;
  border-radius: 3px;
  background: var(--wp-gold, #b8863b);
  box-shadow: none;
}
.woocommerce div.product.wp-product-detail .woocommerce-tabs .panel { margin: 0 0 24px; padding: 0 2px; color: var(--wp-ink2, #5c4f42); line-height: 1.8; overflow-wrap: anywhere; scroll-margin-top: 80px; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs .panel h2 { font-family: var(--wp-sans); font-size: 18px; line-height: 1.5; color: var(--wp-ink, #2b2118); margin: 0 0 13px; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs .panel h3 { font-family: var(--wp-sans); font-size: 16px; margin: 18px 0 10px; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs .panel p { margin-bottom: 12px; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs .panel img { max-width: 100%; height: auto; border-radius: 10px; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs .panel ul { list-style: disc; padding-left: 22px; margin: 0 0 15px; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs .panel ol { list-style: decimal; padding-left: 22px; margin: 0 0 15px; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs .panel .commentlist { list-style: none; padding-left: 0; }
.woocommerce div.product.wp-product-detail .woocommerce-tabs .panel table { max-width: 100%; }
.woocommerce div.product.wp-product-detail #review_form input:not([type=checkbox]):not([type=submit]),
.woocommerce div.product.wp-product-detail #review_form textarea { max-width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid var(--wp-line, #e5dccb); border-radius: 8px; background: #fff; font-size: max(16px, var(--wp-font-base)); }
.woocommerce div.product.wp-product-detail #review_form textarea { min-height: 120px; }
.wp-product-recommendations:empty { display: none; }
.wp-product-recommendations { margin-top: 24px; }
.wp-product-recommendations > section > h2 { margin: 0 0 16px; font-family: var(--wp-sans); font-size: 19px; }
.wp-product-purchase-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 75;
  border-top: 1px solid var(--wp-line, #e5dccb);
  background: rgba(255,255,255,.98);
  padding: 9px 10px calc(9px + env(safe-area-inset-bottom));
}
.wp-product-purchase-bar-inner {
  display: grid;
  grid-template-columns: minmax(34px, .52fr) minmax(34px, .52fr) minmax(34px, .52fr) minmax(0, 1.25fr) minmax(0, 1.25fr);
  align-items: stretch;
  gap: 7px;
  max-width: 720px;
  margin: 0 auto;
}
.wp-product-bar-link,
.wp-product-bar-favorite > a,
.wp-product-bar-favorite > button,
.wp-product-bar-favorite .wp-product-favorite-form button {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 1px 0;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #898477;
  font-family: var(--wp-sans);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
  text-decoration: none;
  box-shadow: none;
}
.wp-product-bar-link > span:not(.wp-product-cart-count),
.wp-product-bar-favorite span { max-width: 100%; overflow-wrap: anywhere; }
.wp-product-bar-link svg,
.wp-product-bar-favorite svg { width: 22px; height: 22px; flex: none; }
.wp-product-bar-favorite { min-width: 0; display: flex; align-items: stretch; }
.wp-product-bar-favorite .wp-product-favorite-form { display: flex; align-items: stretch; width: 100%; margin: 0; }
.wp-product-bar-favorite [aria-pressed=true] { color: var(--wp-gold, #b8863b); }
.wp-product-bar-favorite [aria-pressed=true] svg { fill: #f4e7cf; }
.wp-product-bar-favorite [disabled] { opacity: .5; cursor: not-allowed; }
.wp-product-cart-count {
  position: absolute;
  top: -3px;
  left: calc(50% + 2px);
  min-width: 15px;
  height: 15px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--wp-red, #b4462f);
  color: #fff;
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
}
.wp-product-cart-count[data-count="0"] { display: none; }
.wp-product-buy-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  padding: 9px 8px;
  color: #fff;
  font-family: var(--wp-sans);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.wp-product-buy-button--add { background: linear-gradient(110deg,#f2a80d,#e99600); box-shadow: 0 4px 12px rgba(225, 147, 0, .13); }
.wp-product-buy-button--now { background: linear-gradient(110deg,#339c4d,#27873f); }
.wp-product-buy-button:hover { color: #fff; filter: brightness(.96); }
.wp-product-buy-button[aria-disabled=true],
.wp-product-buy-button.is-disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }
.wp-product-buy-button[aria-busy=true],
.wp-product-buy-button.is-loading { cursor: progress; }
.wp-product-status {
  position: fixed;
  left: 50%;
  bottom: calc(82px + env(safe-area-inset-bottom));
  z-index: 84;
  transform: translateX(-50%);
  width: max-content;
  max-width: min(560px, calc(100vw - 28px));
  border: 1px solid var(--wp-line, #e5dccb);
  border-radius: 12px;
  padding: 11px 16px;
  background: rgba(255,255,255,.98);
  color: var(--wp-ink2, #5c4f42);
  font-size: 13px;
  line-height: 1.6;
  box-shadow: var(--wp-shadow);
  overflow-wrap: anywhere;
}
.wp-product-status:empty, .wp-product-status[hidden] { display: none !important; }
.wp-product-status.is-error { background: var(--wp-redsoft, #f6e4df); color: var(--wp-red, #b4462f); }
.wp-product-status.is-success { background: var(--wp-greensoft, #e6efe6); color: #287341; }
.wp-product-topbar-action:focus-visible,
.wp-product-selection:focus-visible,
.wp-product-purchase-close:focus-visible,
.wp-product-bar-link:focus-visible,
.wp-product-bar-favorite a:focus-visible,
.wp-product-bar-favorite button:focus-visible,
.wp-product-buy-button:focus-visible { outline: 2px solid var(--wp-ink, #2b2118); outline-offset: 3px; }
body.single-product { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
body.single-product .wp-toast { bottom: calc(88px + env(safe-area-inset-bottom)); }
/* Mobile spacing follows the supplied reference after excluding the phone/browser chrome. */
@media (max-width: 759px) {
  .wp-product-topbar-inner { min-height: 52px; }
  .wp-single.wp-single--reference { padding-top: 0; padding-right: 10px; padding-left: 10px; }
  .wp-single--reference .wp-single-grid { gap: 14px; }
  .wp-single--reference .wp-single-info { padding-right: 4px; padding-left: 4px; }
  .wp-single--reference .wp-single-title { font-size: 21px; }
  .wp-single--reference .wp-single-en { font-size: 12px; }
  .wp-single--reference .wp-single-price { font-size: 26px; }
}
@media (max-width: 359px) {
  .wp-single.wp-single--reference { padding-right: 10px; padding-left: 10px; }
  .wp-single--reference .wp-single-title { font-size: 21px; }
  .wp-product-purchase-bar { padding-right: 7px; padding-left: 7px; }
  .wp-product-purchase-bar-inner { gap: 4px; grid-template-columns: minmax(30px, .5fr) minmax(30px, .5fr) minmax(30px, .5fr) minmax(0, 1.25fr) minmax(0, 1.25fr); }
  .wp-product-buy-button { font-size: 12px; padding-right: 6px; padding-left: 6px; }
}
@media (min-width: 760px) {
  .wp-single.wp-single--reference { padding: 28px 22px 36px; }
  .wp-single--reference .wp-single-grid { gap: 34px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  .wp-single--reference .wp-single-gallery { top: 80px; }
  .admin-bar .wp-single--reference .wp-single-gallery { top: 112px; }
  .wp-single--reference .wp-single-gallery .flex-viewport,
  .wp-single--reference .wp-single-gallery .woocommerce-product-gallery__image,
  .wp-single--reference .wp-single-gallery .woocommerce-product-gallery__image--placeholder { aspect-ratio: 1; border-radius: 20px; }
  .woocommerce div.product.wp-product-detail .wp-single-gallery .woocommerce-product-gallery__image > a > img,
  .woocommerce div.product.wp-product-detail .wp-single-gallery .woocommerce-product-gallery__image--placeholder img { object-fit: contain; }
  .wp-single--reference .wp-single-info { padding-top: 8px; }
  .wp-single--reference .wp-single-title { font-size: 28px; }
  .wp-single--reference .wp-single-en { font-size: 14px; }
  .wp-single--reference .wp-single-price { font-size: 31px; margin-top: 22px; }
  .wp-product-stats { min-height: 50px; font-size: 14px; }
  .wp-product-selection { min-height: 58px; margin-top: 20px; }
  .wp-product-selection strong { font-size: 15px; }
  .wp-product-tabs { margin-top: 32px; }
  .wp-product-purchase-bar { padding-top: 10px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  .wp-product-buy-button { min-height: 48px; font-size: 15px; }
  .wp-product-bar-link,
  .wp-product-bar-favorite > a,
  .wp-product-bar-favorite > button,
  .wp-product-bar-favorite .wp-product-favorite-form button { font-size: 11px; }
}
@media screen and (min-width: 601px) and (max-width: 782px) {
  .admin-bar .wp-product-topbar { top: 46px; }
  .admin-bar .wp-single--reference .wp-single-gallery { top: 126px; }
}
@media screen and (max-width: 600px) { .admin-bar .wp-product-topbar { top: 0; } }
@media (prefers-reduced-motion: reduce) {
  .wp-product-buy-button, .wp-product-selection { transition: none; }
}
@media print {
  .wp-product-topbar, .wp-product-purchase-bar, .wp-product-status { display: none !important; }
  body.single-product { padding-bottom: 0; }
}
