/* Kasapi Blocks - Combined Frontend Styles */

/* Import block-specific styles */
/* These are the shared/common styles for all Kasapi blocks */

/* Common text alignment */
.has-text-align-left {
	text-align: left;
}

.has-text-align-center {
	text-align: center;
}

.has-text-align-right {
	text-align: right;
}

/* Common button styles */
.kasapi-slide__button,
.kasapi-cta__button {
	display: inline-block;
	padding: 14px 28px;
	border: none;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 500;
	transition: opacity 0.2s ease, transform 0.2s ease;
	cursor: pointer;
}

.kasapi-slide__button:hover,
.kasapi-cta__button:hover {
	opacity: 0.9;
	transform: translateY(-2px);
	text-decoration: none;
}

/* Slider Styles */
.kasapi-slider-wrapper {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.kasapi-slider-wrapper.alignfull {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
}

.kasapi-slider-wrapper.alignwide {
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
}

.kasapi-slider {
	position: relative;
	width: 100%;
	min-height: 500px;
}

.kasapi-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px 40px;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease;
	background-size: cover;
	background-position: center;
}

.kasapi-slide--active {
	opacity: 1;
	visibility: visible;
	position: relative;
}

.kasapi-slide__content {
	flex: 1;
	max-width: 100%;
}

.kasapi-slide--two-column {
	display: flex;
	gap: 40px;
}

.kasapi-slide--two-column .kasapi-slide__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.kasapi-slide--two-column .kasapi-slide__image {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kasapi-slide--two-column.kasapi-slide--image-left {
	flex-direction: row-reverse;
}

.kasapi-slide__image img {
	max-width: 100%;
	max-height: 400px;
	object-fit: contain;
}

.kasapi-slide__title {
	margin: 0 0 16px;
}

.kasapi-slide__subtitle {
	margin: 0 0 24px;
}

.kasapi-slide__button-wrapper {
	margin-top: 20px;
}

/* Slider Navigation */
.kasapi-slider__nav {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	padding: 0 20px;
	pointer-events: none;
	z-index: 10;
}

.kasapi-slider__prev,
.kasapi-slider__next {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.9);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: auto;
	transition: background 0.2s ease, transform 0.2s ease;
}

.kasapi-slider__prev:hover,
.kasapi-slider__next:hover {
	background: #fff;
	transform: scale(1.1);
}

/* Slider Dots */
.kasapi-slider__dots {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 10;
}

.kasapi-slider__dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: rgba(255, 255, 255, 0.3);
	cursor: pointer;
	transition: background 0.2s ease;
}

.kasapi-slider__dot--active,
.kasapi-slider__dot:hover {
	background: #fff;
}

/* Slide Transitions */
[data-transition="slide"] .kasapi-slide {
	transition: transform 0.5s ease, opacity 0.5s ease, visibility 0.5s ease;
	transform: translateX(100%);
}

[data-transition="slide"] .kasapi-slide--active {
	transform: translateX(0);
}

[data-transition="slide"] .kasapi-slide--prev {
	transform: translateX(-100%);
}

/* Call to Action Styles */
.kasapi-cta-wrapper {
	position: relative;
	width: 100%;
	overflow: hidden;
	background-size: cover;
	background-position: center;
}

.kasapi-cta-wrapper.alignfull {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
}

.kasapi-cta-wrapper.alignwide {
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
}

.kasapi-cta {
	display: flex;
	align-items: center;
	padding: 60px 40px;
	min-height: 300px;
}

.kasapi-cta--one-column {
	justify-content: center;
}

.kasapi-cta--one-column .kasapi-cta__content {
	max-width: 800px;
	width: 100%;
}

.kasapi-cta--two-column {
	gap: 60px;
}

.kasapi-cta--two-column .kasapi-cta__content {
	flex: 1;
}

.kasapi-cta--two-column .kasapi-cta__image {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kasapi-cta--two-column.kasapi-cta--image-right {
	flex-direction: row-reverse;
}

.kasapi-cta__image img {
	max-width: 100%;
	max-height: 400px;
	object-fit: contain;
}

.kasapi-cta--one-column .kasapi-cta__image {
	margin-bottom: 30px;
}

.kasapi-cta--one-column .kasapi-cta__image--center {
	text-align: center;
}

.kasapi-cta--one-column .kasapi-cta__image--left {
	text-align: left;
}

.kasapi-cta--one-column .kasapi-cta__image--right {
	text-align: right;
}

.kasapi-cta__title {
	margin: 0 0 16px;
}

.kasapi-cta__subtitle {
	margin: 0 0 24px;
}

.kasapi-cta__button-wrapper {
	margin-top: 20px;
}

/* Responsive Styles */
@media (max-width: 768px) {
	/* Slider responsive */
	.kasapi-slider {
		min-height: 400px;
	}

	.kasapi-slide {
		padding: 40px 20px;
	}

	.kasapi-slide--two-column {
		flex-direction: column;
		gap: 20px;
	}

	.kasapi-slide--two-column.kasapi-slide--image-left {
		flex-direction: column;
	}

	.kasapi-slide--two-column .kasapi-slide__image {
		order: -1;
	}

	.kasapi-slider__nav {
		display: none;
	}

	/* CTA responsive */
	.kasapi-cta {
		padding: 40px 20px;
		flex-direction: column;
	}

	.kasapi-cta--two-column {
		gap: 30px;
	}

	.kasapi-cta--two-column.kasapi-cta--image-right,
	.kasapi-cta--two-column.kasapi-cta--image-left {
		flex-direction: column;
	}

	.kasapi-cta--two-column .kasapi-cta__image {
		order: -1;
	}
}

/* Print styles */
@media print {
	.kasapi-slider__nav,
	.kasapi-slider__dots {
		display: none;
	}

	.kasapi-slide {
		position: relative !important;
		opacity: 1 !important;
		visibility: visible !important;
		page-break-inside: avoid;
	}
}
