/* ==========================================================
   Woo Simple Gallery – Mobile Carousel Style
   Loaded only when [woo_simple_gallery_mobile] is used
   ========================================================== */

/* ── Wrapper ─────────────────────────────────────────────── */
.wsgm-gallery-wrapper {
	max-width: 100%;
	margin-bottom: 15px;
	position: relative;
}

/* ── Main Image Stage ────────────────────────────────────── */
.wsgm-main-image-stage {
	position: relative;
	background-color: #fff;
	text-align: center;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	overflow: hidden;
	touch-action: pan-y pinch-zoom;
	user-select: none;
}

.wsgm-main-image-stage img.wsgm-active-image {
	max-width: 100%;
	height: auto;
	display: block;
	transition: opacity 0.2s ease-in-out;
}

/* ── Prev / Next Arrows ──────────────────────────────────── */
.wsgm-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.82);
	border: none;
	border-radius: 50%;
	width: 34px;
	height: 34px;
	font-size: 22px;
	line-height: 34px;
	text-align: center;
	cursor: pointer;
	z-index: 5;
	color: #333;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
	padding: 0;
	transition: background 0.2s ease;
}
.wsgm-arrow:hover {
	background: rgba(255, 255, 255, 1);
}
.wsgm-arrow-prev { left: 10px; }
.wsgm-arrow-next { right: 10px; }

/* ── Dot Strip — overlaid at the bottom of the image stage ── */
.wsgm-dot-strip {
	position: absolute;
	bottom: 12px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 10px;
	z-index: 4;
}

.wsgm-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: #C6C6C6;
	cursor: pointer;
	display: inline-block;
	transition: background-color 0.3s ease, transform 0.3s ease;
}
.wsgm-dot.wsgm-dot-active {
	background-color: #333;
	transform: scale(1.35);
}

/* ── Loading Spinner ─────────────────────────────────────── */
.wsgm-gallery-wrapper.wsgm-is-loading::after {
	content: '';
	position: absolute;
	top: 35%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -20px;
	border: 4px solid #f3f3f3;
	border-top: 4px solid #3498db;
	border-radius: 50%;
	animation: wsgm-spin 1s linear infinite;
	z-index: 10;
}
.wsgm-gallery-wrapper.wsgm-is-loading .wsgm-main-image-stage,
.wsgm-gallery-wrapper.wsgm-is-loading .wsgm-dot-strip {
	opacity: 0.4;
	pointer-events: none;
}
.wsgm-arrow.wsgm-arrow-prev {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 39.5px;
    border-bottom-right-radius: 39.5px;
    left: 0;

}
.wsgm-arrow.wsgm-arrow-next {
    right: 0;
    border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-top-left-radius: 39.5px;
border-bottom-left-radius: 39.5px;

}
@keyframes wsgm-spin {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}