/* WoodenKing Common UI — product page 1.0.24.8 */
.wk-ui .product-page { padding-block: var(--spacing-lg) var(--spacing-3xl); color: var(--color-text); }
.wk-ui .product-page * { box-sizing: border-box; }
.wk-ui .product-page__breadcrumbs { display: flex; align-items: center; gap: var(--spacing-xs); margin-block-end: var(--spacing-lg); }
.wk-ui .product-page__back { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-text); background: var(--color-surface); cursor: pointer; transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast); }
.wk-ui .product-page__back:hover { color: #fff; border-color: var(--color-primary); background: var(--color-primary); transform: translateX(-2px); }
.wk-ui .product-page__back:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.wk-ui .product-page__back:active { transform: translateX(-2px) scale(.96); }
.wk-ui .product-page__back svg { width: 19px; height: 19px; }
.wk-ui .product-page__breadcrumbs .breadcrumbs__list { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.wk-ui .product-page__breadcrumbs .breadcrumbs__item { display: inline-flex; min-width: 0; align-items: center; gap: 6px; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.wk-ui .product-page__breadcrumbs .breadcrumbs__item:not(:last-child)::after { content: "/"; color: var(--color-border-strong); }
.wk-ui .product-page__breadcrumbs a { color: var(--color-text-muted); text-decoration: none; }
.wk-ui .product-page__breadcrumbs a:hover { color: var(--color-primary-hover); }

.wk-ui .product-page__hero { display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(380px, .87fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.wk-ui .product-summary { min-width: 0; align-self: stretch; }
.wk-ui .product-summary__sticky { position: sticky; top: 122px; display: flex; flex-direction: column; gap: var(--spacing-md); padding: clamp(20px, 2.5vw, 32px); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.wk-ui .product-summary__heading { display: flex; gap: var(--spacing-md); align-items: flex-start; justify-content: space-between; }
.wk-ui .product-summary__brand { display: inline-block; margin-block-end: var(--spacing-xs); color: var(--color-primary-hover); font-size: var(--font-size-sm); font-weight: 600; text-decoration: none; }
.wk-ui .product-summary__title { margin: 0; color: var(--color-text-strong); font-size: clamp(1.65rem, 2.3vw, 2.55rem); line-height: 1.14; letter-spacing: -.02em; }
.wk-ui .product-page__favorite { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-text-muted); background: var(--color-surface); cursor: pointer; transition: color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast); }
.wk-ui .product-page__favorite:hover,
.wk-ui .product-page__favorite.fav_in_cart { color: var(--color-danger); border-color: #ecc7c5; }
.wk-ui .product-page__favorite.fav_in_cart svg path { fill: currentColor; }
.wk-ui .product-page__favorite:active { transform: scale(.96); }
.wk-ui .product-page__favorite svg { width: 23px; height: 23px; }
.wk-ui .product-page__favorite--gallery { position: absolute; z-index: 4; inset-block-start: 14px; inset-inline-end: 14px; display: none; box-shadow: var(--shadow-xs); }

.wk-ui .product-summary__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.wk-ui .product-summary__sku { display: inline-flex; align-items: center; gap: 4px; }
.wk-ui .product-summary__sku strong { color: var(--color-text); }
.wk-ui .product-summary__copy { display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; border-radius: var(--radius-xs); color: var(--color-text-muted); background: transparent; cursor: pointer; }
.wk-ui .product-summary__copy:hover { color: var(--color-primary-hover); background: var(--color-primary-soft); }
.wk-ui .product-summary__copy svg { width: 16px; height: 16px; }
.wk-ui .product-summary__stock { display: inline-flex; align-items: center; gap: 6px; }
.wk-ui .product-summary__stock::before { width: 8px; height: 8px; border-radius: 50%; content: ""; background: currentColor; }
.wk-ui .product-summary__stock.is-available.is-high { color: var(--color-success); }
.wk-ui .product-summary__stock.is-available.is-medium { color: var(--color-warning); }
.wk-ui .product-summary__stock.is-available.is-low { color: var(--color-danger); }
.wk-ui .product-summary__stock.is-unavailable { color: var(--color-text-muted); }
.wk-ui .product-summary__rating { display: inline-flex; gap: 8px; align-items: center; color: var(--color-text-muted); text-decoration: none; }
.wk-ui .product-summary__rating span:first-child { color: var(--color-warning); font-weight: 700; }

.wk-ui .product-summary__price { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: baseline; margin-block-start: 2px; }
.wk-ui .product-summary__price-current { color: var(--color-text-strong); font-size: clamp(1.8rem, 2.8vw, 2.75rem); font-weight: 750; line-height: 1; }
.wk-ui .product-summary__price-old { color: var(--color-text-muted); font-size: var(--font-size-lg); text-decoration: line-through; }
.wk-ui .product-summary__tax,
.wk-ui .product-summary__reward,
.wk-ui .product-summary__color { display: none; margin: calc(var(--spacing-xs) * -1) 0 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.wk-ui .product-summary__reward { color: var(--color-reward); }
.wk-ui .product-summary__color span { color: var(--color-text); font-weight: 600; }

.wk-ui .product-variants { padding-block: var(--spacing-sm); border-block: 1px solid var(--color-border); }
.wk-ui .product-variants__head { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-sm); margin-block-end: var(--spacing-sm); }
.wk-ui .product-variants__head h2 { margin: 0; font-size: var(--font-size-base); }
.wk-ui .product-variants__controls,
.wk-ui .product-related__controls { display: flex; gap: 6px; }
.wk-ui .product-variants__controls button,
.wk-ui .product-related__controls button { display: grid; width: 36px; height: 36px; place-items: center; padding: 0; border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-text); background: var(--color-surface); cursor: pointer; transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast); }
.wk-ui .product-variants__controls button:hover,
.wk-ui .product-related__controls button:hover { color: #fff; border-color: var(--color-primary); background: var(--color-primary); transform: scale(1.04); }
.wk-ui .product-variants__controls button:focus-visible,
.wk-ui .product-related__controls button:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.wk-ui .product-variants__controls button:active,
.wk-ui .product-related__controls button:active { transform: scale(.96); }
.wk-ui .product-variants__controls button.swiper-button-disabled,
.wk-ui .product-related__controls button.swiper-button-disabled { opacity: .35; cursor: default; transform: none; }
.wk-ui .product-variants__controls svg,
.wk-ui .product-related__controls svg { width: 18px; height: 18px; }
.wk-ui .product-variants__swiper { min-width: 0; overflow: hidden; }
.wk-ui .product-variants__slide { width: 117px; }
.wk-ui .product-variants__slide a { display: block; width: 117px; height: 155px; padding: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-background-alt); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.wk-ui .product-variants__slide a:hover { border: 1px solid var(--color-primary-hover); }
.wk-ui .product-variants__slide img { width: 100%; height: 100%; border-radius: calc(var(--radius-sm) - 3px); object-fit: cover; }
.wk-ui .product-variants__slide.is-current a { border-color: var(--color-primary); box-shadow: 0 0 0 2px var(--color-primary-soft); }

.wk-ui .product-purchase { display: flex; flex-direction: column; gap: var(--spacing-md); }
.wk-ui .product-options { display: flex; flex-direction: column; gap: var(--spacing-md); }
.wk-ui .product-options__title { margin: 0; font-size: var(--font-size-lg); }
.wk-ui .product-option { display: flex; flex-direction: column; gap: 8px; }
.wk-ui .product-option__label { margin: 0; color: var(--color-text-strong); font-size: var(--font-size-sm); font-weight: 650; }
.wk-ui .product-option--required .product-option__label > span { margin-inline-start: 3px; color: var(--color-danger); }
.wk-ui .product-option__control { width: 100%; }
.wk-ui .product-option__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.wk-ui .product-option-choice { position: relative; display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); background: var(--color-surface); cursor: pointer; }
.wk-ui .product-option-choice input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; pointer-events: none; }
.wk-ui .product-option-choice:has(input:checked) { border-color: var(--color-primary); background: var(--color-primary-soft); box-shadow: 0 0 0 1px var(--color-primary); }
.wk-ui .product-option-choice img { width: 40px; height: 40px; border-radius: var(--radius-xs); object-fit: cover; }
.wk-ui .product-option-choice span { display: flex; flex-direction: column; line-height: 1.25; }
.wk-ui .product-option-choice small { color: var(--color-text-muted); font-size: var(--font-size-xs); }
.wk-ui .product-option__upload { align-self: flex-start; }
.wk-ui .product-option__error:empty { display: none; }
.wk-ui .product-option__recurring-description { color: var(--color-text-muted); font-size: var(--font-size-sm); }

.wk-ui .product-purchase__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--spacing-sm); }
.wk-ui .product-purchase__row.is-in-cart { grid-template-columns: 126px minmax(0, 1fr); }
.wk-ui .product-purchase__quantity { width: 126px; }
.wk-ui .product-purchase__quantity[hidden],
.wk-ui .product-mobile-buy__button[hidden],
.wk-ui .product-mobile-buy__quantity[hidden] { display: none !important; }
.wk-ui .product-purchase__cart,
.wk-ui .product-purchase__buy-now { width: 100%; min-height: 54px; }
.wk-ui .product-purchase__minimum { margin: -6px 0 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }

.wk-ui .product-page__content { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: var(--spacing-lg); margin-block-start: var(--spacing-2xl); }
.wk-ui .product-section { min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); }
.wk-ui .product-section__head { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: var(--spacing-md); padding: var(--spacing-md) var(--spacing-lg); border-block-end: 1px solid var(--color-border); }
.wk-ui .product-section__head h2 { margin: 0; font-size: var(--font-size-xl); }
.wk-ui .product-section__body { padding: var(--spacing-lg); }
.wk-ui .product-description { color: var(--color-text); line-height: var(--line-height-loose); }
.wk-ui .product-description > :first-child { margin-block-start: 0; }
.wk-ui .product-description > :last-child { margin-block-end: 0; }
.wk-ui .product-description img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }
.wk-ui .product-description table { width: 100%; max-width: 100%; border-collapse: collapse; }
.wk-ui .product-description td,
.wk-ui .product-description th { padding: 10px; border: 1px solid var(--color-border); }

.wk-ui .product-specs { margin: 0; }
.wk-ui .product-specs__row,
.wk-ui .product-specs__group { display: grid; grid-template-columns: minmax(130px, .9fr) minmax(0, 1.1fr); gap: var(--spacing-md); padding: 12px 0; border-block-end: 1px solid var(--color-border); }
.wk-ui .product-specs__row:last-child { border-block-end: 0; }
.wk-ui .product-specs dt,
.wk-ui .product-specs dd { min-width: 0; margin: 0; }
.wk-ui .product-specs dt { color: var(--color-text-muted); }
.wk-ui .product-specs dd { color: var(--color-text-strong); text-align: end; overflow-wrap: anywhere; }
.wk-ui .product-specs__group { margin-block-start: 10px; padding-block-start: 20px; border-block-end: 0; }
.wk-ui .product-specs__group dt { grid-column: 1 / -1; color: var(--color-text-strong); font-size: var(--font-size-lg); font-weight: 700; }

.wk-ui .product-reviews { grid-column: 1 / -1; }
.wk-ui .product-reviews__head > div p { margin: 4px 0 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.wk-ui .product-reviews__list .table { width: 100%; margin-block-end: var(--spacing-md); border-collapse: collapse; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); }
.wk-ui .product-reviews__list .table td { padding: 12px 14px; border: 0; border-block-end: 1px solid var(--color-border); }
.wk-ui .product-reviews__list .table tr:last-child td { border-block-end: 0; }
.wk-ui .product-reviews__list .fa-star { color: var(--color-warning); }
.wk-ui .product-reviews__list .fa-star-o { color: var(--color-border-strong); }
.wk-ui .product-reviews__loading { margin: 0; color: var(--color-text-muted); }
.wk-ui .product-review-form[hidden] { display: none !important; }
.wk-ui .product-review-form { display: grid; max-width: 760px; gap: var(--spacing-md); margin-block-start: var(--spacing-lg); padding-block-start: var(--spacing-lg); border-block-start: 1px solid var(--color-border); }
.wk-ui .product-review-form h3 { margin: 0; }
.wk-ui .product-review-form__field { display: flex; flex-direction: column; gap: 8px; font-weight: 600; }
.wk-ui .product-review-form__rating { display: flex; gap: 6px; margin: 0; padding: 0; border: 0; }
.wk-ui .product-review-form__rating legend { margin-block-end: 8px; font-weight: 600; }
.wk-ui .product-review-form__rating label { cursor: pointer; }
.wk-ui .product-review-form__rating input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; }
.wk-ui .product-review-form__rating span { color: var(--color-border-strong); font-size: 28px; }
.wk-ui .product-review-form__rating label:has(input:checked) span,
.wk-ui .product-review-form__rating label:has(input:checked) ~ label span { color: var(--color-warning); }

.wk-ui .product-related { margin-block-start: var(--spacing-2xl); }
.wk-ui .product-related__head { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-md); margin-block-end: var(--spacing-lg); }
.wk-ui .product-related__head h2 { margin: 0; font-size: var(--font-size-2xl); }
.wk-ui .product-related__slider { min-width: 0; overflow: hidden; }
.wk-ui .product-related__slider .swiper-slide { display: flex; height: auto; }
.wk-ui .product-related__slider .product-card { width: 100%; }

.wk-ui .product-viewed { margin-block-start: var(--spacing-2xl); }
.wk-ui .product-viewed__loading { display: flex; align-items: center; justify-content: center; gap: var(--spacing-sm); min-height: 180px; color: var(--color-text-muted); }

.wk-ui .product-mobile-buy { display: none; }
.wk-ui .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 1199px) {
  .wk-ui .product-page__hero { grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr); gap: var(--spacing-xl); }
  .wk-ui .product-summary__sticky { top: 104px; padding: var(--spacing-lg); }
  .wk-ui .product-page__content { grid-template-columns: 1fr; }
}

@media (max-width: 991px) {
  .wk-ui .product-page { padding-block-start: var(--spacing-md); }
  .wk-ui .product-page__hero { grid-template-columns: 1fr; }
  .wk-ui .product-summary__sticky { position: static; }
  .wk-ui .product-summary__title { font-size: clamp(1.55rem, 4vw, 2.25rem); }
}

@media (max-width: 767px) {
  .wk-ui.body_product_page { padding-block-end: calc(var(--wk-mobile-nav-height, 66px) + 84px); }
  .wk-ui .product-page { padding-block-end: var(--spacing-xl); }
  .wk-ui .product-page__breadcrumbs { margin-block-end: var(--spacing-md); }
  .wk-ui .product-page__breadcrumbs .breadcrumbs__list { flex-wrap: nowrap; overflow: hidden; white-space: nowrap; }
  .wk-ui .product-page__breadcrumbs .breadcrumbs__item { display: none; }
  .wk-ui .product-page__breadcrumbs .breadcrumbs__item:nth-last-child(2) { display: inline-flex; }
  .wk-ui .product-page__hero { gap: var(--spacing-md); }
  .wk-ui .product-summary__sticky { gap: var(--spacing-sm); padding: var(--spacing-md); border-radius: var(--radius-md); box-shadow: none; }
  .wk-ui .product-summary__heading .product-page__favorite { display: none; }
  .wk-ui .product-page__favorite--gallery { display: grid; }
  .wk-ui .product-summary__meta { gap: 6px 12px; }
  .wk-ui .product-summary__price-current { font-size: 1.8rem; }
  .wk-ui .product-purchase__row { display: none; }
  .wk-ui .product-page__content { gap: var(--spacing-md); margin-block-start: var(--spacing-lg); }
  .wk-ui .product-section { border-radius: var(--radius-md); }
  .wk-ui .product-section__head { min-height: 62px; padding: var(--spacing-sm) var(--spacing-md); }
  .wk-ui .product-section__body { padding: var(--spacing-md); }
  .wk-ui .product-specs__row { grid-template-columns: 1fr; gap: 4px; }
  .wk-ui .product-specs dd { text-align: start; }
  .wk-ui .product-reviews__head { align-items: flex-start; flex-direction: column; }
  .wk-ui .product-reviews__head .button { width: 100%; }
  .wk-ui .product-related { margin-block-start: var(--spacing-xl); }
  .wk-ui .product-related__head h2 { font-size: var(--font-size-xl); }
  .wk-ui .product-mobile-buy {
    position: fixed;
    z-index: 1080;
    inset-inline: 0;
    inset-block-end: var(--wk-mobile-nav-height, 66px);
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(150px, 1.2fr);
    gap: var(--spacing-sm);
    align-items: center;
    padding: 10px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));
    border-block-start: 1px solid var(--color-border);
    background: rgba(255,255,255,.97);
    box-shadow: 0 -10px 30px rgba(57,39,25,.12);
    backdrop-filter: blur(12px);
  }
  .wk-ui .product-mobile-buy__price { display: flex; min-width: 0; flex-direction: column; color: var(--color-text-strong); font-size: var(--font-size-lg); font-weight: 750; line-height: 1.15; }
  .wk-ui .product-mobile-buy__price del { color: var(--color-text-muted); font-size: var(--font-size-xs); font-weight: 400; }
  .wk-ui .product-mobile-buy__button { width: 100%; min-height: 50px; padding-inline: 10px; }
  .wk-ui .product-mobile-buy__quantity { width: 100%; min-width: 0; grid-template-columns: 42px minmax(44px, 1fr) 42px; }
}

@media (max-width: 479px) {
  .wk-ui .product-summary__sticky { padding-inline: 12px; }
  .wk-ui .product-option__choices { display: grid; grid-template-columns: 1fr 1fr; }
  .wk-ui .product-option-choice { min-width: 0; }
  .wk-ui .product-mobile-buy { grid-template-columns: minmax(0, .72fr) minmax(140px, 1.28fr); gap: 8px; }
  .wk-ui .product-mobile-buy__quantity { grid-template-columns: 38px minmax(40px, 1fr) 38px; }
}

.wk-ui .product-summary__discounts { padding: 10px 12px; border-radius: var(--radius-sm); background: var(--color-background-alt); }
.wk-ui .product-summary__discounts > strong { display: block; margin-block-end: 6px; font-size: var(--font-size-sm); }
.wk-ui .product-summary__discounts ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.wk-ui .product-summary__discounts li { display: flex; justify-content: space-between; gap: var(--spacing-md); color: var(--color-text-muted); font-size: var(--font-size-sm); }
.wk-ui .product-summary__discounts b { color: var(--color-text-strong); }
