/* =====================================================================
   ProVirtual Stage — Elementor overrides
   Keep this minimal: corrections only, not full design.
   ===================================================================== */

/* Sync container width with the theme */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--container-max); }

/* Headings inherit theme display font */
.elementor-widget-heading .elementor-heading-title { font-family: var(--font-display); line-height: 1.12; letter-spacing: -0.02em; }
.elementor-widget-text-editor { line-height: 1.65; }

/* Buttons match theme pill style */
.elementor-widget-button .elementor-button {
	font-family: var(--font-display); font-weight: 700; letter-spacing: 0.01em;
	border-radius: var(--radius-full); transition: transform var(--t-fast), box-shadow var(--t-base);
}
.elementor-widget-button .elementor-button:hover { transform: translateY(-2px); box-shadow: var(--shadow-accent); }

/* Images rounded by default */
.elementor-widget-image img { border-radius: var(--radius-md); }

/* Form fields match theme */
.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select {
	border: 1px solid var(--color-border) !important;
	border-radius: var(--radius-sm) !important;
	padding: 0.75rem 0.9rem !important;
	font-family: var(--font-body) !important;
}
.elementor-field-group input:focus,
.elementor-field-group textarea:focus,
.elementor-field-group select:focus {
	border-color: var(--color-accent) !important;
	box-shadow: 0 0 0 3px rgba(var(--color-accent-rgb),0.15) !important;
	outline: none !important;
}

/* Our custom hero widget */
.pvs-hero-widget { text-align: center; padding: clamp(2rem,5vw,4rem) 0; }
.pvs-hero-widget .hero__title { color: var(--color-heading); }
