.s_product_photo_link { display:block; width:100%; height:100%; cursor:zoom-in; }
.s_card_media[data-product-gallery] { cursor:zoom-in; }
.s_product_photo_link:focus-visible,.s_card_media[data-product-gallery]:focus-visible { outline:2px solid var(--gold,#927551); outline-offset:4px; }
.pg_empty { display:block; min-height:160px; }
.pg_dialog { width:min(1100px,96vw); max-width:96vw; max-height:94dvh; padding:0; border:0; border-radius:3px; color:#302521; background:#fbfaf7; box-shadow:0 22px 90px #0006; overflow:hidden; }
.pg_dialog::backdrop { background:rgb(27 21 19 / 78%); backdrop-filter:blur(4px); }
.pg_panel { display:flex; flex-direction:column; max-height:94dvh; }
.pg_header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 20px; border-bottom:1px solid #30252118; }
.pg_header h2 { margin:0; font:500 clamp(16px,2.2vw,23px)/1.25 Montserrat,sans-serif; }
.pg_dialog button { color:inherit; font:inherit; cursor:pointer; }
.pg_close { width:42px; height:42px; flex:none; border:0; background:transparent; font-size:34px!important; line-height:1!important; }
.pg_stage { position:relative; display:flex; align-items:center; justify-content:center; flex:1 1 auto; min-height:120px; overflow:hidden; padding:12px 54px; }
.pg_large { display:block; width:100%; max-height:calc(94dvh - 225px); object-fit:contain; }
.pg_panel:not(:has(.pg_thumbnails)) .pg_large { max-height:calc(94dvh - 115px); }
.pg_previous,.pg_next { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:56px; border:1px solid #3025211f; border-radius:3px; background:#fff9; font-size:36px!important; line-height:1!important; }
.pg_previous { left:9px; }.pg_next { right:9px; }
.pg_thumbnails { display:flex; justify-content:safe center; gap:10px; flex:none; overflow-x:auto; padding:12px 20px 4px; border-top:1px solid #30252118; scrollbar-width:thin; }
.pg_thumbnails button { flex:0 0 76px; height:76px; padding:4px; border:1px solid #3025212e; border-radius:2px; background:#fff8; }
.pg_thumbnails button[aria-current="true"] { border:2px solid #886643; padding:3px; }
.pg_thumbnails img { display:block; width:100%; height:100%; object-fit:contain; }
.pg_dialog button:focus-visible { outline:2px solid #886643; outline-offset:2px; }
.pg_counter { margin:0; padding:7px 16px 9px; min-height:24px; text-align:center; font:400 12px/1.2 Montserrat,sans-serif; }
@media(max-width:600px) { .pg_header { gap:10px; padding:8px 12px; }.pg_stage { padding:8px 38px; }.pg_previous,.pg_next { width:30px; height:46px; }.pg_previous { left:4px; }.pg_next { right:4px; }.pg_thumbnails { padding-inline:12px; gap:8px; }.pg_thumbnails button { flex-basis:62px; height:62px; }.pg_large { max-height:calc(94dvh - 195px); } }
