
body.product-detail-page { background: #f8f6f2; }
.product-detail-layout { max-width: 1152px; margin: 0 auto; padding: 64px 40px 88px; color: #2c2c28; font-family: 'Open Sans', sans-serif; }
.product-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.product-detail-photo { aspect-ratio: 1; background: #eeece3; overflow: hidden; display: grid; place-items: center; }
.product-detail-photo img, .product-card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-photo-pending { padding: 32px; text-align: center; font-size: 13px; color: #59574f; }
.product-detail-layout .product-category-label { color: #71684f; font-size: 11px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; }
.product-detail-layout h1 { font-family: 'Open Sans', sans-serif; font-size: clamp(30px, 3vw, 40px); font-weight: 700; line-height: 1.2; margin: 12px 0 8px; color: #2c2c28; }
.product-origin { font-size: 13px; color: #59574f; margin: 0 0 24px; }
.product-description { color: #59574f; font-size: 14px; line-height: 1.8; }
.product-facts { margin: 24px 0 0; border-top: 1px solid #d8d3c4; }
.product-facts > div { display: grid; grid-template-columns: 144px minmax(0, 1fr); gap: 24px; padding: 13px 0; border-bottom: 1px solid #d8d3c4; font-size: 13px; line-height: 1.6; }
.product-facts dt { font-weight: 500; }
.product-facts dd { margin: 0; color: #59574f; overflow-wrap: anywhere; }
.product-detail-layout .placeholder-note { margin: 32px 0 0; padding: 16px; border: 1px dashed #71684f; border-radius: 0; background: transparent; font-size: 12px; }
.product-detail-layout .placeholder-tag { font-size: 10px; background: #eeece3; color: #59513e; }
.product-detail-layout .placeholder-note table { font-size: 12px; line-height: 1.5; }
.product-detail-layout .placeholder-note th, .product-detail-layout .placeholder-note td { border: 0; padding: 4px 0; background: transparent; color: #59574f; }
.product-detail-layout .placeholder-note th { width: 42%; font-weight: 500; padding-right: 12px; }
.product-detail-layout .placeholder-note em { color: #59574f; font-size: 11px; font-style: normal; }
.product-quote { display: inline-flex; align-items: center; gap: 10px; margin-top: 32px; padding: 14px 22px; background: #71684f; color: #fff; font-size: 13px; font-weight: 600; transition: background .2s; }
.product-quote:hover { background: #59513e; color: #fff; }
.product-detail-section { margin-top: 24px; font-size: 14px; line-height: 1.8; }
.product-detail-section h2 { font-size: 16px; font-weight: 600; }
.product-detail-section ul { padding-left: 20px; }
.product-related { margin-top: 96px; }
.product-related > h2 { font-family: 'Open Sans', sans-serif; font-size: 25px; font-weight: 700; margin: 0 0 32px; }
.product-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.product-related-card { border: 1px solid #d8d3c4; background: #fff; color: #2c2c28; display: flex; flex-direction: column; transition: border-color .2s; }
.product-card-photo { aspect-ratio: 4 / 5; overflow: hidden; background: #eeece3; display: grid; place-items: center; }
.product-card-photo img { transition: transform .4s; }
.product-related-card h3 { font-family: 'Open Sans', sans-serif; font-size: 17px; line-height: 1.4; font-weight: 600; margin: 0; padding: 20px; }
.product-related-card:hover { border-color: #71684f; color: #59513e; }
.product-related-card:hover img { transform: scale(1.04); }
.product-back-link { display: inline-block; margin-top: 24px; font-size: 13px; color: #71684f; text-decoration: underline; text-underline-offset: 4px; }
.product-detail-layout a:focus-visible { outline: 2px solid #59513e; outline-offset: 5px; }
@media (max-width: 991px) { .product-detail-layout { padding: 40px 24px 64px; } .product-detail-grid { grid-template-columns: 1fr; gap: 32px; } .product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .product-related { margin-top: 64px; } }
@media (max-width: 479px) { .product-facts > div { grid-template-columns: 1fr; gap: 4px; } .product-related-grid { gap: 14px; } .product-related-card h3 { padding: 14px; font-size: 15px; } .product-quote { font-size: 12px; padding: 14px 16px; } }
@media (prefers-reduced-motion: reduce) { .product-detail-layout a, .product-card-photo img { transition: none; } .product-related-card:hover img { transform: none; } }
