.product-gallery { display: flex; flex-direction: column; gap: 10px; max-width: 420px; }
.product-gallery__stage {
    position: relative; overflow: hidden; aspect-ratio: 1/1;
    border-radius: var(--radius, 14px); background: var(--color-surface, #fff);
    border: 1px solid var(--color-border, #e5e5e5); cursor: zoom-in;
}
.product-gallery__main-img {
    width: 100%; height: 100%; object-fit: contain; display: block;
    user-select: none; -webkit-user-drag: none; transition: opacity .1s;
}
.product-gallery__stage.is-zooming .product-gallery__main-img { opacity: 0; }
.product-gallery__stage::after {
    content: ""; position: absolute; inset: 0;
    background-image: var(--zoom-bg); background-repeat: no-repeat; background-size: 200%;
    background-position: var(--zoom-x, 50%) var(--zoom-y, 50%); opacity: 0;
    transition: opacity .1s; pointer-events: none;
}
.product-gallery__stage.is-zooming::after { opacity: 1; }
.product-gallery__zoom-btn {
    position: absolute; right: 10px; bottom: 10px; z-index: 2;
    width: 38px; height: 38px; border-radius: 50%;
    border: 1px solid var(--color-border, #ddd); background: var(--color-surface, #fff);
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    color: var(--color-text, #333); box-shadow: 0 2px 8px rgba(0,0,0,.12);
    transition: background-color .15s ease, color .15s ease, transform .15s ease;
}
.product-gallery__zoom-btn svg { width: 18px; height: 18px; }
.product-gallery__zoom-btn:hover { background: var(--color-accent, var(--color-primary, #333)); color: #fff; transform: scale(1.06); }
.product-gallery__thumbs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; justify-content: center; }
.product-gallery__thumb {
    flex: 0 0 auto; width: 64px; height: 64px; padding: 0;
    border-radius: calc(var(--radius, 14px) * 0.4); border: 2px solid transparent;
    overflow: hidden; cursor: pointer; background: none;
}
.product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-gallery__thumb.is-active { border-color: var(--color-accent, var(--color-text, #333)); }
@media (hover: none) { .product-gallery__stage { cursor: pointer; } }

/* Tam ekran gorunum — buyuk gorsel + kucukresim seridi (GLightbox'in desteklemedigi ozellik) */
body.pg-lightbox-open { overflow: hidden; }
.pg-lightbox {
    position: fixed; inset: 0; z-index: 1200; display: none; grid-template-columns: 1fr; grid-template-rows: 1fr auto;
    background: rgba(10, 8, 20, .94); padding: 24px; opacity: 0; transition: opacity .18s ease;
}
.pg-lightbox.is-open { display: grid; opacity: 1; }
.pg-lightbox__stage { grid-column: 1; grid-row: 1; display: flex; align-items: center; justify-content: center; min-height: 0; padding: 0 70px; }
.pg-lightbox__img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; user-select: none; -webkit-user-drag: none; }
.pg-lightbox__close, .pg-lightbox__nav {
    position: fixed; z-index: 1201; display: flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; border-radius: 50%; border: none; background: rgba(255,255,255,.12); color: #fff;
    font-size: 22px; line-height: 1; cursor: pointer; transition: background-color .15s ease, transform .15s ease;
}
.pg-lightbox__close:hover, .pg-lightbox__nav:hover { background: rgba(255,255,255,.24); transform: scale(1.06); }
.pg-lightbox__close { top: 24px; right: 24px; font-size: 26px; }
.pg-lightbox__nav--prev { left: 24px; top: 50%; transform: translateY(-50%); }
.pg-lightbox__nav--next { right: 24px; top: 50%; transform: translateY(-50%); }
.pg-lightbox__nav--prev:hover, .pg-lightbox__nav--next:hover { transform: translateY(-50%) scale(1.06); }
.pg-lightbox__thumbs {
    grid-column: 1; grid-row: 2; display: flex; gap: 10px; justify-content: center; overflow-x: auto;
    padding-top: 18px; margin-top: 4px;
}
.pg-lightbox__thumb {
    flex: 0 0 auto; width: 62px; height: 62px; padding: 0; cursor: pointer; background: none;
    border: 2px solid rgba(255,255,255,.2); border-radius: 10px; overflow: hidden; opacity: .6;
    transition: opacity .15s ease, border-color .15s ease;
}
.pg-lightbox__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pg-lightbox__thumb:hover { opacity: .85; }
.pg-lightbox__thumb.is-active { opacity: 1; border-color: #fff; }
@media (max-width: 640px) {
    .pg-lightbox { padding: 16px; }
    .pg-lightbox__stage { padding: 0 46px; }
    .pg-lightbox__close, .pg-lightbox__nav { width: 40px; height: 40px; }
    .pg-lightbox__thumb { width: 48px; height: 48px; }
}
