/* Gallery Slider Styles - updated to avoid cropping */

.gallery-slider { position: relative; width: 100%; overflow: hidden; }

.gallery-viewport { overflow: hidden; border: 1px solid var(--color-border); border-radius: 4px; background-color: #eaeaea; cursor: grab; touch-action: pan-y; }
.gallery-viewport.is-dragging { cursor: grabbing; }

.gallery-track { display: flex; width: 100%; transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1); will-change: transform; }

.gallery-slide { flex: 0 0 100%; min-width: 100%; user-select: none; display: flex; align-items: center; justify-content: center; }

.gallery-slide img { width: auto; max-width: 100%; height: auto; max-height: clamp(360px, 52vw, 620px); pointer-events: none; user-select: none; display: block; }

.gallery-arrow { position: absolute; top: 50%; z-index: 2; width: 48px; height: 48px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 50%; background-color: rgba(15, 23, 42, 0.84); color: var(--color-white); display: flex; align-items: center; justify-content: center; cursor: pointer; transform: translateY(-50%); transition: var(--transition-smooth); }
.gallery-arrow:hover { background-color: var(--color-navy); }
.gallery-arrow svg { width: 24px; height: 24px; }
.gallery-arrow-prev { left: 24px; }
.gallery-arrow-next { right: 24px; }

@media (max-width: 768px) {
    .gallery-slide img { max-height: clamp(240px, 68vw, 420px); }
    .gallery-arrow { width: 42px; height: 42px; }
    .gallery-arrow-prev { left: 12px; }
    .gallery-arrow-next { right: 12px; }
}

@media (max-width: 576px) {
    .gallery-slide img { max-height: clamp(220px, 74vw, 340px); }
    .gallery-arrow { width: 38px; height: 38px; }
    .gallery-arrow svg { width: 20px; height: 20px; }
}
