/**
 * Ralixit Image Gallery Widget CSS
 */

.ralixit-gallery-wrapper {
	width: 100%;
	box-sizing: border-box;
}

.ralixit-gallery-container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.ralixit-gallery-grid {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 15px;
	row-gap: 15px;
	box-sizing: border-box;
}

.ralixit-gallery-item {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	transition: all 0.3s ease-in-out;
}

.ralixit-gallery-item-inner {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.ralixit-gallery-item-img-wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
	display: block;
}

/* Aspect Ratios */
.ralixit-gallery-item-img-wrap.aspect-1-1 {
	padding-bottom: 100%;
}
.ralixit-gallery-item-img-wrap.aspect-4-3 {
	padding-bottom: 75%;
}
.ralixit-gallery-item-img-wrap.aspect-3-2 {
	padding-bottom: 66.666%;
}
.ralixit-gallery-item-img-wrap.aspect-16-9 {
	padding-bottom: 56.25%;
}
.ralixit-gallery-item-img-wrap.aspect-21-9 {
	padding-bottom: 42.857%;
}

.ralixit-gallery-item-img-wrap.aspect-1-1 img,
.ralixit-gallery-item-img-wrap.aspect-4-3 img,
.ralixit-gallery-item-img-wrap.aspect-3-2 img,
.ralixit-gallery-item-img-wrap.aspect-16-9 img,
.ralixit-gallery-item-img-wrap.aspect-21-9 img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.ralixit-gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), filter 0.4s ease, opacity 0.4s ease;
}

/* Overlay */
.ralixit-gallery-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.4);
	opacity: 0;
	transition: opacity 0.3s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 15px;
	box-sizing: border-box;
	z-index: 2;
}

.ralixit-instagram-icon {
	color: #ffffff;
	font-size: 20px;
	margin-bottom: 10px;
	transform: translateY(10px);
	transition: transform 0.3s ease;
}

.ralixit-gallery-item:hover .ralixit-gallery-overlay {
	opacity: 1;
}

.ralixit-gallery-item:hover .ralixit-instagram-icon {
	transform: translateY(0);
}

/* Hover Animations */
.ralixit-hover-zoom-in:hover img {
	transform: scale(1.1);
}

.ralixit-hover-zoom-out img {
	transform: scale(1.1);
}
.ralixit-hover-zoom-out:hover img {
	transform: scale(1);
}

.ralixit-hover-rotate:hover img {
	transform: scale(1.1) rotate(3deg);
}

.ralixit-hover-grayscale img {
	filter: grayscale(100%);
}
.ralixit-hover-grayscale:hover img {
	filter: grayscale(0%);
}

.ralixit-hover-blur:hover img {
	filter: blur(3px);
}

/* Caption Styles */
.ralixit-gallery-caption {
	padding: 10px 0;
	font-size: 14px;
	line-height: 1.4;
	color: #333333;
	text-align: center;
	transition: color 0.3s ease;
}

.ralixit-caption-overlay {
	color: #ffffff;
	text-align: center;
	transform: translateY(10px);
	transition: transform 0.3s ease;
}

.ralixit-gallery-item:hover .ralixit-caption-overlay {
	transform: translateY(0);
}

/* Link Wrapper */
.ralixit-gallery-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}


