/* Product controls share the existing typography and cool grey palette. */
[hidden]{display:none!important}
.front-crop picture{display:block;width:100%;height:100%}
.image-zoom{position:absolute;z-index:2;top:14px;right:14px;display:flex;align-items:center;gap:14px;min-height:44px;min-width:44px;padding:10px 12px;background:rgba(245,246,243,.94);color:var(--ink);font:500 10px/1.4 Anybody,Arial,sans-serif;letter-spacing:.04em}
.image-zoom span{font:18px/1 Arial,sans-serif}
.visual-stage.has-zoom{cursor:zoom-in}
.gallery-feedback{display:flex;align-items:center;gap:14px;min-width:0}
.gallery-feedback .view-status{margin:0}
.view-status:not(.has-error){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.gallery-retry{min-width:44px;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px;font-size:11px;white-space:nowrap}
.availability{max-width:355px;margin:20px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.product-navigation{display:flex;justify-content:space-between;gap:24px;padding:24px var(--gutter);border-top:1px solid var(--line);font:500 10px/1.5 Anybody,Arial,sans-serif;letter-spacing:.04em}
.product-navigation a{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:44px;max-width:46%}
.product-navigation a span{font:18px/1 Arial,sans-serif}
.product-navigation a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:4px}
.footer nav{display:flex;flex-wrap:wrap;gap:12px 26px}
.footer a{display:inline-flex;align-items:center;min-height:44px}
.footer{align-items:center}
html.gallery-open{overflow:hidden}
.image-dialog{position:fixed;inset:0;z-index:10;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden}
.image-dialog[open]{display:flex;flex-direction:column}
.image-dialog::backdrop{background:rgba(23,30,37,.35)}
.image-dialog button{min-width:44px;min-height:44px;padding:10px 14px;font:500 11px/1.3 Anybody,Arial,sans-serif;letter-spacing:.03em}
.image-dialog button:disabled{opacity:.35;cursor:default}
.image-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;min-height:70px;padding:8px 24px;border-bottom:1px solid var(--line)}
.image-dialog-header h2{margin:0;font:500 11px/1.5 Anybody,Arial,sans-serif;letter-spacing:.04em}
.image-dialog-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fff;touch-action:pan-x pan-y pinch-zoom}
.image-dialog-canvas{min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}
.image-dialog-frame{position:relative;flex-shrink:0;overflow:hidden;background:#fff}
.image-dialog-photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.image-dialog-photo[data-crop="true"]{object-fit:cover}
.image-dialog-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;padding:8px 20px;border-top:1px solid var(--line)}
.image-dialog-views,.image-dialog-zoom{display:flex;align-items:center;gap:8px}
.image-dialog-views button{font:20px/1 Arial,sans-serif}
.image-dialog-views span{font:500 11px/1 Anybody,Arial,sans-serif;min-width:44px;text-align:center}
.image-dialog-zoom button[data-gallery-in],.image-dialog-zoom button[data-gallery-out]{font:20px/1 Arial,sans-serif}
.image-dialog-caption{flex-shrink:0;margin:0;padding:0 24px 14px;min-height:29px;font-size:10px;line-height:1.5;color:var(--muted);letter-spacing:.03em}
.image-dialog-status{flex-shrink:0;margin:0;padding:0 24px;font-size:11px;line-height:1.6}
.image-dialog-status:empty{display:none}
.image-dialog-retry{flex-shrink:0;align-self:flex-start;margin:0 10px 8px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.product-navigation{gap:20px}.product-navigation a{font-size:9px;gap:12px}.image-dialog-header{padding:8px 14px;min-height:64px}.image-dialog-tools{padding:6px 10px;gap:8px}.image-dialog-views,.image-dialog-zoom{gap:0}.image-dialog-caption{padding:0 20px 12px}.footer{flex-wrap:wrap;gap:12px}}
