/* =========================================================
   Elementor skin — makes Elementor-built pages pick up the
   theme's fonts and colours by default. Everything here is a
   default: any typography/colour set in Elementor's own panels
   is more specific and wins.
   ========================================================= */
.owa-el {
	--e-global-typography-primary-font-family: 'Plus Jakarta Sans';
	--e-global-typography-secondary-font-family: 'Plus Jakarta Sans';
	--e-global-typography-text-font-family: 'Nunito Sans';
	--e-global-typography-accent-font-family: 'Plus Jakarta Sans';
	--e-global-color-primary: #0e3b2c;
	--e-global-color-secondary: #1b8f4d;
	--e-global-color-text: #1c2b24;
	--e-global-color-accent: #f6b93b;
	font-family: var(--font-body), system-ui, sans-serif;
	color: var(--ink);
}

.owa-el .elementor-widget .elementor-heading-title,
.owa-el .elementor-widget .elementor-button,
.owa-el .elementor-widget .elementor-icon-box-title,
.owa-el .elementor-widget .elementor-counter-number-wrapper {
	font-family: var(--font-head), system-ui, sans-serif;
}

.owa-el .elementor-widget .elementor-widget-container,
.owa-el .elementor-widget .elementor-icon-box-description,
.owa-el .elementor-widget .elementor-icon-list-text,
.owa-el .elementor-widget .elementor-counter-title {
	font-family: var(--font-body), system-ui, sans-serif;
}

.owa-el .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

/* Card lift on hover (columns given the "owa-card" class). */
.owa-el .owa-card {
	transition: transform 0.2s ease;
}

.owa-el .owa-card:hover {
	transform: translateY(-5px);
}

/* Buttons keep the theme's pill hover motion. */
.owa-el .elementor-button {
	transition: transform 0.15s ease, background 0.2s ease, color 0.2s ease;
}

.owa-el .elementor-button:hover {
	transform: translateY(-2px);
}

/* Hero: counters sit left like the coded page. */
.owa-el .owa-hero .elementor-counter {
	text-align: left;
	--counter-prefix-grow: 0;
	--counter-suffix-grow: 1;
}

.owa-el .owa-hero .elementor-counter-number-wrapper,
.owa-el .owa-hero .elementor-counter-title {
	justify-content: flex-start;
	text-align: left;
}

/* Shortcode-driven live sections already carry their own container/padding. */
.owa-el .owa-live-section {
	padding: 84px 0;
}

.owa-el .elementor-widget-shortcode > .elementor-widget-container {
	width: 100%;
}

/* Photos are cropped to a consistent frame, like the coded pages. */
.owa-el .owa-img-cover img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3.4;
	object-fit: cover;
}
