/* =========================================
   Loria Banner Widget
   ========================================= */

.loria-banner-wrapper {
	position: relative;
	display: flex;
	width: 100%;
	min-height: 500px;
	overflow: hidden;
}

/* Background image via pseudo-element — scales independently from content on hover */
.loria-banner-wrapper::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: var(--loria-banner-bg-image);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	z-index: 0;
}

/* Zoom: smooth transition on the pseudo-element when zoom is enabled */
.loria-banner-wrapper.loria-banner-zoom::before {
	transition: transform 600ms ease;
}

.loria-banner-wrapper.loria-banner-zoom:hover::before {
	transform: scale(1.1);
}

/* Full-cover overlay — color & opacity set via Elementor controls */
.loria-banner-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	z-index: 1;
}

/* Content layer sits above the overlay */
.loria-banner-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.loria-banner-inner {
	width: 100%;
	max-width: 600px;
	padding: 60px 30px;
}

.loria-banner-title {
	margin: 0 0 16px;
	padding: 0;
}

.loria-banner-body {
	margin: 0 0 28px;
	padding: 0;
}

.loria-banner-button {
	display: inline-block;
	padding: 12px 28px;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.4;
	transition: all 300ms ease;
}

.loria-banner-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}
