/* Product 479 comparison uses the existing content width and brand colors. */
.product-comparison { margin:0 0 48px; scroll-margin-top:120px; }
.product-comparison h2 { margin:0 0 20px; color:#272c30; font-size:24px; font-weight:500; line-height:1.4; }
.product-comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.product-comparison-grid figure { margin:0; min-width:0; }
.product-comparison-grid a { display:block; padding:6px; border:1px solid #d9dfe2; background:#fff; color:#272c30; text-decoration:none; }
.product-comparison-grid img { display:block; width:100%; height:auto; aspect-ratio:1.5; object-fit:contain; }
.product-comparison-grid a > span { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:4px 10px; font-size:16px; }
.product-comparison-grid a:hover { border-color:#ae2938; color:#ae2938; }
.product-comparison-grid a:focus-visible { outline:2px solid #ae2938; outline-offset:3px; }
.product-compare-dialog { width:min(1120px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:18px; box-sizing:border-box; border:1px solid #d9dfe2; background:#fff; color:#272c30; }
.product-compare-dialog::backdrop { background:rgba(15,20,23,.76); }
.product-compare-dialog header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.product-compare-dialog h2 { margin:0; font-size:20px; font-weight:500; }
.product-compare-dialog button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid #d9dfe2; border-radius:0; background:#fff; color:#272c30; cursor:pointer; font:inherit; }
.product-compare-dialog button:hover { border-color:#ae2938; color:#ae2938; }
.product-compare-dialog button:focus-visible { outline:2px solid #ae2938; outline-offset:2px; }
.product-compare-dialog img { display:block; width:100%; height:auto; max-height:calc(100dvh - 190px); object-fit:contain; background:#f3f5f6; }
.product-compare-dialog footer { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:12px; }
.product-compare-dialog footer span { min-width:100px; text-align:center; font-size:14px; }
@media(max-width:600px) {
 .product-comparison-grid { grid-template-columns:1fr; gap:18px; }
 .product-comparison h2 { font-size:21px; }
 .product-comparison { margin-bottom:32px; }
 .product-compare-dialog { padding:12px; }
 .product-compare-dialog h2 { font-size:18px; }
}

/* Original product photographs stay together before the description. */
.product-original-section { margin:0 0 48px; scroll-margin-top:120px; }
.product-original-section > h2 { margin:0 0 20px; font-size:24px; line-height:1.4; font-weight:500; }
body.zm-cms-page .product-original-photos .cms-record-gallery { display:contents; }
body.zm-cms-page .product-original-photos .cms-record-hero,
body.zm-cms-page .product-original-photos .cms-record-gallery figure { margin:0; padding:0; border:0; background:transparent; min-width:0; }
body.zm-cms-page .product-original-photos figure img { width:100%; max-width:none; height:auto; max-height:none; aspect-ratio:1.35; object-fit:contain; }
@media(max-width:600px) {
 .product-original-section { margin-bottom:32px; }
 .product-original-section > h2 { font-size:21px; }
}

body.zm-cms-page .product-original-photos.is-single { grid-template-columns:minmax(0,1fr); max-width:720px; margin-inline:auto; }
