// Image gallery / carousel .gallery { position: relative; border-radius: 6px; overflow: hidden; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.45); &-track { position: relative; width: 100%; height: 460px; @media (max-width: $m-break) { height: 360px; } @media (max-width: $xs-break) { height: 260px; } } &-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.6s ease; &.is-active { opacity: 1; } } &-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: none; border-radius: 50%; background: rgba(255, 255, 255, 0.85); color: $black; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 3; transition: background 0.2s, transform 0.15s; &:hover { background: $white; } &:active { transform: translateY(-50%) scale(0.92); } svg { width: 22px; height: 22px; } &.prev { left: 14px; } &.next { right: 14px; } } &-dots { position: absolute; bottom: 14px; left: 0; right: 0; display: flex; justify-content: center; gap: 8px; z-index: 3; } &-dot { width: 9px; height: 9px; border-radius: 50%; border: none; padding: 0; background: rgba(255, 255, 255, 0.55); cursor: pointer; transition: background 0.2s, transform 0.2s; &.is-active { background: $gold; transform: scale(1.25); } } }