/* Full-frame photography; the backdrop fills the space without cropping the subject. */
.material-photo.product-gallery{height:auto;min-width:0;background:#e9dfd1;align-self:stretch;display:flex;flex-direction:column;overflow:hidden}
.product-gallery .photo-open{display:block;position:relative;width:100%;height:clamp(320px,34vw,510px);min-height:320px;overflow:hidden;padding:0;flex:1;background:#d9c9b3;cursor:zoom-in}
.product-gallery .photo-open>img.gallery-main-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;filter:none;z-index:1;transition:none}
.gallery-backdrop,.product-gallery .photo-open>img.gallery-backdrop{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;filter:blur(26px) brightness(.68);opacity:.48;transform:none!important;pointer-events:none}
.product-gallery .photo-line,.product-gallery .photo-invitation{z-index:2;font-size:14px;letter-spacing:0;text-transform:none;max-width:calc(100% - 32px)}
.product-gallery .photo-line{top:16px;left:16px;background:#fff9efed;color:#413325;padding:9px 14px}
.product-gallery .photo-invitation{right:16px;bottom:16px;font-weight:650}
.gallery-strip{display:flex;align-items:center;gap:18px;padding:14px 18px;background:#eee5d8;border-top:1px solid #d8c9b5;min-width:0}
.gallery-thumbnails{display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:thin;min-width:0;padding:3px}
.gallery-thumbnails button{position:relative;flex:0 0 84px;width:84px;height:65px;border:2px solid transparent;border-radius:8px;overflow:hidden;padding:3px;background:#f9f4eb;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.gallery-thumbnails button img{width:100%;height:100%;object-fit:contain;border-radius:4px;display:block}
.gallery-thumbnails button span{position:absolute;bottom:4px;left:4px;font-size:11px;font-weight:700;color:white;background:#30291edb;border-radius:4px;padding:1px 5px}
.gallery-thumbnails button[aria-pressed=true]{border-color:#286145;box-shadow:0 0 0 1px #286145}
.gallery-thumbnails button:hover{border-color:#936039}.gallery-thumbnails button:focus-visible{outline:3px solid #d6a564;outline-offset:2px}
.gallery-inline-count{margin-left:auto;white-space:nowrap;font-size:14px;color:#594431;font-weight:650}
.material-story.gallery-dialog{width:min(1400px,calc(100% - 32px));max-width:1400px;max-height:94dvh;padding:0;overflow:hidden;border-radius:18px;background:#f6eee1}
.gallery-dialog .story-layout{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);height:min(860px,92dvh);min-height:0}
.gallery-dialog .story-media{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#e6dac8;touch-action:auto;padding:0}
.gallery-stage{position:relative;flex:1;min-height:200px;overflow:hidden;touch-action:none;cursor:zoom-in;background:#d5c4ad;isolation:isolate}
.gallery-dialog .story-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;animation:none!important;transform-origin:center;max-width:none;user-select:none;pointer-events:none;will-change:transform}
.gallery-stage.is-zoomed{cursor:grab}.gallery-stage.is-zoomed.is-dragging{cursor:grabbing}
.gallery-dialog .story-label{top:16px;left:16px;z-index:2;font-size:13px;font-weight:650;background:#fff8eae8;color:#453321;padding:9px 14px;pointer-events:none;max-width:calc(100% - 75px)}
.gallery-load-status{position:absolute;bottom:18px;left:18px;background:#fff9ef;color:#453321;border-radius:8px;font-size:14px;padding:8px 12px;pointer-events:none}.gallery-load-status:empty{display:none}
.gallery-tools{display:flex;align-items:center;gap:8px;padding:12px 18px 0;background:#eee5d8;flex-wrap:wrap}
.gallery-tools button{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid #cdbda8;background:#fffaf1;color:#453321;border-radius:9px;font-size:20px;cursor:pointer}
.gallery-tools button:disabled{opacity:.38;cursor:default}.gallery-tools button:hover:not(:disabled){background:#23583d;color:white;border-color:#23583d}
.gallery-dialog .story-photo-count{font-size:15px;min-width:48px;text-align:center;color:#453321;background:none;padding:0}.story-photo-prev .icon{transform:rotate(180deg)}
.gallery-zoom-tools{display:flex;align-items:center;gap:5px;margin-left:auto}.gallery-zoom-level{min-width:53px;font-size:14px;text-align:center;font-weight:650}
.gallery-tools [data-zoom=reset]{font-size:14px;font-weight:650;padding-inline:12px}
.gallery-hint{font-size:13px;line-height:1.5;padding:9px 18px 0;color:#624c38;background:#eee5d8}
.story-thumbnails{padding:12px 18px;background:#eee5d8;flex-shrink:0}.gallery-caption{font-size:13px;line-height:1.55;padding:0 18px 16px;color:#624c38;background:#eee5d8;min-height:38px}
.gallery-dialog .story-copy{padding:65px 30px 28px;overflow-y:auto;min-width:0}.gallery-dialog .story-copy h2{font-size:clamp(27px,2.6vw,39px);line-height:1.12}.gallery-dialog .story-description{font-size:16px;line-height:1.8}.gallery-dialog .story-guidance{font-size:15px;line-height:1.7}.gallery-dialog .story-note{font-size:13px;line-height:1.65}.gallery-dialog .story-direct{font-size:15px}.gallery-dialog .story-add{font-size:15px}.gallery-dialog .story-material-count{font-size:13px}.gallery-dialog .story-close{position:absolute;top:12px;right:12px;z-index:5;width:44px;height:44px;box-shadow:0 2px 8px #25180c20}
.gallery-dialog [hidden]{display:none!important}.detail-product-gallery{min-width:0;align-self:start;border-radius:14px;overflow:hidden}.detail-product-gallery .photo-open{height:520px;flex:auto}.detail-product-gallery .gallery-strip{margin:0}
@media(max-width:900px){.gallery-dialog .story-layout{grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr)}.gallery-dialog .story-copy{padding-inline:22px}.gallery-tools{padding-inline:12px;gap:5px}.gallery-tools button{min-width:40px;height:40px}.gallery-zoom-level{min-width:45px}}
@media(max-width:700px){.material-story.gallery-dialog{width:calc(100% - 16px);max-height:96dvh;border-radius:14px;overflow-y:auto}.gallery-dialog .story-layout{display:block;height:auto;min-height:0}.gallery-dialog .story-media{height:auto;overflow:visible}.gallery-stage{height:48dvh;min-height:270px;flex:none}.gallery-dialog .story-copy{overflow:visible;padding:27px 24px}.gallery-dialog .story-copy h2{font-size:31px}.gallery-dialog .story-close{position:sticky;float:right;margin:10px 10px -54px 0;top:10px;right:auto}.gallery-dialog .story-label{font-size:12px;top:14px;left:12px}.gallery-tools{padding:12px 12px 0;gap:5px}.gallery-tools button{min-width:39px;height:42px}.gallery-zoom-level{min-width:42px;font-size:12px}.gallery-dialog .story-photo-count{font-size:13px;min-width:37px}.gallery-tools [data-zoom=reset]{font-size:12px;padding-inline:8px}.gallery-hint{padding-inline:14px}.story-thumbnails{padding:10px 14px}.gallery-caption{padding:0 14px 14px;font-size:12px}.product-gallery .photo-open{height:370px;min-height:300px;flex:auto}.gallery-strip{padding:12px;gap:8px}.gallery-inline-count{font-size:12px}.gallery-thumbnails button{flex-basis:73px;width:73px;height:57px}.product-gallery .photo-line,.product-gallery .photo-invitation{font-size:12px}.detail-product-gallery .photo-open{height:420px}}
@media(prefers-reduced-motion:reduce){.gallery-thumbnails button{transition:none}.gallery-dialog .story-image{animation:none!important}}
