:root {
  --product-blue: #3483fa;
  --product-blue-dark: #2968c8;
  --product-green: #00a650;
  --product-yellow: #ffe600;
  --product-ink: #222;
  --product-muted: #6b6b6b;
  --product-line: #e5e5e5;
  --product-canvas: #f3f3f3;
  --product-card: #fff;
  --product-radius: 14px;
  --product-shadow: 0 2px 12px rgb(0 0 0 / 8%);
}

.product-page { background: var(--product-canvas); color: var(--product-ink); }
.product-page main { padding-bottom: 88px; }

.product-experience {
  width: min(100%, 1220px);
  margin: 0 auto;
  padding: 14px 10px 0;
}

.product-breadcrumbs {
  display: flex;
  gap: 7px;
  align-items: center;
  margin: 0 2px 12px;
  overflow: hidden;
  color: var(--product-muted);
  font-size: 12px;
  white-space: nowrap;
}

.product-breadcrumbs a { color: var(--product-blue-dark); }
.product-breadcrumbs span:last-child { overflow: hidden; text-overflow: ellipsis; }

.product-purchase-card {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: var(--product-card);
  box-shadow: var(--product-shadow);
}

.product-gallery-v2 { min-width: 0; padding: 12px; background: #fff; }

.product-gallery-main {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
}

.product-gallery-main img {
  width: 100%;
  height: 100%;
  padding: 8px;
  object-fit: contain;
}

.product-discount-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 6px 9px;
  border-radius: 5px;
  color: #fff;
  background: var(--product-green);
  font-size: 12px;
  font-weight: 850;
}

.product-gallery-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  padding-bottom: 3px;
  overflow-x: auto;
}

.product-gallery-thumbs button {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  padding: 3px;
  border: 1px solid var(--product-line);
  border-radius: 8px;
  background: #fff;
}

.product-gallery-thumbs button.is-active { border: 2px solid var(--product-blue); }
.product-gallery-thumbs img { width: 100%; height: 100%; object-fit: contain; }

.product-summary-v2 {
  min-width: 0;
  padding: 18px 16px 20px;
  border-top: 1px solid var(--product-line);
}

.product-label-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 7px;
  color: var(--product-muted);
  font-size: 12px;
}

.product-label-row a { color: var(--product-blue-dark); font-weight: 650; }

.product-summary-v2 h1 {
  margin: 10px 0 12px;
  font-size: clamp(23px, 7vw, 36px);
  font-weight: 650;
  letter-spacing: -.65px;
  line-height: 1.16;
}

.product-confidence-v2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  color: var(--product-muted);
  font-size: 11px;
}

.product-confidence-v2 > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e0a800;
  box-shadow: 0 0 0 4px rgb(224 168 0 / 13%);
}

.product-confidence-v2 > span.is-verified { background: var(--product-green); box-shadow: 0 0 0 4px rgb(0 166 80 / 12%); }
.product-confidence-v2 strong { color: #3f3f3f; }

.product-feature-chips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 16px 0;
}

.product-feature-chips > span {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #dce8fb;
  border-radius: 8px;
  background: #f4f8ff;
}

.product-feature-chips small,
.product-feature-chips b { display: block; overflow: hidden; text-overflow: ellipsis; }
.product-feature-chips small { color: #65758b; font-size: 9px; text-transform: uppercase; }
.product-feature-chips b { margin-top: 2px; font-size: 12px; white-space: nowrap; }

.product-price-panel { margin: 20px 0 15px; }
.product-previous-price { margin: 0 0 1px; color: #8a8a8a; text-decoration: line-through; }

.product-current-price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.product-current-price strong {
  max-width: 100%;
  font-size: clamp(36px, 11vw, 50px);
  font-weight: 420;
  letter-spacing: -1.5px;
  line-height: 1;
  overflow-wrap: anywhere;
}

.product-current-price span { align-self: flex-end; margin-bottom: 5px; color: var(--product-muted); font-size: 10px; }
.product-current-price em { padding: 4px 6px; border-radius: 4px; color: #fff; background: var(--product-green); font-size: 11px; font-style: normal; font-weight: 800; }
.product-availability { margin: 9px 0 0; color: var(--product-green); font-size: 13px; font-weight: 650; }
.product-availability.is-unavailable { color: #c62828; }

.price-signal-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid #ececec;
  border-radius: 10px;
  background: #fafafa;
}

.price-signal-card > div:first-child { min-width: 0; }
.price-signal-card small { color: var(--product-blue-dark); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.price-signal-card strong { display: block; margin: 3px 0; font-size: 15px; }
.price-signal-card p { margin: 0; color: var(--product-muted); font-size: 11px; line-height: 1.35; }

.product-buy-form { margin-top: 15px; }
.product-buy-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 52px;
  padding: 13px 17px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--product-blue);
  font-size: 16px;
  font-weight: 750;
  box-shadow: 0 4px 12px rgb(52 131 250 / 22%);
}

.product-buy-button:hover { background: var(--product-blue-dark); }
.product-buy-button:disabled { opacity: .5; cursor: not-allowed; }
.product-buy-button b { font-size: 20px; }
.product-affiliate-note { margin: 8px 4px 14px; color: var(--product-muted); font-size: 10px; line-height: 1.4; text-align: center; }
.product-summary-v2 .like-button { min-height: 44px; border-color: #c8d9f5; color: var(--product-blue-dark); background: #f4f8ff; }

.product-trust-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px 13px;
  margin-top: 14px;
  color: #5d6369;
  font-size: 10px;
}

.product-section-nav {
  position: sticky;
  top: 0;
  z-index: 12;
  display: flex;
  width: 100%;
  margin: 14px 0 0;
  padding: 0 10px;
  overflow-x: auto;
  border-block: 1px solid var(--product-line);
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 2px 7px rgb(0 0 0 / 5%);
}

.product-section-nav a {
  flex: 0 0 auto;
  padding: 13px 15px;
  border-bottom: 2px solid transparent;
  color: #555;
  font-size: 12px;
  font-weight: 700;
}

.product-section-nav a:hover { border-color: var(--product-blue); color: var(--product-blue-dark); }

.product-detail-layout {
  display: grid;
  gap: 14px;
  width: min(100%, 1220px);
  margin: 0 auto;
  padding: 14px 10px 25px;
}

.product-main-v2,
.product-aside-v2 { display: grid; align-content: start; gap: 14px; min-width: 0; }

.product-content-card,
.product-aside-v2 > section {
  min-width: 0;
  padding: 18px 16px;
  border: 1px solid var(--product-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 5px rgb(0 0 0 / 4%);
  scroll-margin-top: 72px;
}

.product-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: start;
  margin-bottom: 16px;
}

.product-section-heading p,
.aside-kicker { margin: 0 0 4px; color: var(--product-blue-dark); font-size: 9px; font-weight: 850; letter-spacing: .09em; }
.product-section-heading h2,
.product-aside-v2 h2 { margin: 0; font-size: clamp(21px, 6vw, 29px); letter-spacing: -.5px; line-height: 1.1; }
.product-section-heading > span { flex: 0 0 auto; padding: 5px 7px; border-radius: 6px; color: var(--product-muted); background: #f2f2f2; font-size: 9px; }
.product-lead { margin: 0 0 18px; color: #4d4d4d; font-size: 16px; line-height: 1.6; }

.decision-grid { display: grid; gap: 10px; }
.decision-grid > div { padding: 15px; border-radius: 10px; background: #eefaf3; }
.decision-grid > .decision-caution { background: #fff8e7; }
.decision-grid h3 { margin: 0 0 9px; font-size: 14px; }
.decision-grid ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.decision-grid li { position: relative; padding-left: 20px; color: #4f4f4f; font-size: 13px; line-height: 1.4; }
.decision-grid li::before { content: "✓"; position: absolute; left: 0; color: var(--product-green); font-weight: 850; }
.decision-caution li::before { content: "!"; color: #c47b00; }

.buying-guide { margin-top: 12px; padding: 14px; border-left: 3px solid var(--product-blue); background: #f5f9ff; }
.buying-guide p { margin: 5px 0 0; color: #4e5968; font-size: 13px; }

.product-attributes { margin: 0; }
.product-attributes > div { display: grid; grid-template-columns: minmax(105px, .8fr) minmax(0, 1.2fr); gap: 15px; padding: 12px 0; border-bottom: 1px solid #eee; }
.product-attributes > div:last-child { border-bottom: 0; }
.product-attributes dt { color: var(--product-muted); font-size: 12px; }
.product-attributes dd { margin: 0; font-size: 13px; font-weight: 650; overflow-wrap: anywhere; }

.product-description { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--product-line); }
.product-description h3 { margin: 0 0 10px; }
.product-description p { margin: 0; color: #565656; font-size: 14px; line-height: 1.7; }

.product-empty-state { display: flex; align-items: start; gap: 12px; padding: 16px; border-radius: 10px; background: #f6f7f8; }
.product-empty-state > span { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 50%; color: #fff; background: var(--product-blue); font-weight: 850; }
.product-empty-state p { margin: 4px 0 0; color: var(--product-muted); font-size: 12px; }

.price-stats-v2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 16px; overflow: hidden; border: 1px solid var(--product-line); border-radius: 9px; background: var(--product-line); }
.price-stats-v2 > div { min-width: 0; padding: 11px; background: #fff; }
.price-stats-v2 small, .price-stats-v2 b { display: block; }
.price-stats-v2 small { color: var(--product-muted); font-size: 9px; text-transform: uppercase; }
.price-stats-v2 b { margin-top: 3px; font-size: 13px; overflow-wrap: anywhere; }
.product-data-note { padding: 12px; border-radius: 8px; color: #6e5b13; background: #fff9df; font-size: 12px; }

.product-faq details { border-top: 1px solid var(--product-line); }
.product-faq details:last-child { border-bottom: 1px solid var(--product-line); }
.product-faq summary { display: flex; justify-content: space-between; gap: 12px; padding: 15px 0; font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; }
.product-faq summary::-webkit-details-marker { display: none; }
.product-faq summary span { color: var(--product-blue); }
.product-faq p { margin: -3px 0 16px; color: var(--product-muted); font-size: 13px; line-height: 1.6; }

.product-aside-v2 > section { padding: 17px; }
.product-aside-v2 dl { margin: 12px 0 0; }
.product-aside-v2 dl > div { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; border-bottom: 1px solid #eee; font-size: 11px; }
.product-aside-v2 dd { margin: 0; font-weight: 700; text-align: right; overflow-wrap: anywhere; }
.product-aside-v2 p { color: var(--product-muted); font-size: 12px; line-height: 1.5; }

.product-recommendations { padding-top: 30px; }
.product-category-recommender {
  width: min(calc(100% - 20px), 1220px);
  margin: 14px auto 0;
  padding: 24px 14px 28px;
  border: 1px solid var(--product-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 5px rgb(0 0 0 / 4%);
}
.product-category-recommender .section-heading { margin-bottom: 18px; }
.product-category-recommender .section-heading h2 { font-size: clamp(23px, 5vw, 34px); }
.product-category-recommender .section-heading > div > p:last-child { color: var(--product-muted); font-size: 13px; }
.product-category-recommender .section-heading > a { color: var(--product-blue); }

.mobile-product-bar {
  position: fixed;
  inset: auto 0 0;
  z-index: 35;
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(150px, 1.25fr);
  gap: 10px;
  align-items: center;
  padding: 10px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
  border-top: 1px solid var(--product-line);
  background: #fff;
  box-shadow: 0 -5px 18px rgb(0 0 0 / 12%);
}

.mobile-product-bar small,
.mobile-product-bar strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-product-bar small { color: var(--product-muted); font-size: 9px; text-decoration: none; }
.mobile-product-bar strong { font-size: 16px; }
.mobile-product-bar form { margin: 0; }
.mobile-product-bar button { width: 100%; min-height: 43px; border: 0; border-radius: 7px; color: #fff; background: var(--product-blue); font-weight: 750; }

@media (min-width: 600px) {
  .product-experience { padding-inline: 18px; }
  .product-gallery-v2 { padding: 20px; }
  .product-summary-v2 { padding: 24px; }
  .product-detail-layout { padding: 18px 18px 34px; }
  .product-content-card { padding: 24px; }
  .decision-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-stats-v2 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .product-category-recommender { padding: 28px 24px 32px; }
}

@media (min-width: 820px) {
  .product-page main { padding-bottom: 0; }
  .product-purchase-card { grid-template-columns: minmax(0, 1.15fr) minmax(350px, .85fr); align-items: start; }
  .product-gallery-v2 { position: sticky; top: 80px; }
  .product-summary-v2 { border-top: 0; border-left: 1px solid var(--product-line); }
  .product-detail-layout { grid-template-columns: minmax(0, 1fr) 280px; }
  .product-aside-v2 { position: sticky; top: 126px; }
  .mobile-product-bar { display: none; }
  .product-section-nav { top: 68px; justify-content: center; }
}

@media (min-width: 1100px) {
  .product-experience { padding-inline: 0; }
  .product-gallery-v2 { padding: 30px; }
  .product-summary-v2 { padding: 30px 32px; }
  .product-detail-layout { grid-template-columns: minmax(0, 1fr) 315px; padding-inline: 0; }
  .product-current-price strong { font-size: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .product-page * { scroll-behavior: auto !important; transition: none !important; }
}
