/* === Projects Gallery === */

.wplb-gallery-wrapper {
	width: 100%;
}

/* Viewport clips the scrolling track */
.wplb-gallery-viewport {
	overflow: hidden;
	width: 100%;
}

/* Track — all items sit in a single flex row */
.wplb-gallery-track {
	display: flex;
	align-items: stretch;
}

/* Each item width is set by JS; flex-shrink prevents squashing */
.wplb-gallery-item {
	flex-shrink: 0;
	box-sizing: border-box;
}

/* The decorative photo frame */
.wplb-gallery-frame {
	background-color: #fff;
	border: 1px solid #e0e0e0;
	padding: 20px;
	box-sizing: border-box;
	height: 100%;
}

/* Ensure the link from the helper renders as block */
.wplb-gallery-frame .wplb-thumb-link,
.wplb-gallery-frame > a {
	display: block;
	line-height: 0;
	text-decoration: none;
}

/* Image fills frame content area */
.wplb-gallery-frame img {
	width: 100%;
	height: auto;
	display: block;
}

/* Footer row: caption left, nav right */
.wplb-gallery-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 24px;
}

.wplb-gallery-caption {
	font-size: 13px;
	color: #aaa;
	font-style: italic;
}

/* Navigation group */
.wplb-gallery-nav {
	display: flex;
	align-items: stretch;
}

/* Counter and arrow buttons share a connected border style */
.wplb-gallery-counter,
.wplb-gallery-prev,
.wplb-gallery-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	min-width: 48px;
	padding: 0 14px;
	border: 1px solid #ddd;
	background-color: #fff;
	color: #333;
	font-size: 14px;
	font-weight: 500;
	box-sizing: border-box;
	line-height: 1;
	user-select: none;
}

/* Remove double borders between adjacent elements */
.wplb-gallery-prev,
.wplb-gallery-next {
	margin-left: -1px;
}

.wplb-gallery-counter {
	cursor: default;
}

button.wplb-gallery-prev,
button.wplb-gallery-next {
	cursor: pointer;
	font-size: 16px;
	background: none;
	border: 1px solid #ddd;
	transition: all 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

button.wplb-gallery-prev:hover,
button.wplb-gallery-next:hover {
	background-color: #f5f5f5;
}

button.wplb-gallery-prev:disabled,
button.wplb-gallery-next:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

/* Responsive: single column on small screens */
@media (max-width: 640px) {
	.wplb-gallery-footer {
		flex-direction: column;
		gap: 16px;
		align-items: flex-start;
	}
}
