/* Product-only, mobile-first marketplace hierarchy; existing purchase controls stay intact. */
.product-jumpnav { position:sticky; top:60px; z-index:1020; background:#fff; border-bottom:1px solid #e6eeea; }
.product-jumpnav .container { display:flex; gap:24px; overflow-x:auto; scrollbar-width:none; }
.product-jumpnav a { flex-shrink:0; padding:14px 0 12px; color:#52675d; font-size:.9rem; font-weight:600; text-decoration:none; border-bottom:3px solid transparent; }
.product-jumpnav a:hover,.product-jumpnav a:focus-visible { color:#12804c; border-bottom-color:#12804c; }
.product-jumpnav a span { font-size:.7rem; padding:2px 6px; border-radius:10px; background:#edf6f1; }
#productSection,#productDescription,#productReviews,#productDesigns { scroll-margin-top:125px; }
.product-social-proof { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:.85rem; margin:10px 0 16px; color:#63736a; }
.product-social-proof > span { padding-left:12px; border-left:1px solid #dce5df; }
.product-rating-link { color:#52675d; text-decoration:none; }
.product-rating-link strong { color:#20392b; }
.product-rating-link:hover { text-decoration:underline; }
#priceSection { padding:16px; border-radius:12px; background:#eff8f2; border:1px solid #deeee3; }
.product-price-label { display:block; color:#54735f; font-size:.75rem; margin-bottom:3px; }
.product-info #productName { font-size:1.45rem; letter-spacing:-.02em; color:#1d3428; }
.product-reviews { padding:24px 0; background:#f5f7f6; }
.reviews-panel { background:#fff; border:1px solid #e5ebe7; border-radius:16px; padding:24px; }
.reviews-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:18px; border-bottom:1px solid #edf1ee; }
.section-eyebrow { color:#5c7a69; font-size:.65rem; font-weight:700; letter-spacing:.1em; }
.reviews-header h2 { color:#1b3829; font-size:1.3rem; font-weight:700; margin:4px 0 0; }
.review-write-link { font-size:.85rem; color:#127345; white-space:nowrap; text-decoration:none; padding:8px 0; }
.review-summary { display:flex; gap:32px; align-items:center; padding:24px 0; }
.review-score { flex:0 0 150px; text-align:center; }
.review-score strong { font-size:2.75rem; line-height:1.1; color:#126c43; letter-spacing:-.04em; }
.review-score span,.review-score small { color:#718078; }
.review-stars { color:#bf760d; letter-spacing:2px; font-size:1rem; }
.review-score .review-stars { margin:7px 0; }
.review-distribution { flex:1; max-width:380px; }
.review-distribution a { display:flex; align-items:center; gap:10px; color:#5c6961; text-decoration:none; font-size:.75rem; min-height:24px; }
.review-distribution a > span { width:32px; white-space:nowrap; }
.review-distribution small { width:28px; text-align:right; }
.review-distribution meter { flex:1; height:8px; border-radius:10px; background:#eff2ef; }
.review-distribution meter::-webkit-meter-bar { background:#eff2ef; border:0; }
.review-distribution meter::-webkit-meter-optimum-value { background:#de9b30; border-radius:10px; }
.review-filters { display:flex; gap:8px; overflow-x:auto; padding:0 0 12px; }
.review-filters a { flex-shrink:0; min-height:42px; padding:10px 14px; border:1px solid #dfe6e1; border-radius:8px; color:#52635a; font-size:.8rem; text-decoration:none; }
.review-filters a.active { background:#eff8f2; border-color:#198754; color:#126c43; font-weight:600; }
.review-explainer { font-size:.75rem; color:#68786e; line-height:1.7; margin:12px 0; }
.review-card { border-top:1px solid #e9eeeb; padding:22px 0; }
.review-author { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.review-avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#eff5f1; color:#6b7e71; font-weight:600; }
.review-author strong { font-size:.88rem; }
.review-verified { color:#20764b; font-size:.7rem; margin-top:2px; }
.review-author time { margin-left:auto; font-size:.7rem; color:#718077; }
.review-comment { margin:10px 0 14px; font-size:.92rem; line-height:1.7; overflow-wrap:anywhere; }
.review-photos { display:flex; gap:8px; flex-wrap:wrap; }
.review-photos img { width:88px; height:88px; object-fit:cover; border-radius:9px; border:1px solid #e3e9e5; }
.review-photos a:focus-visible { outline:3px solid #198754; }
.review-empty { text-align:center; padding:30px 14px; max-width:470px; margin:auto; }
.review-empty-stars { color:#afbbb3; font-size:2rem; letter-spacing:5px; }
.review-empty h3 { font-size:1rem; font-weight:600; margin:14px 0 8px; color:#284d36; }
.review-empty p { font-size:.85rem; color:#6b7b70; line-height:1.7; }
.review-pagination { display:flex; justify-content:center; align-items:center; gap:24px; margin-top:16px; font-size:.85rem; }
.review-pagination a { color:#147847; padding:12px 0; }
@media (max-width:991.98px) {
  body:has(#productSection) #bottomNav { display:none!important; }
  .has-btm-nav .sticky-cta { bottom:0!important; }
  .product-breadcrumb { display:none; }
  .product-jumpnav { top:54px; }
  .product-jumpnav .container { justify-content:space-between; gap:16px; }
  #productSection { padding-top:0!important; }
  #productSection > .container > .row { --bs-gutter-y:16px; }
  #productSection .gallery-frame { border-radius:0; border:none; }
  #productSection .gallery-thumbs { margin-top:8px; padding-bottom:0; }
  #productSection .gallery-thumb { width:44px; height:44px; min-width:44px; border-radius:6px; }
  .product-info #productName { font-size:1.1rem; margin-bottom:0!important; }
  .product-social-proof { margin:8px 0 12px; font-size:.78rem; }
  #priceSection { padding:12px 14px; }
  #priceSection .price-current { font-size:1.6rem; }
  #colorSection,.variant-section[data-variant-index],#serviceSection { display:none!important; }
  #productSizeGuide { max-height:none; }
  .product-reviews { padding:10px 0; }
  .reviews-panel { padding:18px 16px; }
  .reviews-header h2 { font-size:1.1rem; }
  .review-write-link { font-size:.75rem; }
  .review-summary { gap:18px; padding:22px 0 16px; }
  .review-score { flex-basis:105px; }
  .review-score strong { font-size:2.3rem; }
  .review-score small { font-size:.7rem; }
  .review-photos img { width:72px; height:72px; }
  .sticky-cta { gap:8px; box-shadow:0 -3px 16px #1d342b0c; }
}
@media (prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }
