.single-product .site-header,
body.single-product .site-header { position: sticky; inset: auto; inset-block-start: 0; padding: 10px 0; background: rgba(245,243,238,.88); box-shadow: none; }
body.single-product .main-header { width: auto; min-height: 56px; margin-inline: 0; }
body.single-product .site-footer { display: block; }
body.single-product { background: var(--cheft-bg); }
.cheft-product-page { --cheft-ink: #1d211f; --cheft-muted: #656b67; background: transparent; font-size: inherit; }

.shop-shell { padding-block: 28px 80px; }
.cheft-shop-header { margin-block-end: 28px; }
.cheft-shop-header h1 { margin: 8px 0; font-size: clamp(2rem, 4vw, 3.6rem); }
.cheft-shop-header .term-description { max-width: 760px; color: var(--cheft-muted); }
.cheft-shop-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 28px; align-items: start; }
.cheft-filter-toggle, .cheft-catalog-filters__head button { display: none; }
.cheft-catalog-filters { position: sticky; inset-block-start: 98px; padding: 20px; border: 1px solid var(--cheft-line); border-radius: var(--cheft-radius); background: #fff; }
.cheft-catalog-filters__head { display: flex; align-items: center; justify-content: space-between; }
.cheft-catalog-filters__head h2 { margin-block-start: 0; font-size: 1.15rem; }
.cheft-catalog-filters form { display: grid; gap: 14px; }
.cheft-catalog-filters label { display: grid; gap: 5px; font-weight: 700; }
.cheft-catalog-filters input, .cheft-catalog-filters select { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--cheft-line); border-radius: 9px; background: #fff; }
.cheft-catalog-filters .cheft-check { grid-template-columns: auto 1fr; align-items: center; }
.cheft-catalog-filters .cheft-check input { width: 20px; min-height: 20px; }
.cheft-filter-reset { text-align: center; text-decoration: underline; }
.woocommerce .woocommerce-result-count { margin: 0; color: var(--cheft-muted); }
.woocommerce .woocommerce-ordering { margin: 0; }
.woocommerce .woocommerce-ordering select { min-height: 44px; padding-inline: 10px; border: 1px solid var(--cheft-line); border-radius: 10px; background: #fff; }
.woocommerce .products { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-block-start: 24px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; min-width: 0; margin: 0 !important; overflow: hidden; border: 1px solid var(--cheft-line); border-radius: var(--cheft-radius); background: #fff; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1/1; margin: 0; object-fit: contain; background: var(--cheft-surface-alt); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.9em; padding: 18px 18px 4px; font-size: 1rem; line-height: 1.45; }
.woocommerce ul.products li.product .price { display: block; min-height: 2.5em; padding-inline: 18px; color: var(--cheft-ink); font-size: .95rem; }
.woocommerce ul.products li.product .button { margin: 8px 18px 18px; min-height: 44px; border-radius: 999px; background: var(--cheft-dark); color: #fff; }
.woocommerce span.onsale { min-width: 0; min-height: 0; padding: 5px 10px; border-radius: 999px; background: var(--cheft-error); line-height: 1.5; }
.woocommerce nav.woocommerce-pagination ul { display: flex; gap: 5px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 42px; min-height: 42px; border: 1px solid var(--cheft-line); border-radius: 10px; background: #fff; }

.woocommerce div.product.cheft-product-page { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.cheft-product-breadcrumb { padding-block: 12px; }
.cheft-product-breadcrumb .woocommerce-breadcrumb { margin: 0; color: var(--cheft-muted); }
.cheft-product-hero { position: relative; height: auto; min-height: 640px; overflow: visible; padding-block: 34px 56px; background: linear-gradient(rgba(245,243,238,.88), rgba(245,243,238,.94)), var(--cheft-product-bg) center/cover no-repeat; }
.cheft-product-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.25), transparent); pointer-events: none; }
.cheft-product-hero__inner { position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); align-items: center; width: var(--cheft-shell); height: auto; min-height: 0; gap: clamp(24px, 5vw, 72px); }
.cheft-product-gallery { min-width: 0; }
.cheft-product-gallery__viewport { position: relative; display: grid; place-items: center; min-height: 520px; }
.cheft-product-gallery__slide { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.cheft-product-gallery__slide img { width: 100%; height: 100%; max-height: 560px; object-fit: contain; filter: drop-shadow(0 25px 30px rgba(0,0,0,.16)); }
.cheft-product-gallery__thumbs { display: flex; justify-content: center; gap: 9px; }
.cheft-product-gallery__thumbs button { width: 68px; height: 68px; padding: 4px; overflow: hidden; border: 1px solid transparent; border-radius: 10px; background: rgba(255,255,255,.72); }
.cheft-product-gallery__thumbs button.is-active { border-color: var(--cheft-dark); }
.cheft-product-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; }
.cheft-product-gallery__dots { display: none; }
.cheft-product-card-wrap { position: relative; inset: auto; width: auto; max-width: none; transform: none; }
.cheft-product-card { display: block; width: 100%; height: auto; min-height: 0; padding: clamp(22px, 3vw, 34px); overflow: visible; border: 1px solid rgba(255,255,255,.7); border-radius: 26px; background: rgba(255,255,255,.86); box-shadow: var(--cheft-shadow); backdrop-filter: blur(14px); }
.cheft-product-card__head { display: block; }
.cheft-product-category { margin-block-end: 8px; color: var(--cheft-wood); font-size: .86rem; font-weight: 700; }
.cheft-product-card h1, .cheft-product-card .product_title { margin: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; font-size: clamp(1.55rem, 3vw, 2.45rem); line-height: 1.35; }
.cheft-product-sku { margin: 5px 0; color: var(--cheft-muted); font-size: .82rem; }
.cheft-product-rating { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-block: 10px; }
.cheft-stars { --rating-percent: 0%; position: relative; display: inline-block; color: #d4d0c7; line-height: 1; letter-spacing: 2px; }
.cheft-stars::before { content: "★★★★★"; position: absolute; inset: 0; width: var(--rating-percent); overflow: hidden; color: #b8792e; }
.cheft-product-price, .woocommerce .cheft-product-price { display: block !important; margin-block: 12px 18px; color: var(--cheft-ink); font-size: clamp(1.25rem, 2.5vw, 1.8rem); font-weight: 800; white-space: normal; }
.cheft-product-price del { color: var(--cheft-muted); font-size: .8em; font-weight: 500; }
.cheft-product-price ins { text-decoration: none; }
.woocommerce-product-details__short-description { color: var(--cheft-muted); }
.cheft-product-status { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-block: 14px; padding-block: 12px; border-block: 1px solid var(--cheft-line); }
.cheft-product-status p { margin: 0; }
.cheft-ready-badge { padding: 4px 9px; border-radius: 999px; background: #e3f0e8; color: var(--cheft-success); font-size: .82rem; }
.cheft-legacy-options { margin-block: 14px; padding: 13px; border: 1px solid #dfc99f; border-radius: 10px; background: #fff8e9; color: #5f4a26; }
.cheft-legacy-options p { margin-block-start: 0; font-weight: 700; }
.cheft-legacy-options small { display: block; margin-block-start: 7px; }
.cheft-native-cart form.cart { display: block; margin: 18px 0 0 !important; }
.cheft-native-cart .variations { margin: 0 0 14px; }
.cheft-native-cart .variations tr { display: grid; gap: 6px; margin-block-end: 14px; }
.cheft-native-cart .variations th, .cheft-native-cart .variations td { display: block; padding: 0; text-align: start; }
.cheft-native-cart .variations label { font-weight: 800; }
.cheft-native-select { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.cheft-variation-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.cheft-variation-buttons button { min-height: 42px; padding: 7px 13px; border: 1px solid var(--cheft-line); border-radius: 10px; background: #fff; color: var(--cheft-ink); }
.cheft-variation-buttons button.is-selected { border-color: var(--cheft-dark); box-shadow: inset 0 0 0 2px var(--cheft-dark); }
.cheft-variation-buttons button:disabled { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.cheft-native-cart .reset_variations { display: inline-block !important; margin-block-start: 8px; color: var(--cheft-error); font-size: .85rem; }
.cheft-native-cart .single_variation_wrap, .cheft-native-cart .woocommerce-variation, .cheft-native-cart .woocommerce-variation-price, .cheft-native-cart .woocommerce-variation-availability { display: block; }
.cheft-native-cart .woocommerce-variation-price { margin-block: 10px; font-size: 1.15rem; font-weight: 800; }
.cheft-native-cart .woocommerce-variation-add-to-cart, .cheft-native-cart form.cart:not(.variations_form) { display: flex; align-items: stretch; gap: 9px; }
.cheft-native-cart .quantity .qty { width: 72px; min-height: 50px; border: 1px solid var(--cheft-line); border-radius: 10px; }
.woocommerce div.product .cheft-native-cart .single_add_to_cart_button, .cheft-inquiry-button { flex: 1; min-height: 50px; margin: 0; border-radius: 10px; background: var(--cheft-dark); color: #fff; font-size: 1rem; }
.woocommerce div.product .cheft-native-cart .single_add_to_cart_button.disabled { opacity: .45; }
.cheft-custom-order-link { display: block; margin-block-start: 14px; color: var(--cheft-wood); font-weight: 700; }
.cheft-purchase-notes { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.cheft-purchase-notes li { display: grid; grid-template-columns: 70px 1fr; gap: 8px; font-size: .88rem; }
.cheft-purchase-notes span { color: var(--cheft-muted); }
.cheft-product-content { display: grid; gap: 24px; padding-block: 64px; }
.cheft-product-section { padding: clamp(24px, 4vw, 44px); border: 1px solid var(--cheft-line); border-radius: var(--cheft-radius); background: #fff; }
.cheft-product-section > h2, .cheft-review-heading h2 { margin-block-start: 0; font-size: clamp(1.4rem, 2.5vw, 2rem); }
.cheft-prose { max-width: 900px; color: #3f4642; }
.cheft-spec-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 24px; margin: 0; }
.cheft-spec-row { display: grid; grid-template-columns: minmax(100px,.8fr) 1.2fr; gap: 12px; padding-block: 13px; border-bottom: 1px solid var(--cheft-line); }
.cheft-spec-row dt { color: var(--cheft-muted); }
.cheft-spec-row dd { margin: 0; font-weight: 700; }
.cheft-review-heading p { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.cheft-buyer-strip { display: flex; gap: 8px; overflow-x: auto; margin-block: 18px; }
.cheft-buyer-strip button { flex: 0 0 96px; width: 96px; height: 96px; padding: 0; overflow: hidden; border: 1px solid var(--cheft-line); border-radius: 10px; }
.cheft-buyer-strip img { width: 100%; height: 100%; object-fit: cover; }
.cheft-buyer-summary-card { margin-block: 18px; padding: 20px; border-radius: 14px; background: var(--cheft-surface-alt); }
.cheft-buyer-summary-card h3 { margin-block-start: 0; }
.cheft-sentiment-row { display: flex; flex-wrap: wrap; gap: 7px; }
.cheft-sentiment-row span { padding: 5px 9px; border-radius: 999px; font-size: .83rem; }
.cheft-sentiment-row .is-good { background: #dcece2; color: var(--cheft-success); }
.cheft-sentiment-row .is-bad { background: #f4e1df; color: var(--cheft-error); }
.cheft-native-reviews #reviews, .cheft-native-reviews #comments { margin: 0; }
.cheft-native-reviews #comments > h2 { font-size: 1.2rem; }
.cheft-native-reviews .commentlist { padding: 0; }
.cheft-native-reviews .comment_container { padding: 16px; border: 1px solid var(--cheft-line); border-radius: 12px; }
.cheft-native-reviews #review_form_wrapper { margin-block-start: 28px; }
.cheft-native-reviews input, .cheft-native-reviews textarea, .cheft-native-reviews select { min-height: 46px; padding: 9px 11px; border: 1px solid var(--cheft-line); border-radius: 9px; }
.cheft-mobile-purchase { display: none; }
.cheft-gallery-modal { position: fixed; inset: 0; z-index: 100; display: grid; grid-template-rows: 1fr auto; padding: 24px; background: rgba(10,11,10,.94); color: #fff; }
.cheft-gallery-modal__close { position: absolute; inset-block-start: 16px; inset-inline-end: 16px; z-index: 2; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 1.7rem; }
.cheft-gallery-modal__viewer { min-height: 0; display: grid; grid-template-columns: 50px minmax(0,1fr) 50px; align-items: center; gap: 12px; }
.cheft-gallery-modal__viewer > button { width: 50px; height: 50px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: transparent; color: #fff; font-size: 2rem; }
.cheft-gallery-modal__viewer figure { display: grid; place-items: center; min-height: 0; height: 78vh; margin: 0; }
.cheft-gallery-modal__viewer figure img { max-width: 100%; max-height: 72vh; object-fit: contain; }
.cheft-gallery-modal__viewer figcaption { min-height: 1.5em; }
.cheft-gallery-modal__thumbs { display: flex; justify-content: center; gap: 7px; overflow-x: auto; }
.cheft-gallery-modal__thumbs button { flex: 0 0 68px; width: 68px; height: 68px; padding: 3px; border: 1px solid transparent; border-radius: 8px; background: rgba(255,255,255,.1); }
.cheft-gallery-modal__thumbs button.is-active { border-color: #fff; }
.cheft-gallery-modal__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.woocommerce .related.products, .woocommerce .upsells.products { width: var(--cheft-shell); margin: 0 auto; padding-block: 20px 70px; }

.woocommerce-cart-form, .woocommerce .cart_totals, .woocommerce form.checkout, .woocommerce-checkout-review-order, .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { border: 1px solid var(--cheft-line); border-radius: var(--cheft-radius); background: #fff; box-shadow: none; }
.woocommerce table.shop_table { border-color: var(--cheft-line); border-radius: var(--cheft-radius); }
.woocommerce form .form-row label { font-weight: 700; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 48px; border: 1px solid var(--cheft-line); border-radius: 9px; background: #fff; }
.woocommerce-checkout #payment { border-radius: var(--cheft-radius); background: var(--cheft-surface-alt); }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-radius: 10px; background: #fff; }
.wc-block-cart, .wc-block-checkout, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { color: var(--cheft-ink); }
.wc-block-components-sidebar, .wc-block-components-order-summary, .wc-block-components-totals-wrapper { border-color: var(--cheft-line) !important; border-radius: var(--cheft-radius); background: #fff; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { min-height: 48px; border-color: var(--cheft-line) !important; border-radius: 9px !important; }
.wc-block-components-button:not(.is-link) { min-height: 50px; border-radius: 10px; background: var(--cheft-dark); color: #fff; }
body.filter-open { overflow: hidden; }

@media (max-width: 1080px) {
  .cheft-shop-layout { grid-template-columns: 220px minmax(0,1fr); }
  .woocommerce .products { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cheft-product-hero__inner { grid-template-columns: 1fr 380px; gap: 24px; }
  .cheft-product-gallery__viewport { min-height: 440px; }
}

@media (max-width: 720px) {
  .shop-shell { padding-block-start: 18px; }
  .cheft-shop-layout { display: block; }
  .cheft-filter-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-block-end: 14px; padding: 10px 14px; border: 1px solid var(--cheft-line); border-radius: 10px; background: #fff; }
  .cheft-catalog-filters { position: fixed; inset-block: 0; inset-inline-start: 0; z-index: 90; width: min(360px, 90vw); overflow-y: auto; border-radius: 0; transform: translateX(-105%); transition: transform var(--cheft-transition); }
  body.filter-open .cheft-catalog-filters { transform: translateX(0); box-shadow: var(--cheft-shadow); }
  .cheft-catalog-filters__head button { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--cheft-line); border-radius: 50%; background: #fff; }
  .woocommerce .products { grid-template-columns: 1fr 1fr; gap: 10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 3.8em; padding: 12px 12px 3px; font-size: .9rem; }
  .woocommerce ul.products li.product .price { padding-inline: 12px; font-size: .78rem; }
  .woocommerce ul.products li.product .button { width: calc(100% - 20px); margin: 7px 10px 12px; padding-inline: 8px; font-size: .78rem; }
  .cheft-product-breadcrumb { padding-block: 8px; }
  .cheft-product-hero { min-height: 0; padding-block: 10px 32px; background: var(--cheft-bg); }
  .cheft-product-hero__shade { display: none; }
  .cheft-product-hero__inner { display: flex; flex-direction: column; width: 100%; gap: 14px; }
  .cheft-product-gallery { width: 100%; }
  .cheft-product-gallery__viewport { min-height: 390px; background: #efede8; }
  .cheft-product-gallery__slide img { max-height: 390px; padding: 12px; filter: none; }
  .cheft-product-gallery__thumbs { display: none; }
  .cheft-product-gallery__dots { display: flex; justify-content: center; gap: 6px; padding-block: 10px; }
  .cheft-product-gallery__dots button { width: 8px; min-width: 8px; height: 8px; min-height: 8px; padding: 0; border: 0; border-radius: 50%; background: #c7c3bb; }
  .cheft-product-gallery__dots button.is-active { width: 24px; border-radius: 999px; background: var(--cheft-dark); }
  .cheft-product-card-wrap { width: var(--cheft-shell); }
  .cheft-product-card { padding: 20px; border-radius: 20px; backdrop-filter: none; }
  .cheft-product-card h1, .cheft-product-card .product_title { font-size: 1.55rem; }
  .cheft-product-price, .woocommerce .cheft-product-price { font-size: 1.28rem; }
  .cheft-native-cart .woocommerce-variation-add-to-cart, .cheft-native-cart form.cart:not(.variations_form) { align-items: stretch; }
  .cheft-native-cart .quantity .qty { width: 64px; }
  .cheft-product-content { padding-block: 34px; }
  .cheft-product-section { padding: 20px; }
  .cheft-spec-list { grid-template-columns: 1fr; }
  .cheft-spec-row { grid-template-columns: minmax(90px,.8fr) 1.2fr; }
  .cheft-mobile-purchase:not([hidden]) { position: fixed; inset-inline: 8px; inset-block-end: calc(78px + env(safe-area-inset-bottom)); z-index: 44; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 9px; border: 1px solid rgba(255,255,255,.7); border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 12px 32px rgba(0,0,0,.16); backdrop-filter: blur(12px); }
  .cheft-mobile-purchase > div { min-width: 0; display: grid; }
  .cheft-mobile-purchase .stock { margin: 0; font-size: .72rem; }
  .cheft-mobile-purchase strong { overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
  .cheft-mobile-purchase button, .cheft-mobile-purchase a { display: grid; place-items: center; min-height: 46px; padding: 8px 14px; border: 0; border-radius: 11px; background: var(--cheft-dark); color: #fff; }
  body.cheft-gallery-open .cheft-mobile-purchase { display: none !important; }
  .cheft-gallery-modal { padding: 12px; }
  .cheft-gallery-modal__viewer { grid-template-columns: 42px minmax(0,1fr) 42px; gap: 4px; }
  .cheft-gallery-modal__viewer > button { width: 42px; height: 42px; }
}
