/* Enlargements pair the editorial photograph with its original product reference. */
.product-image-open { position:relative; display:block; color:inherit; }
.product-image-open img { display:block; width:100%; height:auto; }
.image-open-label { position:absolute; right:12px; bottom:12px; display:inline-flex; align-items:center; gap:22px; min-height:34px; padding:6px 11px; color:#294138; background:#fbfaf4ee; border:1px solid #d5dccf; font:500 11px/1.5 var(--font-body,sans-serif); }
.product-image-open:hover .image-open-label { background:#fff; border-color:#61775d; }
.product-editorial-grid figcaption a { text-decoration:underline; text-underline-offset:3px; }
.image-dialog { margin:auto; width:min(1180px,calc(100% - 48px)); max-height:calc(100dvh - 48px); padding:0; border:1px solid #cdd5c9; color:#263d35; background:#f7f5ef; overflow:auto; overscroll-behavior:contain; }
.image-dialog::backdrop { background:#11251fe6; }
.image-dialog[open] { animation:image-dialog-in .2s ease-out; }
.image-dialog header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 22px; border-bottom:1px solid #cdd5c9; background:#f7f5ef; position:sticky; top:0; z-index:2; }
.image-dialog header p { margin:0; font:500 12px/1.5 var(--font-body,sans-serif); }
.image-dialog button { font:inherit; cursor:pointer; color:inherit; }
.image-dialog-close { border:1px solid #a7b6a3; min-width:44px; min-height:44px; background:transparent; font-size:24px!important; }
.image-dialog-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; }
.image-dialog-view { min-width:0; padding:22px; }
.image-view-switch { display:flex; flex-wrap:wrap; gap:22px; margin-bottom:18px; }
.image-view-switch button { min-height:44px; border:0; border-bottom:2px solid transparent; background:none; font-size:12px; padding:6px 0; color:#627164; }
.image-view-switch button[aria-pressed=true] { color:#243c2e; border-color:#46613c; }
.image-dialog-stage { background:#eceee6; min-height:240px; }
.image-dialog-stage img { display:block; width:100%; height:min(54dvh,520px); object-fit:contain; }
.image-dialog-stage[data-view=reference] { background:#fff; }
.image-dialog-status { color:#5d6d5e; font-size:12px; margin:12px 0 0; line-height:1.7; }
.image-dialog-info { padding:30px 25px; border-left:1px solid #cdd5c9; }
.image-dialog-maker { font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:#697b65; line-height:1.8; }
.image-dialog h2 { font:400 33px/1.2 Georgia,serif; letter-spacing:-.035em; color:#263d35; margin:15px 0 25px; }
.image-dialog dl { margin:0 0 22px; }
.image-dialog dl div { padding:15px 0; border-top:1px solid #cdd5c9; }
.image-dialog dt { font-size:11px; color:#6b7a64; margin-bottom:6px; }
.image-dialog dd { margin:0; font-size:14px; line-height:1.6; }
.image-dialog-info a { display:block; min-height:44px; padding:10px 0; font-size:13px; color:#34553a; text-decoration:underline; text-underline-offset:4px; }
.image-dialog :focus-visible { outline:2px solid #597b4c; outline-offset:3px; }
html:has(.image-dialog[open]) { overflow:hidden; }
@keyframes image-dialog-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(max-width:700px) {
 .image-dialog { margin:auto; width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; border:0; }
 .image-dialog-grid { grid-template-columns:1fr; }
 .image-dialog-view { padding:12px 18px 20px; }
 .image-dialog-stage img { height:auto; max-height:48dvh; min-height:180px; aspect-ratio:3/2; }
 .image-dialog-info { border-left:0; border-top:1px solid #cdd5c9; padding:25px 22px; }
 .image-dialog h2 { margin:8px 0 18px; }
 .image-dialog dl { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:12px; }
 .image-view-switch { gap:20px; }
 .image-open-label { right:8px; bottom:8px; }
}
@media(prefers-reduced-motion:reduce) { .image-dialog[open] { animation:none; } }
@media print { .image-dialog,.image-open-label { display:none!important; } }
