.product-main { padding-top: 130px; padding-bottom: 64px; max-width: 1120px; }
.product-breadcrumb { margin-bottom: 32px; color: var(--text-secondary); font-size: .9rem; }
.product-main a:not(.btn), .product-directory a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.product-intro { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 48px; align-items: center; }
.product-art { border: 1px solid var(--border-color, #5555); border-radius: 24px; background: var(--bg-card); padding: 28px; }
.product-art img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; }
.product-main h1 { font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.25; margin: 10px 0 20px; }
.product-main p { line-height: 1.9; margin-bottom: 16px; }
.product-eyebrow { color: var(--accent); font-weight: 700; }
.product-lead { font-size: 1.13rem; }
.product-main h2, .product-directory h2 { font-size: 1.5rem; margin: 24px 0 16px; }
.product-offers { margin-top: 40px; padding: 28px; border: 1px solid var(--border-color, #5555); border-radius: 20px; background: var(--bg-card); }
.product-offers table { border-collapse: collapse; width: 100%; margin-bottom: 24px; }
.product-offers th, .product-offers td { padding: 14px 10px; text-align: start; border-bottom: 1px solid var(--border-color, #5555); }
.product-offers td:last-child { white-space: nowrap; }
.product-purchase { display: grid; gap: 12px; }
.product-purchase select { width: 100%; min-width: 0; padding: 14px; border-radius: 8px; font: inherit; background: var(--bg-primary); color: var(--text-primary); border: 1px solid var(--border-color, #888); }
.product-purchase .btn { white-space: normal; text-align: center; }
#productPriceNote { margin-top: 16px; font-size: .9rem; color: var(--text-secondary); }
.product-guidance { margin: 36px 0; }
.product-directory { padding-top: 20px; padding-bottom: 40px; }
.product-directory ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px 24px; list-style: none; padding: 0; }
.product-directory li { padding: 10px 0; }
@media (max-width: 768px) {
  .product-main { padding-top: 110px; }
  .product-intro { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .product-art { max-width: 420px; width: 100%; margin: auto; }
  .product-offers { padding: 16px; }
  .product-offers th, .product-offers td { padding: 12px 6px; }
  .product-page .nav-links:not(.active) { display: none; }
}
