/* Product information: readable content, clear choices and no fixed purchase overlay. */
.product-story { --copy:#365b4f; }
.product-story .detail-page { padding:36px 0 48px; }
.product-story .detail-grid { max-width:1080px; grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr); gap:clamp(24px,4vw,56px); align-items:center; }
.product-story .detail-visual { min-height:390px; border-radius:20px; }
.product-story .detail-visual img { width:auto; max-width:90%; height:310px; max-height:none; object-fit:contain; }
.product-story .detail-copy { min-width:0; text-align:left; }
.product-story .detail-copy h1 { max-width:16ch; margin:14px 0 20px!important; font-size:clamp(2.5rem,4.7vw,4.1rem); line-height:.99; overflow-wrap:normal; }
.product-story .detail-copy p { margin-inline:0; max-width:54ch; }
.product-story .product-lead { font-size:1.05rem; line-height:1.7; }
.product-story .facts { justify-content:flex-start; flex-wrap:wrap; gap:8px; }
.product-story .fact { font-family:var(--sans); font-size:.77rem; line-height:1.45; text-transform:none; letter-spacing:0; padding:8px 10px; }
.product-story .fact::before, .product-story .fact::after { display:none; }
.product-story .detail-order { position:static; display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap; gap:16px 24px; padding:20px 0 0; margin-top:22px; border:0; border-top:1px solid var(--line); background:none; box-shadow:none; backdrop-filter:none; }
.product-price { display:grid; gap:5px; }
.product-price > span { font-size:.8rem; line-height:1.5; }
.product-story .product-price .can-price { font-size:1.75rem; }
.product-story .detail-order .btn { min-width:0; white-space:normal; }
.product-story .product-order-note { font-size:.8rem; line-height:1.6; margin:14px 0 0; color:var(--copy); }
.product-story .btn { min-height:48px; padding:12px 18px; font-size:.84rem; white-space:normal; text-align:center; }
.product-story .eyebrow { font-size:.7rem; line-height:1.65; }
.product-content { max-width:1080px; padding-bottom:30px; }
.product-content, .product-content [id] { scroll-margin-top:190px; }
.product-section { padding:42px 0; border-top:1px solid var(--line); text-align:left; }
.product-section h2 { margin:0 0 20px; max-width:24ch; font:900 clamp(1.9rem,3.5vw,2.65rem)/1.06 var(--display); letter-spacing:-.025em; text-transform:uppercase; }
.product-section h3 { margin:8px 0 12px; font-family:var(--sans); font-size:1.18rem; font-weight:800; line-height:1.35; letter-spacing:-.02em; }
.product-section p { margin:0 0 18px; color:var(--copy); font-size:1rem; line-height:1.75; max-width:70ch; }
.product-section .section-intro { margin-bottom:26px; max-width:64ch; }
.product-grade-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.product-grade { min-width:0; border:1px solid var(--line); background:var(--paper); display:grid; grid-template-columns:1fr; align-content:start; }
.product-grade > img { width:100%; height:230px; padding:20px; object-fit:contain; background:#e9eddc; }
.product-grade:nth-child(2) > img { background:#edf0df; }
.product-grade > div { display:flex; flex-direction:column; align-items:flex-start; padding:26px; }
.product-grade h3 { font:900 1.7rem/1.1 var(--display); text-transform:uppercase; }
.grade-price { display:block; margin:0 0 18px; font-size:1rem; }
.product-grade .btn { margin-top:auto; }
.product-quality-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.product-quality-grid article { min-width:0; }
.product-number { display:block; margin-bottom:16px; font:900 .85rem var(--sans); color:#476456; }
.product-practical { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:46px; align-items:start; }
.product-steps { margin:0; padding-left:25px; }
.product-steps li { padding:0 0 12px 8px; }
.product-steps li::marker { font-weight:800; }
.product-steps h3 { margin-top:0; }
.product-care { padding:26px; background:#e8eddb; border:1px solid var(--line); min-width:0; }
.product-care h2 { font-size:1.75rem; }
.product-care p { margin-bottom:0; }
.product-care .product-detail-link { margin-bottom:0; line-height:1.5; }
.product-faq { max-width:820px; margin-inline:auto; }
.product-faq details { padding:0; border-bottom:1px solid var(--line); border-top:0; }
.product-faq summary { min-height:56px; padding:16px 24px 16px 0; cursor:pointer; font-weight:800; line-height:1.5; }
.product-faq details p { padding:0 18px 4px 0; }
.product-help { margin-block:26px; padding:30px; background:var(--paper); border:1px solid var(--line); }
.product-help h2 { max-width:none; }
.product-related { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.product-related a { display:grid; gap:12px; justify-items:center; text-align:center; padding:18px 12px; background:var(--paper); border:1px solid var(--line); min-height:44px; font-size:.9rem; font-weight:800; }
.product-related img { width:100px; height:110px; object-fit:contain; }
.product-related span { line-height:1.5; }
.product-story a:not(.btn):hover { text-decoration:underline; text-underline-offset:.2em; }
@media(max-width:900px) {
 .product-quality-grid { grid-template-columns:1fr; gap:16px; }
 .product-quality-grid article { padding-left:20px; border-left:2px solid #b9c6ad; }
 .product-number { margin-bottom:6px; }
 .product-quality-grid p { max-width:72ch; }
 .product-practical { gap:24px; }
}
@media(max-width:760px) {
 .product-story .wrap { width:calc(100% - 32px); }
 .product-story .detail-page { padding:24px 0 34px; }
 .product-story .detail-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
 .product-story .detail-visual { min-height:0; padding:18px; }
 .product-story .detail-visual img { height:210px; width:auto; max-width:85%; }
 .product-story .detail-copy h1 { font-size:clamp(2.05rem,8.4vw,3.2rem); max-width:18ch; margin:10px 0 16px!important; }
 .product-story .product-lead { font-size:1rem; line-height:1.7; }
 .product-story .detail-order { display:grid; grid-template-columns:1fr; justify-items:stretch; gap:14px; }
 .product-story .detail-order .btn { width:100%; }
 .product-story .fact { font-size:.75rem; }
 .product-section { padding:30px 0; }
 .product-section h2 { font-size:clamp(1.65rem,7vw,2.2rem); }
 .product-section p { font-size:1rem; line-height:1.7; }
 .product-grade-grid, .product-practical { grid-template-columns:minmax(0,1fr); }
 .product-grade > img { height:190px; }
 .product-grade > div { padding:22px; }
 .product-grade .btn { width:100%; }
 .product-care { padding:22px; }
 .product-help { padding:24px 20px; }
 .product-help .btn { width:100%; }
 .product-related { grid-template-columns:minmax(0,1fr); gap:10px; }
 .product-related a { grid-template-columns:64px minmax(0,1fr); align-items:center; justify-items:start; text-align:left; padding:12px 16px; gap:18px; }
 .product-related img { width:64px; height:72px; }
}

/* Fact labels need no decorative symbols. */
.product-story .detail-page .facts .fact::before,.product-story .detail-page .facts .fact::after{content:none;display:none}
