/* Shared Pro Lite widgets */
.epl-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
	padding: 1.5rem;
	border-radius: 6px;
	background: #f4f4f4;
}
.epl-cta__content {
	flex: 1;
	min-width: 200px;
}
.epl-cta__title {
	margin: 0 0 0.35rem;
	font-size: 1.35rem;
}
.epl-cta__desc {
	margin: 0;
	opacity: 0.85;
}
.epl-cta__btn {
	display: inline-block;
	padding: 0.65rem 1.25rem;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
}

.epl-price-list__item {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid #e5e5e5;
}
.epl-price-list__item:last-child {
	border-bottom: 0;
}
.epl-price-list__price {
	font-weight: 700;
	white-space: nowrap;
}

.epl-price-table {
	width: 100%;
	border-collapse: collapse;
}
.epl-price-table th,
.epl-price-table td {
	padding: 0.75rem 1rem;
	border: 1px solid #ddd;
	text-align: left;
}
.epl-price-table th {
	background: #f7f7f7;
	font-weight: 700;
}

.epl-reviews__item {
	padding: 1rem 0;
	border-bottom: 1px solid #eee;
}
.epl-reviews__stars {
	color: #f5a623;
	letter-spacing: 2px;
	margin-bottom: 0.35rem;
}

.epl-countdown__inner {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}
.epl-countdown__part {
	min-width: 64px;
	padding: 0.75rem;
	background: #111;
	color: #fff;
	border-radius: 6px;
}
.epl-countdown__num {
	font-size: 1.5rem;
	font-weight: 700;
	display: block;
}
.epl-countdown__label {
	font-size: 0.7rem;
	text-transform: uppercase;
	opacity: 0.85;
}

.epl-gallery {
	display: grid;
	gap: 8px;
}
.epl-gallery__link {
	display: block;
	line-height: 0;
}
.epl-gallery__img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.epl-animated-headline__dynamic {
	display: inline-block;
	transition: opacity 0.2s ease;
}

.epl-slide {
	min-height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem;
	background-size: cover;
	background-position: center;
	position: relative;
}
.epl-slide__inner {
	position: relative;
	z-index: 1;
	max-width: 640px;
}
.epl-slide__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}
.epl-slide__title {
	color: #fff;
	font-size: 2rem;
	margin: 0 0 0.5rem;
}
.epl-slide__subtitle {
	color: #fff;
	opacity: 0.95;
	margin: 0 0 1rem;
}
.epl-slide__btn {
	display: inline-block;
	padding: 0.6rem 1.2rem;
	background: #fff;
	color: #111;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
}

.epl-testimonial {
	text-align: center;
	padding: 1rem;
}
.epl-testimonial__avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	margin: 0 auto 0.75rem;
}
.epl-testimonial__content {
	font-style: italic;
	margin: 0 0 0.75rem;
}
.epl-testimonial__name {
	font-weight: 700;
	margin: 0;
}
.epl-testimonial__role {
	margin: 0;
	font-size: 0.875rem;
	opacity: 0.8;
}

.epl-menu-cart {
	position: relative;
}
.epl-menu-cart__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	cursor: pointer;
	text-decoration: none;
}
.epl-menu-cart__panel {
	display: none;
	position: absolute;
	right: 0;
	top: 100%;
	width: 320px;
	max-width: 90vw;
	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	padding: 1rem;
	z-index: 100;
	margin-top: 0.35rem;
}
.epl-menu-cart.is-open .epl-menu-cart__panel {
	display: block;
}

.epl-media-carousel-wrap {
	position: relative;
	width: 100%;
}
.epl-media-carousel__slide-inner {
	text-align: center;
	line-height: 0;
}
.epl-media-carousel__caption {
	line-height: 1.4;
	padding-top: 0.5rem;
}
.epl-media-carousel__title {
	font-weight: 600;
	margin: 0 0 0.25rem;
	font-size: 0.95rem;
}
.epl-media-carousel__text {
	margin: 0;
	font-size: 0.875rem;
	opacity: 0.9;
}
.epl-media-carousel__img {
	max-width: 100%;
	height: auto;
	display: inline-block;
}
.epl-media-carousel--stretch .epl-media-carousel__img,
.epl-media-carousel--stretch .epl-media-carousel__img-link {
	width: 100%;
}
.epl-media-carousel--stretch .epl-media-carousel__img--stretch {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.epl-media-carousel--logos .epl-media-carousel__img {
	max-height: 56px;
	width: auto;
	object-fit: contain;
}
.epl-media-carousel--vertical .epl-media-carousel {
	min-height: 280px;
	height: 360px;
}
.epl-media-carousel--vertical .swiper-slide {
	height: auto;
}

.epl-carousel-dots--inside .epl-media-carousel__pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 8px;
	z-index: 2;
	margin: 0;
}
.epl-carousel-dots--outside .epl-media-carousel__pagination {
	position: relative;
	margin-top: 12px;
}
.epl-carousel-dots--outside .epl-media-carousel .swiper-pagination-horizontal {
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
}

.elementor-widget-epl-media-carousel.epl-carousel-arrows--outside .epl-media-carousel-wrap {
	overflow: visible;
}
.elementor-widget-epl-media-carousel.epl-carousel-arrows--outside .epl-media-carousel {
	overflow: visible;
}
.elementor-widget-epl-media-carousel.epl-carousel-arrows--outside .swiper-button-prev {
	left: -12px;
}
.elementor-widget-epl-media-carousel.epl-carousel-arrows--outside .swiper-button-next {
	right: -12px;
}
@media (min-width: 768px) {
	.elementor-widget-epl-media-carousel.epl-carousel-arrows--outside .swiper-button-prev {
		left: -44px;
	}
	.elementor-widget-epl-media-carousel.epl-carousel-arrows--outside .swiper-button-next {
		right: -44px;
	}
}

.epl-swiper-root .swiper-button-prev,
.epl-swiper-root .swiper-button-next {
	color: #111;
}
.epl-media-carousel .swiper-pagination-horizontal {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.epl-posts--masonry .epl-posts__grid {
	display: block;
	column-gap: 1.25rem;
}
.epl-posts--masonry.epl-posts--cols-2 .epl-posts__grid {
	column-count: 2;
}
.epl-posts--masonry.epl-posts--cols-3 .epl-posts__grid {
	column-count: 3;
}
.epl-posts--masonry.epl-posts--cols-4 .epl-posts__grid {
	column-count: 4;
}
.epl-posts--masonry .epl-posts__item {
	break-inside: avoid;
	margin-bottom: 1.25rem;
}

@media (max-width: 1024px) {
	.epl-posts--masonry.epl-posts--cols-4 .epl-posts__grid {
		column-count: 2;
	}
}
@media (max-width: 767px) {
	.epl-posts--masonry .epl-posts__grid {
		column-count: 1 !important;
	}
}

.epl-portfolio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.epl-portfolio__item{border:1px solid #e5e7eb;border-radius:10px;padding:14px}
.epl-portfolio__item img{width:100%;display:block;border-radius:8px;margin-bottom:10px}
.epl-flip{perspective:1000px;min-height:240px}.epl-flip__inner{position:relative;min-height:240px;transform-style:preserve-3d;transition:transform .5s ease}.epl-flip:hover .epl-flip__inner{transform:rotateY(180deg)}.epl-flip__face{position:absolute;inset:0;backface-visibility:hidden;border:1px solid #e5e7eb;border-radius:10px;padding:20px;background:#fff}.epl-flip__face--back{transform:rotateY(180deg)}
.epl-offcanvas__toggle{display:none}.epl-offcanvas{display:none}.epl-offcanvas__toggle:checked~.epl-offcanvas{display:block}.epl-offcanvas__btn{display:inline-block;padding:.65rem 1rem;background:#111;color:#fff;border-radius:6px;cursor:pointer}.epl-offcanvas__overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9998}.epl-offcanvas__panel{position:fixed;top:0;right:0;height:100vh;width:min(380px,90vw);background:#fff;padding:24px;z-index:9999;overflow:auto}.epl-offcanvas__close{float:right;font-size:28px;cursor:pointer}
.epl-share{display:flex;gap:8px;flex-wrap:wrap}.epl-share a{display:inline-flex;padding:8px 12px;border-radius:8px;text-decoration:none;background:#111827;color:#fff;font-size:14px}
.epl-hotspot{position:relative}.epl-hotspot img{display:block;width:100%;height:auto}.epl-hotspot__dot{position:absolute;width:22px;height:22px;background:#2563eb;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer}.epl-hotspot__tip{display:none;position:absolute;top:-42px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#111827;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px}.epl-hotspot__dot:hover .epl-hotspot__tip{display:block}
.epl-pay-btn,.epl-fb-btn{display:inline-flex;padding:10px 14px;border-radius:8px;text-decoration:none;color:#fff;background:#0070ba;font-weight:600}.epl-pay-btn--stripe{background:#635bff}.epl-fb-btn{background:#1877f2}
.epl-code{background:#0f172a;color:#e2e8f0;border-radius:10px;overflow:hidden}.epl-code__lang{padding:8px 12px;font-size:12px;text-transform:uppercase;background:#1e293b}.epl-code pre{margin:0;padding:12px;overflow-x:auto}
.epl-video-playlist iframe{width:100%;min-height:280px;border:0;border-radius:8px}.epl-video-playlist ul{margin:10px 0 0;padding-left:18px}
.epl-progress__label{margin-bottom:8px}.epl-progress__bar{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.epl-progress__bar span{display:block;height:100%;background:#2563eb}
.epl-toc ul{margin:10px 0 0;padding-left:16px}
.epl-login .login-username,.epl-login .login-password,.epl-login .login-submit{margin-bottom:10px}
.epl-fb-frame{width:100%;min-height:420px;border:0}
