.gallery {
    width: 100%;
    max-width: 900px;
    margin: 20px auto 0;
    font-family: 'Oswald', sans-serif;
}
.g-stage { position: relative; }
.g-viewport {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #111;
    border-radius: 6px;
}
.g-viewport img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: clip-path, transform, filter;
}
.g-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}
.g-arrow:hover {
    background: #e10600;
    transform: translateY(-50%) scale(1.1);
}
.g-prev { left: 12px; }
.g-next { right: 12px; }
.g-arrow.is-hidden {
    visibility: hidden;
    pointer-events: none;
}
.g-counter {
    text-align: center;
    margin-top: 10px;
    letter-spacing: 3px;
}
.g-thumbs {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 10px;
    flex-wrap: wrap;
}
.g-thumbs img {
    width: 70px;
    height: 45px;
    object-fit: cover;
    border-radius: 3px;
    cursor: pointer;
    opacity: 0.45;
    transition: opacity 0.3s, transform 0.3s;
}
.g-thumbs img:hover { opacity: 0.8; }
.g-thumbs img.active {
    opacity: 1;
    transform: scale(1.12);
    outline: 2px solid #e10600;
}