/* Real photography: lighting states share one product and one purchase flow. */
.pdp-product{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);column-gap:clamp(28px,3.5vw,56px)}
.photo-modes{display:flex;gap:8px;margin-bottom:14px}
.photo-modes button{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 18px;background:transparent;border:1px solid #a4ad9b;color:var(--ink);font-size:15px}
.photo-modes button[aria-pressed=true]{background:#273126;border-color:#273126;color:#f5f3eb}
.light-dot{width:9px;height:9px;border:1px solid currentColor;border-radius:50%;display:inline-block}.light-dot-on{background:currentColor}
.photo-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1.3;background:radial-gradient(ellipse at 55% 35%,#f1f1e9,#dce0d2);border:1px solid #bfc6b5;overflow:hidden;cursor:zoom-in}
.photo-stage.is-lit{background:radial-gradient(ellipse at 50% 40%,#363c34,#131c18);color:#f5f3eb;border-color:#465044}
.photo-stage>img{width:96%;height:82%;object-fit:contain;filter:drop-shadow(0 18px 12px #111b1126)}
.photo-stage.is-detail>img{width:100%;height:100%;object-fit:cover;filter:none}
.photo-stage-label{position:absolute;top:18px;left:20px;right:20px;z-index:1;font-size:14px;line-height:1.4}
.photo-stage.is-detail .photo-stage-label{background:#f5f3ebed;color:#273126;top:14px;left:14px;right:auto;padding:6px 10px;max-width:calc(100% - 28px)}
.photo-enlarge{position:absolute;bottom:18px;right:18px;display:inline-flex;gap:30px;padding:9px 13px;background:#f8f7f0ed;color:#273126;border:1px solid #bdc4b3;font-size:14px;line-height:1.3}
.photo-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.photo-thumbnails button{min-width:0;border:1px solid #bcc5b1;padding:8px 5px;background:#e5e8dd;color:#313b2e;font-size:12px;line-height:1.4}
.photo-thumbnails button[hidden]{display:none}.photo-thumbnails button[data-mode=on]{background:#263026;color:#f5f3eb}
.photo-thumbnails button[aria-pressed=true]{outline:2px solid #687b51;outline-offset:2px;background:#f5f3eb}
.photo-thumbnails button[data-mode=on][aria-pressed=true]{background:#374330}
.photo-thumbnails img{width:100%;height:64px;object-fit:contain;margin-bottom:7px}
.photo-hint{font-size:14px;color:var(--muted);line-height:1.6;margin-top:17px}
.photo-modes button:focus-visible,.photo-thumbnails button:focus-visible,.photo-stage:focus-visible,.photo-detail-image:focus-visible,.photo-viewer button:focus-visible{outline:3px solid #b2964f;outline-offset:4px}
.photo-details{background:#f5f3eb}
.photo-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.photo-detail-card{background:#dde2d3;overflow:hidden}
.photo-detail-heading{padding:28px 30px 24px}.photo-state{font:13px/1.5 var(--mono);letter-spacing:.04em}.photo-detail-heading h3{font:normal clamp(25px,2.5vw,36px)/1.15 var(--serif);margin-top:12px}
.photo-detail-dark{background:#1d2820;color:#f5f3eb}
.photo-detail-image{display:block;position:relative;aspect-ratio:1.45;overflow:hidden;cursor:zoom-in}
.photo-detail-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.photo-detail-card:not(.photo-detail-dark) .photo-detail-image img{position:absolute;width:140%;height:140%;max-width:none;left:-20%;top:-18%}
.pdp-control-diagram.photo-highlight{max-width:1400px;padding:20px 0 34px;margin:0 auto 30px}
.photo-highlight a{position:relative;display:block;cursor:zoom-in}.photo-highlight img{width:100%;height:auto;display:block}
.photo-highlight .photo-enlarge{bottom:-20px;background:#20291e;color:#ecefe2;border-color:#6c785d}
.photo-viewer{padding:0;border:1px solid #687560;background:#e9ecdf;color:#243024;width:min(96vw,1800px);height:94dvh;max-width:none;max-height:94dvh;margin:auto;overflow:hidden}
.photo-viewer[open]{display:flex;flex-direction:column}.photo-viewer::backdrop{background:#09110df0}
.photo-viewer.is-lit{background:#131c17;color:#f5f3eb}
.viewer-toolbar,.viewer-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;flex-shrink:0;border-bottom:1px solid #7a856b66}
.viewer-toolbar p{font-size:17px;font-weight:600;line-height:1.4}.viewer-toolbar span{font-size:13px;line-height:1.5;display:block;margin-top:3px}
.viewer-actions{display:flex;gap:10px;flex-shrink:0}
.photo-viewer button{min-height:44px;padding:10px 16px;border:1px solid currentColor;background:transparent;color:inherit;font:14px/1.3 var(--sans)}
.viewer-canvas{flex:1;min-height:0;overflow:auto;padding:24px;display:flex;align-items:center;justify-content:center;touch-action:pan-x pan-y pinch-zoom}
.viewer-canvas img{display:block;width:100%;height:100%;object-fit:contain;max-width:none;cursor:zoom-in}
.viewer-canvas.is-zoomed{display:block}.viewer-canvas.is-zoomed img{width:200%;height:auto;min-height:100%;object-fit:contain;cursor:grab}
.viewer-footer{border-bottom:0;border-top:1px solid #7a856b66;padding:12px 24px}.viewer-footer p{font-size:13px;line-height:1.5;text-align:center;max-width:440px}
@media(max-width:1000px){.pdp-product{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.photo-stage{aspect-ratio:1.05}.photo-thumbnails{gap:7px}.photo-thumbnails img{height:49px}.photo-thumbnails button{font-size:11px}.photo-detail-grid{gap:16px}.photo-detail-heading{padding:24px}}
@media(max-width:760px){.pdp-product{grid-template-columns:1fr}.pdp-gallery{max-width:none}.photo-stage{aspect-ratio:1.25}.photo-modes{gap:9px}.photo-modes button{flex:1;justify-content:center;font-size:14px;padding:10px 8px}.photo-thumbnails img{height:58px}.photo-thumbnails button{font-size:12px}.photo-stage-label{font-size:13px;left:15px;top:15px}.photo-detail-grid{grid-template-columns:1fr;gap:20px}.photo-detail-heading h3{font-size:30px}.photo-detail-image{aspect-ratio:1.3}.photo-hint{font-size:13px}.photo-highlight .photo-enlarge{position:static;margin-top:16px}.photo-viewer{width:100vw;height:100dvh;max-height:100dvh;border:0}.viewer-toolbar{padding:14px 12px;gap:10px;flex-wrap:wrap}.viewer-toolbar>div:first-child{flex:1;min-width:170px}.viewer-actions{margin-left:auto}.photo-viewer button{padding:10px 12px}.viewer-toolbar p{font-size:15px}.viewer-toolbar span{font-size:12px}.viewer-canvas{padding:12px}.viewer-footer{padding:12px;gap:10px;flex-wrap:wrap}.viewer-footer p{order:3;max-width:none;width:100%;font-size:12px}.viewer-footer button{flex:1}.viewer-canvas.is-zoomed img{width:280%}}
