.product-container { width: min(1120px, calc(100% - 40px)); margin: auto; }
.product-hero { color: #fff; padding: 28px 0 56px; border-bottom: 4px solid #d31224; }
.product-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; color: #d4d4d4; font-size: 14px; margin-bottom: 40px; }
.product-breadcrumb a:hover { text-decoration: underline; }
.product-eyebrow { color: #f87171; font-size: 12px; letter-spacing: .16em; margin-bottom: 16px; font-weight: 700; }
.product-hero h1 { font-size: clamp(30px, 4vw, 48px); line-height: 1.3; font-weight: 900; margin-bottom: 20px; }
.product-hero p:last-child { max-width: 760px; line-height: 1.9; color: #d4d4d4; }
.product-content { padding-top: 32px; padding-bottom: 64px; }
.product-categories { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 32px; }
.product-categories a, .product-related a { padding: 10px 14px; background: #fff; border: 1px solid #ddd; border-radius: 5px; font-size: 14px; }
.product-categories a:hover, .product-related a:hover { border-color: #d31224; color: #b00f1e; }
.product-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.product-card { display: block; padding: 32px; background: #fff; border: 1px solid #ddd; border-top: 3px solid #d31224; border-radius: 8px; }
.product-card:hover { border-color: #d31224; }
.product-card h2, .product-features h2, .product-cta h2 { font-size: 24px; font-weight: 700; line-height: 1.5; margin: 12px 0; }
.product-card p { color: #525252; line-height: 1.9; margin-bottom: 24px; }
.product-more { font-weight: 700; color: #b00f1e; }
.product-table-wrap { overflow-x: auto; background: #fff; border: 1px solid #ddd; border-radius: 8px; }
.product-table-wrap table { width: 100%; border-collapse: collapse; text-align: left; line-height: 1.7; }
.product-table-wrap caption { text-align: left; padding: 20px; font-size: 22px; font-weight: 700; }
.product-table-wrap th, .product-table-wrap td { padding: 16px 20px; border-bottom: 1px solid #e5e5e5; min-width: 140px; }
.product-table-wrap thead { background: #262626; color: #fff; }
.product-table-wrap tbody th { font-weight: 500; }
.product-features { margin-top: 36px; }
.product-features ul { padding-left: 24px; list-style: disc; line-height: 1.9; }
.product-features li { margin: 8px 0; }
.product-note { padding: 20px; margin-top: 28px; border-left: 3px solid #d31224; background: #fff; color: #525252; line-height: 1.9; }
.product-related { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 32px; }
.product-cta { background: #171717; color: #fff; padding: 48px 0; }
.product-cta p { color: #d4d4d4; line-height: 1.9; margin-bottom: 24px; }
.product-page a:focus-visible, .product-table-wrap:focus-visible { outline: 2px solid #d31224; outline-offset: 4px; }
@media(max-width:640px) { .product-cards { grid-template-columns: 1fr; } .product-card { padding: 24px; } .product-breadcrumb { margin-bottom: 28px; } }

.product-photo { display: block; width: 100%; height: 210px; object-fit: contain; padding: 20px; background: #fff; }
.product-card .product-photo { height: 180px; margin-bottom: 24px; }
.product-gallery { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 20px; margin-bottom: 12px; }
.product-gallery figure { margin: 0; border: 1px solid #e5e5e5; border-radius: 8px; background: #fff; overflow: hidden; }
.product-gallery figcaption { padding: 12px 20px 20px; font-size: 14px; color: #525252; text-align: center; }
.product-image-note { font-size: 13px; color: #737373; margin-bottom: 28px; line-height: 1.7; }
@media(max-width:480px) { .product-gallery { grid-template-columns: 1fr; } .product-photo { height: 180px; } }
