/* ======================================
   Amazon Listing Demo – style.css
   Amazon color tokens:
     --header-bg:    #131921
     --nav-bg:       #232f3e
     --orange:       #FF9900
     --yellow-btn:   #FFD814
     --orange-btn:   #FFA41C
     --teal-link:    #007185
     --price-red:    #B12704
     --text-main:    #0F1111
     --text-muted:   #565959
     --border:       #D5D9D9
     --star:         #FF9900
====================================== */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: "Amazon Ember", Arial, sans-serif;
  font-size: 14px;
  color: #0F1111;
  background: #fff;
  min-width: 320px;
}

a { color: #007185; text-decoration: none; }
a:hover { color: #C45500; text-decoration: underline; }

/* ===== HEADER ===== */
.header {
  background: #131921;
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
}

.header-inner {
  display: flex;
  align-items: center;
  max-width: 1500px;
  margin: 0 auto;
  padding: 8px 16px;
  gap: 10px;
}

.header-logo {
  display: flex;
  align-items: flex-end;
  color: #fff;
  text-decoration: none;
  padding: 4px 6px;
  border: 2px solid transparent;
  border-radius: 2px;
  flex-shrink: 0;
}
.header-logo:hover { border-color: white; text-decoration: none; color: #fff; }
.header-logo-suffix { color: #FF9900; font-size: 11px; margin-left: 1px; margin-bottom: 4px; font-weight: 700; }

.header-search {
  display: flex;
  flex: 1;
  height: 40px;
  border-radius: 4px;
  overflow: hidden;
  min-width: 0;
}

.search-category {
  background: #f3f3f3;
  border-right: 1px solid #cdba96;
  padding: 0 12px;
  display: flex;
  align-items: center;
  font-size: 13px;
  color: #111;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
.search-category:hover { background: #e0e0e0; }

.search-input {
  flex: 1;
  border: none;
  outline: none;
  padding: 0 10px;
  font-size: 15px;
  min-width: 0;
}

.search-btn {
  background: #FF9900;
  border: none;
  padding: 0 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.search-btn:hover { background: #FA8900; }

.header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.header-action {
  display: flex;
  flex-direction: column;
  color: #fff;
  text-decoration: none;
  padding: 4px 8px;
  border: 2px solid transparent;
  border-radius: 2px;
  line-height: 1.3;
}
.header-action:hover { border-color: white; text-decoration: none; color: #fff; }

.action-line1 { font-size: 12px; }
.action-line2 { font-size: 14px; font-weight: 700; }

.header-cart {
  flex-direction: row;
  align-items: center;
  gap: 2px;
  position: relative;
}
.cart-count {
  position: absolute;
  top: 0;
  left: 32px;
  background: #FF9900;
  color: #111;
  font-size: 13px;
  font-weight: 700;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Sub-nav */
.header-nav {
  background: #232f3e;
}
.header-nav-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  gap: 0;
}
.nav-link {
  color: #fff;
  text-decoration: none;
  padding: 8px 12px;
  font-size: 14px;
  border: 2px solid transparent;
  border-radius: 2px;
  white-space: nowrap;
}
.nav-link:hover { border-color: white; text-decoration: none; color: #fff; }
.nav-all { font-weight: 700; }

/* ===== BREADCRUMB ===== */
.breadcrumb-bar {
  max-width: 1500px;
  margin: 0 auto;
  padding: 8px 16px;
}
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; font-size: 13px; }
.breadcrumb a { color: #007185; }
.bc-sep { color: #565959; margin: 0 2px; }
.bc-current { color: #565959; }

/* ===== MAIN PRODUCT LAYOUT ===== */
.product-page {
  display: grid;
  grid-template-columns: 500px 1fr 290px;
  grid-template-areas: "gallery info buybox";
  max-width: 1460px;
  margin: 0 auto;
  padding: 16px 24px 0;
  gap: 24px;
  align-items: start;
}

@media (max-width: 1100px) {
  .product-page {
    grid-template-columns: 420px 1fr 270px;
    gap: 18px;
  }
}

@media (max-width: 900px) {
  .product-page {
    grid-template-columns: 1fr 260px;
    grid-template-areas:
      "gallery gallery"
      "info buybox";
  }
}

@media (max-width: 768px) {
  .product-page {
    grid-template-columns: 1fr;
    grid-template-areas:
      "gallery"
      "info"
      "buybox";
  }
}

/* ===== IMAGE GALLERY ===== */
.product-gallery {
  grid-area: gallery;
  display: flex;
  gap: 8px;
  position: sticky;
  top: 72px;
  align-self: start;
}

/* Thumbnail strip */
.thumb-strip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 68px;
  flex-shrink: 0;
}

.thumb-scroll-btn {
  background: none;
  border: 1px solid #D5D9D9;
  border-radius: 4px;
  width: 50px;
  height: 22px;
  cursor: pointer;
  font-size: 16px;
  color: #555;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.thumb-scroll-btn:hover { border-color: #FF9900; color: #FF9900; }

.thumb-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: hidden;
  max-height: 476px;
  width: 68px;
}

.thumb {
  width: 62px;
  height: 62px;
  border: 2px solid #D5D9D9;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f7f7;
  transition: border-color .15s;
}
.thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.thumb:hover { border-color: #FF9900; }
.thumb.active { border-color: #FF9900; border-width: 2px; }

/* Placeholder for missing images */
.thumb.img-placeholder {
  background: #f0f0f0;
  position: relative;
}
.thumb.img-placeholder::after {
  content: attr(data-index);
  font-size: 11px;
  color: #999;
}
.thumb.img-placeholder img { display: none; }

/* Main image viewer */
.main-image-wrap {
  flex: 1;
  position: relative;
  min-width: 0;
}

.main-image-slider {
  width: 100%;
  aspect-ratio: 1;
  background: #fff;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  cursor: crosshair;
}

.main-image-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
  background: #fff;
}
.main-image-slide.active {
  opacity: 1;
  pointer-events: auto;
}
.main-image-slide img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

/* Placeholder slide */
.main-image-slide.slide-placeholder {
  background: linear-gradient(135deg, #f5f5f5 25%, #e8e8e8 50%, #f5f5f5 75%);
  background-size: 200% 200%;
  animation: shimmer 1.5s infinite;
}
.main-image-slide.slide-placeholder::after {
  content: "Image Placeholder";
  position: absolute;
  font-size: 14px;
  color: #aaa;
  text-align: center;
}
.main-image-slide.slide-placeholder img { display: none; }

@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ─── Sub-image slider (within main gallery slide) ──── */
.sub-img-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
/* Use parent class to get specificity (0,2,0) > .main-image-slide img (0,1,1) */
.main-image-slide .sub-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  opacity: 0;
  transition: opacity 0.4s ease;
  background: #fff;
}
.main-image-slide .sub-img.active {
  opacity: 1;
}
.has-sub-prev,
.has-sub-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: rgba(255,255,255,0.88);
  border: 1px solid #D5D9D9;
  border-radius: 50%;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  box-shadow: 0 1px 4px rgba(0,0,0,.15);
  opacity: 0;
  transition: opacity 0.2s;
  color: #555;
}
.main-image-slide.active:hover .has-sub-prev,
.main-image-slide.active:hover .has-sub-next { opacity: 1; }
.has-sub-prev { left: 8px; }
.has-sub-next { right: 8px; }
.sub-dot-wrap {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 10;
}
.sub-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.6);
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
.sub-dot.active { background: #FF9900; border-color: #FF9900; }

/* ─── A+ Content slideshow ──────────────────────────── */
.aplus-slideshow {
  position: relative;
  overflow: hidden;
  background: #f0f2f2;
  /* default aspect ratio matches A+ content images (1464×600) */
  aspect-ratio: 1464 / 600;
}
/* Brand banner has different aspect ratio */
.brand-banner.aplus-slideshow {
  aspect-ratio: 1464 / 400;
  margin-bottom: 16px;
  border-radius: 4px;
}
.aplus-slideshow .aplus-sub-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.aplus-slideshow .aplus-sub-img.active {
  opacity: 1;
}
.aplus-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.35);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  font-size: 18px;
  cursor: pointer;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s, background 0.2s;
}
.aplus-block.aplus-slideshow:hover .aplus-nav-btn,
.aplus-slideshow:hover .aplus-nav-btn { opacity: 1; }
.aplus-nav-btn:hover { background: rgba(0,0,0,0.65); }
.aplus-sub-prev { left: 14px; }
.aplus-sub-next { right: 14px; }
.aplus-sub-dot-wrap {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 5;
}
.aplus-sub-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.55);
  cursor: pointer;
  transition: background 0.2s;
}
.aplus-sub-dot.active { background: #FF9900; }

/* Image nav buttons */
.img-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  background: rgba(255,255,255,0.92);
  border: 1px solid #D5D9D9;
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  transition: box-shadow .15s, border-color .15s;
  color: #555;
}
.img-nav-btn:hover { border-color: #FF9900; box-shadow: 0 2px 12px rgba(0,0,0,.2); }
.img-nav-prev { left: 8px; }
.img-nav-next { right: 8px; }

/* Image dot indicators */
.img-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 10px;
}
.img-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #D5D9D9;
  cursor: pointer;
  transition: background .2s;
}
.img-dot.active { background: #FF9900; }

/* ===== PRODUCT INFO (center column) ===== */
.product-info {
  grid-area: info;
  min-width: 0;
}

.product-brand a {
  font-size: 14px;
  color: #007185;
}

.product-title {
  font-size: 21px;
  font-weight: 400;
  line-height: 1.3;
  margin: 8px 0 10px;
  color: #0F1111;
}

.product-rating-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 6px 0;
}

/* Stars */
.stars {
  display: flex;
  align-items: center;
  color: #FF9900;
  font-size: 18px;
  line-height: 1;
}
.stars.small { font-size: 14px; }
.stars.large { font-size: 28px; }
.star { display: inline-block; }
.star.full { color: #FF9900; }
.star.half {
  color: #FF9900;
  position: relative;
}
.star.empty { color: #D5D9D9; }
.stars.negative .star.full { color: #CC0000; }

.rating-score-link { font-size: 14px; color: #007185; }
.rating-count { font-size: 14px; color: #007185; }
.rating-sep { color: #565959; }
.bought-badge { font-size: 14px; color: #C45500; font-weight: 500; }

.product-divider {
  border: none;
  border-top: 1px solid #D5D9D9;
  margin: 12px 0;
}

/* Price */
.price-block { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }

.price-label {
  background: #CC0C00;
  color: white;
  padding: 2px 5px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 3px;
}

.price-main { display: flex; align-items: flex-start; color: #B12704; }
.price-symbol { font-size: 14px; margin-top: 4px; }
.price-int { font-size: 28px; font-weight: 400; line-height: 1; }
.price-frac { font-size: 14px; margin-top: 4px; }

.price-list { font-size: 13px; color: #565959; align-self: center; }
.price-list-val { text-decoration: line-through; }

.free-returns { font-size: 13px; color: #007600; align-self: center; }

/* About this item */
.about-title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
}

.bullet-list {
  list-style: disc;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bullet-list li { font-size: 14px; line-height: 1.5; }

/* ===== AMAZON CONFIRMED FIT ===== */
.acf-widget {
  border: 1px solid #D5D9D9;
  border-radius: 6px;
  overflow: hidden;
  font-size: 14px;
}
.acf-bar {
  background: #232f3e;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
}
.acf-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: #7fba00;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
  line-height: 1;
}
.acf-howworks {
  margin-left: auto;
  font-size: 12px;
  color: #aaa;
  font-weight: 400;
  text-decoration: none;
}
.acf-howworks:hover { color: #fff; }
.acf-selectors {
  display: flex;
  gap: 8px;
  padding: 10px 12px;
  background: #f7f8f8;
  flex-wrap: wrap;
  border-top: 1px solid #D5D9D9;
}
.acf-select {
  flex: 1;
  min-width: 78px;
  border: 1px solid #D5D9D9;
  border-radius: 4px;
  padding: 6px 6px;
  font-size: 13px;
  background: #fff;
  cursor: pointer;
  color: #0F1111;
}
.acf-select:disabled { background: #f0f2f2; color: #aaa; cursor: default; }
.acf-go-btn {
  background: #FFD814;
  border: none;
  border-radius: 6px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(213,217,217,.6);
}
.acf-go-btn:hover:not(:disabled) { background: #F7CA00; }
.acf-go-btn:disabled { background: #f0f2f2; color: #aaa; cursor: default; box-shadow: none; }
.acf-result {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-size: 14px;
  background: #EAF7EE;
  border-top: 1px solid #007600;
  color: #007600;
  font-weight: 500;
}
.acf-result.visible { display: flex; }
.acf-result.not-compatible { background: #FFF5F5; border-top-color: #CC0000; color: #CC0000; }
.acf-change { margin-left: auto; font-size: 12px; color: #007185; font-weight: 400; text-decoration: none; }
.acf-change:hover { text-decoration: underline; }

/* ===== PRIME ===== */
.prime-pill {
  display: inline-block;
  background: #00A8E0;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  padding: 2px 6px 3px;
  border-radius: 3px;
  letter-spacing: 1.2px;
  text-transform: lowercase;
  vertical-align: middle;
  line-height: 1;
}
.price-prime-delivery {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  font-size: 14px;
  color: #0F1111;
  margin-top: 2px;
}
.prime-details-link { color: #007185; }
.prime-details-link:hover { text-decoration: underline; color: #C7511F; }
.buy-prime-logo-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #0F1111;
}
.buy-prime-logo-row .prime-pill {
  font-size: 12px;
  padding: 3px 8px 4px;
  letter-spacing: 1.5px;
}
.prime-join-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #EBF6FF;
  border: 1px solid #A0D4EF;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px;
  color: #0F1111;
  flex-wrap: wrap;
}
.prime-try-link {
  margin-left: auto;
  color: #007185;
  font-weight: 600;
  font-size: 13px;
  white-space: nowrap;
  text-decoration: none;
}
.prime-try-link:hover { text-decoration: underline; color: #C7511F; }

/* ===== BUY BOX ===== */
.buy-box {
  grid-area: buybox;
  border: 1px solid #D5D9D9;
  border-radius: 8px;
  padding: 16px;
  position: sticky;
  top: 72px;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.buy-price {
  display: flex;
  align-items: flex-start;
  color: #0F1111;
}
.buy-price-symbol { font-size: 14px; margin-top: 4px; }
.buy-price-int { font-size: 28px; font-weight: 400; line-height: 1; }
.buy-price-frac { font-size: 14px; margin-top: 4px; }

.buy-shipping, .buy-prime-note { font-size: 14px; color: #0F1111; }
.countdown { color: #CC0C00; font-weight: 500; }

.instock-text { color: #007600; font-size: 18px; font-weight: 400; }

.buy-qty-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}
.qty-select {
  border: 1px solid #D5D9D9;
  border-radius: 8px;
  padding: 6px 8px;
  background: #f0f2f2;
  font-size: 13px;
  cursor: pointer;
}

.btn-add-to-cart {
  width: 100%;
  padding: 10px 18px;
  background: #FFD814;
  border: none;
  border-radius: 20px;
  font-size: 14px;
  cursor: pointer;
  font-weight: 400;
  box-shadow: 0 2px 5px 0 rgba(213,217,217,.5);
  transition: background .15s, box-shadow .15s;
}
.btn-add-to-cart:hover { background: #F7CA00; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.btn-add-to-cart:active { background: #f0c400; transform: scale(.99); }

.btn-buy-now {
  width: 100%;
  padding: 10px 18px;
  background: #FFA41C;
  border: none;
  border-radius: 20px;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 2px 5px 0 rgba(213,217,217,.5);
  transition: background .15s;
}
.btn-buy-now:hover { background: #fa8900; }

.buy-details {
  border-top: 1px solid #D5D9D9;
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.buy-detail-row {
  display: flex;
  gap: 8px;
  font-size: 14px;
}
.buy-detail-label { font-weight: 700; width: 80px; flex-shrink: 0; }
.buy-detail-val { color: #0F1111; }
.buy-detail-val a { color: #007185; }

.buy-actions-secondary { margin-top: 4px; }
.btn-secondary {
  width: 100%;
  padding: 8px 18px;
  background: #f0f2f2;
  border: 1px solid #D5D9D9;
  border-radius: 20px;
  font-size: 14px;
  cursor: pointer;
  transition: background .15s;
}
.btn-secondary:hover { background: #e3e6e6; }

/* ===== A+ SECTION ===== */
.aplus-section {
  background: #fff;
  padding: 32px 0 0;
  border-top: 8px solid #f0f2f2;
  margin-top: 32px;
}
.aplus-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 24px;
}

.section-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #D5D9D9;
}

.from-brand { margin-bottom: 32px; }
.product-description { margin-bottom: 32px; }

/* A+ image blocks */
.aplus-block {
  width: 100%;
  margin-bottom: 0;
  overflow: hidden;
  display: block;
  font-size: 0; /* collapse inline gap */
}
.brand-banner {
  width: 100%;
  margin-bottom: 16px;
  border-radius: 4px;
  overflow: hidden;
}
.aplus-block img, .brand-banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* Placeholder for full-width A+ images */
.img-placeholder-full {
  background: #f0f2f2;
  border: 2px dashed #D5D9D9;
  overflow: hidden;
  position: relative;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.img-placeholder-full img { display: none; }
.img-placeholder-full::before {
  content: attr(data-label);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 14px;
  color: #999;
  text-align: center;
  pointer-events: none;
  white-space: nowrap;
}
/* Show image if it loads */
.img-placeholder-full.img-loaded img { display: block; }
.img-placeholder-full.img-loaded {
  background: none;
  border: none;
  min-height: 0;
}
.img-placeholder-full.img-loaded::before { display: none; }

/* ===== PRODUCT INFO TABLE ===== */
.product-info-table-section {
  padding: 32px 0;
  border-top: 8px solid #f0f2f2;
  background: #fff;
}
.table-wrap {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Two-column outer container */
.pinfo-two-col {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}
.pinfo-left-col,
.pinfo-right-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Collapsible card */
.pinfo-card {
  border: 1px solid #D5D9D9;
  background: #fff;
}
.pinfo-card-hd {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border: none;
  border-bottom: 1px solid #D5D9D9;
  padding: 12px 16px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  color: #0F1111;
  cursor: pointer;
  text-align: left;
}
.pinfo-card-hd:hover { background: #f7f8f8; }
.pinfo-chevron {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.pinfo-card.collapsed .pinfo-chevron {
  transform: rotate(180deg);
}
.pinfo-card-body {
  overflow: hidden;
}
.pinfo-card.collapsed .pinfo-card-body {
  display: none;
}

/* Table rows inside cards */
.pinfo-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.pinfo-table tr {
  border-bottom: 1px solid #e7e7e7;
}
.pinfo-table tr:nth-child(even) {
  background: #f7f8f8;
}
.pinfo-table tr:last-child {
  border-bottom: none;
}
.pinfo-table td {
  padding: 9px 16px;
  vertical-align: top;
  line-height: 1.5;
  color: #0F1111;
}
.pinfo-td-label {
  width: 38%;
  font-weight: 700;
  font-size: 13px;
  color: #565959;
}

/* Stars */
.pinfo-stars {
  color: #FF9900;
  font-size: 15px;
  letter-spacing: 0.5px;
  vertical-align: middle;
}
.pinfo-star-half { opacity: 0.35; }
.pinfo-rating-val {
  font-size: 14px;
  font-weight: 700;
  color: #0F1111;
  margin: 0 2px;
  vertical-align: middle;
}
.pinfo-review-count {
  vertical-align: middle;
  font-size: 14px;
}

/* Links */
.pinfo-link {
  color: #007185;
  text-decoration: none;
}
.pinfo-link:hover { text-decoration: underline; color: #C7511F; }

/* Warranty & Feedback plain blocks */
.pinfo-warranty-block,
.pinfo-feedback-block {
  padding: 4px 0;
}
.pinfo-block-title {
  font-size: 14px;
  font-weight: 700;
  color: #0F1111;
  margin-bottom: 6px;
}
.pinfo-block-text {
  font-size: 13px;
  color: #555;
  line-height: 1.55;
  margin: 0 0 8px 0;
}
.pinfo-block-text:last-child { margin-bottom: 0; }
.pinfo-feedback-caret {
  font-size: 17px;
  color: #0F1111;
}

@media (max-width: 860px) {
  .pinfo-two-col {
    flex-direction: column;
    gap: 12px;
  }
  .pinfo-td-label { width: 42%; }
}

/* ===== PRODUCT VIDEOS ===== */
.video-section {
  padding: 32px 0;
  border-top: 8px solid #f0f2f2;
  background: #fff;
}
.video-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 24px;
}
.video-layout {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.video-main-player {
  flex: 1;
  min-width: 0;
}
.video-player-frame {
  background: #111;
  border-radius: 6px;
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
}
.video-main-el {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #111;
  border-radius: 6px;
  display: block;
}
.video-main-info { margin-top: 10px; }
.video-main-title {
  font-size: 15px;
  font-weight: 600;
  color: #0F1111;
  margin-bottom: 4px;
}
.video-uploader { font-size: 13px; color: #565959; }

.video-thumb-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 220px;
  flex-shrink: 0;
}
.video-thumb-card {
  cursor: pointer;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color .15s;
}
.video-thumb-card.active, .video-thumb-card:hover { border-color: #007185; }
.video-thumb-img {
  background: #232f3e;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
/* embedded video as thumbnail background */
.vthumb-bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.video-thumb-play {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.18);
  border: 1.5px solid rgba(255,255,255,0.5);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.video-thumb-play svg { fill: #fff; width: 14px; height: 14px; margin-left: 2px; }
.video-thumb-dur {
  position: absolute;
  bottom: 5px;
  right: 6px;
  font-size: 11px;
  color: #fff;
  background: rgba(0,0,0,.55);
  padding: 1px 5px;
  border-radius: 2px;
}
.video-thumb-title {
  font-size: 12px;
  color: #0F1111;
  padding: 6px 8px;
  background: #f7f8f8;
  line-height: 1.4;
}

/* ===== RUFUS AI Q&A ===== */
.rufus-section {
  padding: 32px 0 36px;
  border-top: 8px solid #f0f2f2;
  background: #fff;
}
.rufus-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 24px;
}
.rufus-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #D5D9D9;
}
.rufus-sparkle {
  font-size: 22px;
  color: #FF9900;
  line-height: 1;
}
.rufus-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  color: #0F1111;
}
.rufus-badge {
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  background: #232f3e;
  padding: 2px 8px;
  border-radius: 12px;
  letter-spacing: 0.3px;
}
.rufus-qa-list {
  margin-bottom: 20px;
}
.rufus-qa-category {
  font-size: 13px;
  font-weight: 700;
  color: #565959;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  padding: 18px 0 4px;
  border-top: 1px solid #D5D9D9;
  margin-top: 4px;
}
.rufus-qa-category:first-child { border-top: none; padding-top: 0; }
.rufus-qa-item {
  border-bottom: 1px solid #D5D9D9;
}
.rufus-q-btn {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 14px 0;
  font-size: 15px;
  font-weight: 600;
  color: #0F1111;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  transition: color .15s;
}
.rufus-q-btn:hover { color: #007185; }
.rufus-chevron {
  font-size: 14px;
  color: #007185;
  flex-shrink: 0;
  transition: transform .2s;
  font-style: normal;
}
.rufus-qa-item.expanded .rufus-chevron { transform: rotate(180deg); }
.rufus-a-body {
  display: none;
  padding: 0 0 18px 2px;
  font-size: 14px;
  color: #0F1111;
  line-height: 1.75;
}
.rufus-qa-item.expanded .rufus-a-body { display: block; }
.rufus-disclaimer {
  margin-top: 10px;
  font-size: 12px;
  color: #767676;
}
.rufus-disclaimer a { color: #007185; }
.rufus-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.rufus-chip {
  background: #fff;
  border: 1px solid #D5D9D9;
  border-radius: 20px;
  padding: 8px 16px;
  font-size: 13px;
  color: #0F1111;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
}
.rufus-chip:hover {
  border-color: #007185;
  color: #007185;
  background: #f0f9fa;
}
.rufus-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid #D5D9D9;
  border-radius: 24px;
  padding: 10px 16px;
  max-width: 640px;
  transition: border-color .15s, box-shadow .15s;
  background: #fff;
}
.rufus-input-row:focus-within {
  border-color: #007185;
  box-shadow: 0 0 0 3px rgba(0,113,133,0.12);
}
.rufus-input-sparkle { font-size: 17px; color: #FF9900; flex-shrink: 0; }
.rufus-input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 14px;
  background: transparent;
  color: #0F1111;
}
.rufus-input::placeholder { color: #767676; }
.rufus-send-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: #007185;
  display: flex;
  align-items: center;
  padding: 0;
  flex-shrink: 0;
}
.rufus-send-btn:hover { color: #c45500; }

/* ===== REVIEWS SECTION ===== */
.reviews-section {
  padding: 32px 0 48px;
  border-top: 8px solid #f0f2f2;
}
.reviews-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Two-column: left sidebar + right content */
.reviews-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  align-items: start;
}

/* ── LEFT sidebar ── */
.reviews-avg-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-bottom: 6px;
}
.avg-score { font-size: 56px; font-weight: 700; line-height: 1; color: #0F1111; }
.avg-label { font-size: 14px; color: #565959; margin-top: 2px; }
.global-ratings { font-size: 13px; color: #007185; margin-bottom: 14px; }

.rating-bars { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.bar-row { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.bar-row a { color: #007185; white-space: nowrap; width: 42px; text-align: right; }
.bar-outer { flex: 1; height: 18px; background: #f0f2f2; border-radius: 2px; overflow: hidden; cursor: pointer; }
.bar-outer:hover { opacity: 0.8; }
.bar-fill { height: 100%; background: #FF9900; border-radius: 2px; }
.bar-row span { width: 32px; color: #565959; font-size: 13px; }
.reviews-how-link { font-size: 13px; color: #007185; }
.reviews-how-link:hover { text-decoration: underline; color: #C7511F; }

/* ── RIGHT content ── */
.reviews-right { min-width: 0; }

/* ── Customers say ── */
.customers-say {
  background: #f8f8f8;
  border: 1px solid #D5D9D9;
  border-radius: 8px;
  padding: 18px 20px;
  margin-bottom: 24px;
}
.cs-heading {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 14px;
  color: #0F1111;
}
.cs-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.cs-chip {
  background: #fff;
  border: 1px solid #D5D9D9;
  border-radius: 20px;
  padding: 7px 14px;
  font-size: 14px;
  color: #0F1111;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: border-color .15s, background .15s;
}
.cs-chip:hover { border-color: #007185; }
.cs-chip.active {
  background: #FFF8EE;
  border-color: #FF9900;
  color: #C45500;
  font-weight: 600;
}
.cs-chip-count {
  background: #f0f2f2;
  border-radius: 20px;
  padding: 1px 7px;
  font-size: 12px;
  color: #565959;
  font-weight: 400;
}
.cs-chip.active .cs-chip-count { background: #FFEFCC; color: #C45500; }
.cs-summary {
  font-size: 14px;
  line-height: 1.75;
  color: #0F1111;
  margin: 0 0 12px;
}
.cs-disclaimer {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #565959;
}
.cs-disclaimer a { color: #007185; }
.cs-disclaimer a:hover { text-decoration: underline; }

/* ── Divider ── */
.reviews-divider { border-top: 1px solid #D5D9D9; margin: 0 0 4px; }

/* ── Review cards ── */
.review-list { display: flex; flex-direction: column; }

.review-card {
  padding: 20px 0;
  border-bottom: 1px solid #D5D9D9;
}
.reviewer-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.reviewer-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 0.3px;
}
.reviewer-name { font-weight: 700; font-size: 14px; }
.review-stars { margin-bottom: 4px; font-size: 16px; }
.review-title { font-weight: 700; font-size: 15px; margin-bottom: 6px; color: #0F1111; }
.review-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.review-date { font-size: 13px; color: #565959; }
.verified-badge {
  font-size: 12px;
  color: #C45500;
  font-weight: 500;
}
.review-body { font-size: 14px; line-height: 1.65; color: #0F1111; margin-bottom: 12px; }
.review-helpful-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.helpful-label { font-size: 13px; color: #565959; }
.helpful-btn {
  background: #fff;
  border: 1px solid #D5D9D9;
  border-radius: 20px;
  padding: 5px 16px;
  font-size: 13px;
  color: #0F1111;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.helpful-btn:hover { background: #f0f2f2; border-color: #aaa; }
.helpful-btn.voted { background: #FFF8EE; border-color: #FF9900; color: #C45500; }
.helpful-sep { color: #D5D9D9; }
.report-link { font-size: 13px; color: #565959; }
.report-link:hover { color: #C45500; text-decoration: underline; }

.see-all-reviews {
  display: inline-block;
  margin-top: 24px;
  font-size: 14px;
  color: #0F1111;
  border: 1px solid #D5D9D9;
  padding: 9px 20px;
  border-radius: 8px;
  background: #fff;
  transition: background .15s, border-color .15s;
}
.see-all-reviews:hover { background: #f7f7f7; border-color: #aaa; text-decoration: none; }

@media (max-width: 900px) {
  .reviews-layout { grid-template-columns: 1fr; gap: 24px; }
}

/* ===== FOOTER ===== */
.footer { background: #232f3e; color: #fff; }

.footer-back-top {
  background: #37475a;
  text-align: center;
  padding: 14px;
}
.footer-back-top a {
  color: #fff;
  font-size: 14px;
  text-decoration: none;
}
.footer-back-top a:hover { text-decoration: underline; }

.footer-main {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  max-width: 1500px;
  margin: 0 auto;
  padding: 32px 40px;
  justify-content: center;
}
.footer-col h3 { font-size: 16px; font-weight: 700; margin-bottom: 12px; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.footer-col li a { color: #ccc; font-size: 14px; }
.footer-col li a:hover { color: #fff; text-decoration: underline; }

.footer-bottom {
  background: #131921;
  text-align: center;
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.footer-legal { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }
.footer-legal a { color: #ccc; font-size: 13px; }
.footer-legal a:hover { color: #fff; text-decoration: underline; }
.footer-copy { color: #888; font-size: 12px; }

/* ===== CART TOAST ===== */
.cart-toast {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #007600;
  color: white;
  padding: 14px 24px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 500;
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: opacity .3s ease, transform .3s ease;
  z-index: 999;
}
.cart-toast.show {
  opacity: 1;
  transform: translateY(0);
}

/* ===== MOBILE HAMBURGER (desktop: hidden) ===== */
.header-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: 2px solid transparent;
  border-radius: 2px;
  padding: 6px 8px;
  cursor: pointer;
  flex-shrink: 0;
}
.header-hamburger:hover { border-color: white; }
.header-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: white;
  border-radius: 1px;
}

/* ===== MOBILE SEARCH ROW (desktop: hidden) ===== */
.header-search-row {
  display: none;
  background: #131921;
  padding: 0 10px 8px;
}
.header-search-row .header-search {
  height: 36px;
  border-radius: 4px;
  overflow: hidden;
  flex: 1;
  width: 100%;
}

/* ===== MOBILE STICKY ATC BAR ===== */
.mobile-sticky-atc {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid #D5D9D9;
  padding: 10px 16px;
  z-index: 200;
  align-items: center;
  gap: 14px;
  box-shadow: 0 -2px 10px rgba(0,0,0,.13);
  transform: translateY(100%);
  transition: transform 0.22s ease;
}
.mobile-sticky-atc.visible {
  transform: translateY(0);
}
.mobile-sticky-price {
  font-size: 22px;
  font-weight: 400;
  color: #0F1111;
  flex-shrink: 0;
  line-height: 1;
  display: flex;
  align-items: flex-start;
}
.mobile-sticky-frac {
  font-size: 13px;
  margin-top: 3px;
}
.mobile-sticky-btn {
  flex: 1;
  padding: 11px 18px;
  background: #FFD814;
  border: none;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(213,217,217,.5);
}
.mobile-sticky-btn:hover { background: #F7CA00; }

/* ===== RESPONSIVE: MOBILE (≤760px) ===== */
@media (max-width: 760px) {

  /* ─── Header: compact 2-row ──────────────────────── */
  .header-hamburger { display: flex; }
  .header-inner { padding: 6px 10px; gap: 6px; }
  .header-search { display: none; }
  .header-search-row { display: flex; }
  .header-logo-suffix { display: none; }
  .header-action:not(.header-cart) { display: none; }
  .header-cart .action-line2 { display: none; }
  .cart-count { left: 22px; top: -2px; width: 18px; height: 18px; font-size: 11px; }

  /* Sub-nav: horizontal scroll */
  .header-nav-inner {
    overflow-x: auto;
    scrollbar-width: none;
    padding: 0 6px;
    -webkit-overflow-scrolling: touch;
  }
  .header-nav-inner::-webkit-scrollbar { display: none; }
  .nav-link { padding: 7px 10px; font-size: 13px; white-space: nowrap; }

  /* ─── Breadcrumb: hide on mobile ────────────────── */
  .breadcrumb-bar { display: none; }

  /* ─── Product page: single-column block ─────────── */
  .product-page {
    display: block;
    padding: 0;
    max-width: 100%;
  }

  /* ─── Gallery: full-width, thumbs below image ───── */
  .product-gallery {
    position: static;
    flex-direction: column-reverse;
    gap: 0;
    width: 100%;
  }
  .main-image-wrap { width: 100%; }
  .main-image-slider { border-radius: 0; }
  .img-nav-btn { display: none; }
  .img-dots { padding: 8px 0 4px; }

  /* Thumbnail strip: horizontal scrollable row */
  .thumb-strip {
    flex-direction: row;
    width: 100%;
    height: auto;
    padding: 8px 12px;
    background: #fff;
    border-bottom: 1px solid #f0f2f2;
    gap: 0;
    align-items: center;
    overflow: hidden;
  }
  .thumb-scroll-btn { display: none; }
  .thumb-list {
    flex-direction: row;
    max-height: none;
    max-width: 100%;
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    gap: 6px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }
  .thumb-list::-webkit-scrollbar { display: none; }
  .thumb {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    scroll-snap-align: start;
  }

  /* ─── Product info ───────────────────────────────── */
  .product-info {
    padding: 14px 14px 16px;
    border-bottom: 8px solid #f0f2f2;
  }
  .product-title { font-size: 18px; line-height: 1.35; margin: 4px 0 8px; }
  .product-brand { font-size: 13px; margin-bottom: 2px; }
  .product-rating-row { gap: 6px; margin: 6px 0; flex-wrap: wrap; }
  .rating-score-link { font-size: 13px; }
  .rating-count { font-size: 13px; }
  .bought-badge { width: 100%; font-size: 13px; }
  .price-block { gap: 6px; margin: 6px 0; }
  .price-int { font-size: 24px; }
  .about-title { font-size: 15px; }
  .bullet-list li { font-size: 13px; }
  .product-divider { margin: 10px 0; }
  .acf-widget { margin-top: 14px; }
  .acf-selectors { flex-wrap: nowrap; gap: 5px; padding: 8px 10px; overflow-x: auto; }
  .acf-select { min-width: 70px; font-size: 12px; padding: 5px 4px; }
  .acf-go-btn { padding: 6px 12px; }

  /* ─── Buy box: flat inline card ─────────────────── */
  .buy-box {
    border: none;
    border-radius: 0;
    padding: 14px 14px 80px;
    position: static;
    gap: 10px;
    border-top: 1px solid #f0f2f2;
    border-bottom: 8px solid #f0f2f2;
  }
  .buy-box .buy-price { display: none; }
  .buy-prime-logo-row { font-size: 12px; }
  .prime-join-strip { padding: 8px 10px; font-size: 12px; }
  .buy-shipping, .buy-prime-note { font-size: 13px; }
  .instock-text { font-size: 16px; }

  /* ─── Mobile sticky ATC ─────────────────────────── */
  .mobile-sticky-atc { display: flex; }

  /* ─── A+ Content ─────────────────────────────────── */
  .aplus-section { margin-top: 0; padding: 20px 0 0; }
  .aplus-inner { padding: 0 14px; }
  .section-title { font-size: 18px; margin-bottom: 12px; padding-bottom: 6px; }
  .brand-banner { border-radius: 0; }
  .aplus-block { border-radius: 0; }
  .from-brand { margin-bottom: 20px; }
  .product-description { margin-bottom: 20px; }
  /* Full-bleed A+ images (no side padding) */
  .aplus-section .aplus-block,
  .aplus-section .brand-banner { margin-left: -14px; margin-right: -14px; width: calc(100% + 28px); }

  /* ─── Product info table ─────────────────────────── */
  .product-info-table-section { padding: 20px 0; }
  .table-wrap { padding: 0 14px; }
  .pinfo-two-col { flex-direction: column; gap: 0; }
  .pinfo-left-col, .pinfo-right-col { gap: 8px; }
  .pinfo-td-label { width: 44%; font-size: 12px; }
  .pinfo-table td { padding: 8px 10px; font-size: 13px; }
  .pinfo-block-text { font-size: 12px; }

  /* ─── Videos ─────────────────────────────────────── */
  .video-section { padding: 20px 0; }
  .video-inner { padding: 0 14px; }
  .video-layout { flex-direction: column; gap: 14px; }
  .video-thumb-list {
    flex-direction: row;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    gap: 10px;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }
  .video-thumb-list::-webkit-scrollbar { display: none; }
  .video-thumb-card { width: 160px; flex-shrink: 0; }

  /* ─── Rufus ──────────────────────────────────────── */
  .rufus-section { padding: 20px 0 24px; }
  .rufus-inner { padding: 0 14px; }
  .rufus-title { font-size: 18px; }
  .rufus-sparkle { font-size: 18px; }
  .rufus-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    gap: 8px;
  }
  .rufus-chips::-webkit-scrollbar { display: none; }
  .rufus-chip { flex-shrink: 0; padding: 7px 14px; font-size: 13px; }
  .rufus-input-row { max-width: 100%; }
  .rufus-q-btn { font-size: 14px; padding: 12px 0; }

  /* ─── Reviews ────────────────────────────────────── */
  .reviews-section { padding: 20px 0 50px; }
  .reviews-inner { padding: 0 14px; }
  .reviews-layout { grid-template-columns: 1fr; gap: 16px; }
  .avg-score { font-size: 44px; }
  .stars.large { font-size: 22px; }
  .reviews-avg-block { flex-direction: row; align-items: center; gap: 12px; flex-wrap: wrap; }
  .cs-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .cs-chips::-webkit-scrollbar { display: none; }
  .cs-chip { flex-shrink: 0; font-size: 13px; padding: 6px 12px; }
  .review-card { padding: 16px 0; }
  .review-body { font-size: 13px; }
  .review-title { font-size: 14px; }

  /* ─── Footer ─────────────────────────────────────── */
  .footer-main { padding: 24px 16px; gap: 20px; justify-content: flex-start; }
  .footer-col { min-width: 140px; }
  .footer-col h3 { font-size: 14px; }

  /* Cart toast: float above sticky bar */
  .cart-toast { bottom: 80px; right: 16px; font-size: 14px; padding: 12px 20px; }
}
