/**
 * Elementor native widget styling — matches theme HTML design.
 */

/* Reset Elementor defaults on theme HTML sections */
.elementor-widget-html .elementor-widget-container {
	padding: 0;
	margin: 0;
	overflow: visible;
}

.elementor-section.vj-hero-elementor,
.elementor-section.vj-stats-elementor {
	padding: 0;
}

.elementor-section.vj-hero-elementor > .elementor-container,
.elementor-section.vj-stats-elementor > .elementor-container {
	max-width: 100%;
	padding: 0;
}

/* Hero — Free Elementor fallback */
.vj-hero-elementor {
	background: linear-gradient(135deg, #1a1510 0%, #3d2e1a 40%, #5c4a3a 100%);
	min-height: 85vh;
}

.vj-hero-elementor .elementor-column-wrap,
.vj-hero-elementor .elementor-widget-wrap {
	min-height: 85vh;
	justify-content: center;
}

.vj-hero-elementor .elementor-widget-heading h1 {
	font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
	font-weight: 500 !important;
	line-height: 1.15 !important;
}

.vj-hero-elementor .elementor-button {
	border-radius: 2px;
	font-family: var(--vj-font-body);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 14px 28px;
}

/* Hero — Elementor Pro Slides */
.vj-hero-elementor .elementor-slides-wrapper,
.vj-hero-elementor .swiper-slide {
	min-height: 85vh !important;
}

.vj-hero-elementor .elementor-slide-heading {
	font-family: var(--vj-font-heading) !important;
	font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
	font-weight: 500 !important;
}

.vj-hero-elementor .elementor-slide-description {
	font-size: 1.1rem !important;
	line-height: 1.8 !important;
	opacity: 0.9;
}

.vj-hero-elementor .elementor-button.elementor-slide-button {
	background: #B8963E !important;
	border: none;
}

/* Stats — Counter widgets */
.vj-stats-elementor {
	background: var(--vj-white);
	border-bottom: 1px solid var(--vj-cream-dark);
}

.vj-stats-elementor > .elementor-container {
	max-width: 1200px;
	padding: 48px 24px;
}

.vj-stats-elementor .elementor-counter {
	text-align: center;
}

.vj-stats-elementor .elementor-counter-number-wrapper {
	font-family: var(--vj-font-heading);
	font-size: clamp(2rem, 4vw, 2.5rem);
	font-weight: 700;
	color: var(--vj-gold);
	line-height: 1;
	margin-bottom: 8px;
}

.vj-stats-elementor .elementor-counter-title {
	font-family: var(--vj-font-body);
	font-size: 13px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--vj-brown);
}

/* Full-width HTML sections — no extra Elementor spacing */
.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 100%;
}

.vj-elementor-page .elementor-section .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
	padding: 0;
}

@media (max-width: 768px) {
	.vj-hero-elementor,
	.vj-hero-elementor .elementor-column-wrap,
	.vj-hero-elementor .elementor-slides-wrapper,
	.vj-hero-elementor .swiper-slide {
		min-height: 70vh !important;
	}
}

@media (max-width: 1024px) {
	.vj-stats-elementor .elementor-row {
		flex-wrap: wrap;
	}
}
