/* Optional product photos: one main view and up to three alternative views. */
.shop-photo-gallery{margin:0 0 18px;min-width:0;display:grid;gap:9px}
body .shop-photo-main{display:block;position:relative;width:100%;aspect-ratio:4/3;min-height:0;padding:0;border:1px solid #84aaa255;border-radius:13px;background:#edf2ea;overflow:hidden;cursor:zoom-in}
.shop-photo-main img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.shop-photo-main:hover img{transform:scale(1.035)}
.shop-photo-main>span{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#123c40de;color:#f4fff3;font-size:27px;border:1px solid #a3d8cb}
.shop-photo-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
body .shop-photo-thumbnails>button{aspect-ratio:4/3;min-height:44px;padding:0;border:1px solid #85aaa2;border-radius:9px;background:#edf2ea;overflow:hidden;cursor:pointer}
.shop-photo-thumbnails img{display:block;width:100%;height:100%;object-fit:contain}
.shop-photo-thumbnails>button:hover{border-color:#ef8748;box-shadow:0 0 0 2px #ef874844}
body .shop-photo-gallery button:focus-visible{outline:3px solid #ff9e60;outline-offset:3px}
body .shop-photo-dialog{width:min(1120px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);padding:18px;border-radius:17px;border:1px solid #69a99e;background:#102e34;color:#f2faf3;overflow:hidden}
.shop-photo-dialog::backdrop{background:#061b22db;backdrop-filter:blur(5px)}
body .shop-photo-dialog header{position:static;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 0 12px;background:none;border:0;box-shadow:none;min-height:0}
body .shop-photo-dialog h2{margin:0;font-size:21px;color:#f2faf3;line-height:1.35}
body .shop-photo-dialog header button{width:44px;min-height:44px;background:#254b4f;color:#fff;border:1px solid #67998e;border-radius:50%;font-size:27px;flex-shrink:0}
.shop-photo-stage{display:flex;align-items:center;justify-content:center;background:#edf2ea;border-radius:10px;overflow:auto;max-height:calc(100dvh - 190px);min-height:180px;overscroll-behavior:contain}
.shop-photo-stage img{display:block;max-width:100%;max-height:calc(100dvh - 190px);width:auto;height:auto;object-fit:contain}
.shop-photo-dialog.is-zoomed .shop-photo-stage{display:block;cursor:zoom-out}
.shop-photo-dialog.is-zoomed img{max-width:none;max-height:none;width:auto;height:auto}
body .shop-photo-dialog footer{position:static;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:13px 0 0;background:none;border:0;color:#e6f4eb}
body .shop-photo-dialog footer button{min-width:44px;min-height:44px;padding:7px 13px;border:1px solid #83afa4;border-radius:9px;background:#28565a;color:#f4fff4;font-size:15px;font-weight:700}
body .shop-photo-dialog footer button[data-gallery-zoom]{background:#e0ec8e;color:#213d34;border-color:#e0ec8e}
.shop-photo-dialog [role=status]{font-size:13px;line-height:1.5;max-width:55ch;text-align:center}
#admin .shop-admin-photos{margin:16px 0 12px;padding:14px;border:1px solid #b6cec0;background:#e5efe5;border-radius:12px}
#admin .shop-photo-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
#admin .shop-photo-editor-heading h3{margin:0;font-size:16px}
#admin .shop-photo-editor-heading small{font-size:12px;color:#496b59}
#admin .shop-admin-photo-layout{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:16px;align-items:start}
#admin .shop-admin-photos .shop-photo-gallery{margin-bottom:0}
#admin .shop-admin-photos .shop-photo-main{aspect-ratio:4/3}
#admin .shop-photo-editor-list{display:grid;gap:8px;margin:0 0 12px}
#admin .shop-photo-editor-item{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:10px;padding:8px;border:1px solid #b3c9bb;border-radius:9px;background:#f6faf3}
#admin .shop-photo-editor-item>img{width:44px;height:44px;object-fit:contain;background:#eaf1e6;border-radius:6px}
#admin .shop-photo-editor-item b{display:block;font-size:12px;color:#254d3d;margin-bottom:5px}
#admin .shop-photo-editor-actions{display:flex;gap:6px;flex-wrap:wrap}
#admin .shop-photo-editor-actions button{min-height:35px;padding:5px 9px;border:1px solid #93b1a2;border-radius:7px;background:#e5eee3;color:#264b3d;font:700 12px/1.3 Arial,sans-serif}
#admin .shop-photo-editor-item details{margin-top:7px}
#admin .shop-photo-editor-item summary{font-size:12px;color:#466354}
#admin .shop-photo-editor-item input{font-size:13px!important;min-height:40px!important;margin-top:5px}
#admin .shop-photo-upload-help{font-size:12px;line-height:1.5;color:#466354;margin:8px 0}
#admin [data-photo-feedback]{font-size:13px;line-height:1.5;margin:8px 0 0;color:#674017}
#admin .shop-photo-editor-empty{padding:12px;border:1px dashed #93b6a0;border-radius:9px;margin-bottom:12px;font-size:13px;color:#466354}
@media(max-width:600px){#admin .shop-admin-photo-layout{grid-template-columns:1fr}#admin .shop-admin-photos .shop-photo-gallery{max-width:280px;width:100%;margin:auto}#admin .shop-photo-editor-actions button{min-height:44px}body .shop-photo-dialog{padding:12px}body .shop-photo-dialog h2{font-size:18px}.shop-photo-dialog [role=status]{max-width:100%;order:2;flex-basis:100%}.shop-photo-stage,.shop-photo-stage img{max-height:calc(100dvh - 230px)}}
@media(prefers-reduced-motion:reduce){.shop-photo-gallery *,.shop-photo-dialog *{transition:none!important;animation:none!important}.shop-photo-main:hover img{transform:none}}
body.paused .shop-photo-main img{transition:none!important;transform:none!important}

body .shop-photo-dialog[open]{height:fit-content!important;display:flex;flex-direction:column}
.shop-photo-stage{height:min(640px,calc(100dvh - 190px));flex-shrink:1}
@media(max-width:600px){.shop-photo-stage{height:calc(100dvh - 230px)}}
