/* Green Tech product gallery: manual selection, thumbnails and image zoom. */
#content .gt-gallery {
    width: 100%; min-width: 0; color: #262b28; font-family: inherit;
    --gt-gallery-border: #262b28;
}
.gt-gallery *, .gt-gallery *::before, .gt-gallery *::after { box-sizing: border-box; }
.gt-gallery [hidden] { display: none !important; }
.gt-gallery button { font: inherit; letter-spacing: normal; text-transform: none; cursor: pointer; }
.gt-gallery svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.gt-gallery .gt-gallery-stage { position: relative; width: 100%; background: #fff; }
.gt-gallery .gt-gallery-slide { width: 100%; aspect-ratio: 4 / 3; }
.gt-gallery .gt-gallery-open {
    position: relative; display: flex; width: 100%; height: 100%; padding: 22px 30px;
    align-items: center; justify-content: center; color: #262b28; background: #fff; cursor: zoom-in;
    touch-action: pan-y pinch-zoom;
}
#content .gt-gallery .gt-gallery-open img {
    display: block; width: 100% !important; height: 100% !important; max-width: 100%; max-height: 100%;
    object-fit: contain; box-shadow: none; border: 0; border-radius: 0; animation: none; mix-blend-mode: normal;
}
.gt-gallery .gt-gallery-zoom-hint {
    position: absolute; right: 14px; bottom: 14px; width: 38px; height: 38px;
    display: grid; place-items: center; background: rgba(255,255,255,.94); border: 1px solid #e7ebe8; border-radius: 7px;
}
.gt-gallery .gt-gallery-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
    display: grid; place-items: center; width: 42px; height: 42px; padding: 0;
    border: 1px solid #eff0ef; border-radius: 8px; background: rgba(255,255,255,.96); color: #303632;
    box-shadow: 0 2px 12px #18251b12;
}
.gt-gallery .gt-gallery-prev { left: 10px; }
.gt-gallery .gt-gallery-prev svg { transform: rotate(180deg); }
.gt-gallery .gt-gallery-next { right: 10px; }
.gt-gallery .gt-gallery-arrow:disabled { visibility: hidden; }
.gt-gallery .gt-gallery-position { display: flex; align-items: center; gap: 20px; margin: 16px 0 8px; }
.gt-gallery .gt-gallery-progress { flex: 1; height: 4px; overflow: hidden; border-radius: 2px; background: #c7c9c8; }
.gt-gallery .gt-gallery-progress span { display: block; height: 100%; background: #262b28; transition: width .15s ease; }
.gt-gallery .gt-gallery-counter { min-width: 34px; white-space: nowrap; text-align: right; font-size: 12px; line-height: 18px; }
.gt-gallery .gt-gallery-thumbs {
    display: flex; gap: 4px; width: 100%; overflow-x: auto; overscroll-behavior-x: contain;
    padding: 2px 2px 6px; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.gt-gallery .gt-gallery-thumbs::-webkit-scrollbar { display: none; }
.gt-gallery .gt-gallery-thumb {
    flex: 0 0 calc((100% - 24px) / 7); min-width: 72px; aspect-ratio: 4 / 3;
    display: grid; place-items: center; padding: 3px; border: 2px solid transparent; border-radius: 6px;
    background: #fff; overflow: hidden; scroll-snap-align: start;
}
.gt-gallery .gt-gallery-thumb[aria-pressed="true"] { border-color: var(--gt-gallery-border); }
#content .gt-gallery .gt-gallery-thumb img {
    width: 100% !important; height: 100% !important; min-width: 0; min-height: 0;
    object-fit: contain; display: block; border: 0; box-shadow: none; border-radius: 3px;
}
.gt-gallery .gt-gallery-thumb:hover { background: #f5f7f6; }
.gt-gallery button:focus-visible, .gt-gallery a:focus-visible { outline: 3px solid #168149; outline-offset: -3px; }
.gt-gallery .gt-gallery-video { width: 100%; height: 100%; display: grid; place-items: center; background: #f5f7f6; }
.gt-gallery .gt-gallery-video iframe { width: 100%; height: 100%; border: 0; }
.gt-gallery .gt-gallery-play { display: grid; gap: 12px; justify-items: center; border: 0; padding: 20px; background: transparent; color: #26372c; }
.gt-gallery .gt-gallery-play > span { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #26372c; color: #fff; }
.gt-gallery .gt-gallery-video-thumb { display: grid; gap: 4px; justify-items: center; color: #34463a; font-size: 12px; }
.gt-gallery .gt-gallery-lightbox {
    position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; height: 100dvh;
    max-height: none; margin: 0; padding: 0; border: 0; overflow: hidden; background: #fff; color: #262b28;
}
.gt-gallery .gt-gallery-lightbox::backdrop { background: #fff; }
.gt-gallery .gt-gallery-lightbox-toolbar {
    position: absolute; z-index: 3; top: 0; right: 0; left: 0; display: flex; align-items: center; justify-content: flex-end;
    gap: 10px; padding: 12px max(16px, env(safe-area-inset-right)); background: rgba(255,255,255,.97);
}
.gt-gallery .gt-gallery-lightbox-count { margin-right: auto; font-size: 14px; }
.gt-gallery .gt-gallery-tool { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: #26372c; background: #fff; border: 1px solid #e4e9e6; border-radius: 8px; }
.gt-gallery .gt-gallery-lightbox-viewport { position: absolute; inset: 70px 0 16px; overflow: auto; overscroll-behavior: contain; }
.gt-gallery .gt-gallery-full-image { display: block; width: 100%; height: 100%; padding: 12px 70px; max-width: none; object-fit: contain; cursor: zoom-in; }
.gt-gallery .gt-gallery-lightbox.is-zoomed .gt-gallery-full-image { width: 200%; height: 200%; padding: 12px; cursor: zoom-out; }
html.gt-gallery-modal-open { overflow: hidden; }
@media (max-width: 600px) {
    .gt-gallery .gt-gallery-open { padding: 12px; }
    .gt-gallery .gt-gallery-position { margin-top: 12px; gap: 14px; }
    .gt-gallery .gt-gallery-thumb { flex-basis: calc((100% - 16px) / 4.3); min-width: 64px; }
    .gt-gallery .gt-gallery-arrow { width: 40px; height: 40px; }
    .gt-gallery .gt-gallery-prev { left: 4px; }
    .gt-gallery .gt-gallery-next { right: 4px; }
    .gt-gallery .gt-gallery-zoom-hint { right: 6px; bottom: 6px; width: 32px; height: 32px; }
    .gt-gallery .gt-gallery-full-image { padding: 12px 20px; }
}
@media (prefers-reduced-motion: reduce) { .gt-gallery .gt-gallery-progress span { transition: none; } }
