/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Inner pages: hero H1 size on phone (exclude homepage) */
@media (max-width: 767px) {
	body:not(.home):not(.page-id-92):not(.page-id-1759)
		.elementor > .e-con.e-parent:first-child
		h1.elementor-heading-title {
		font-size: 38px !important;
	}
}

/*
 * Desktop side gutters site-wide (match tablet 20px).
 * Tablet/mobile already set in Elementor — do not override ≤1024px.
 * Skip loop cards so project rows are not double-padded.
 */
@media (min-width: 1025px) {
	.elementor:not(.e-loop-item):not(.elementor-location-popup) > .e-con.e-parent {
		--padding-left: 20px !important;
		--padding-right: 20px !important;
	}
}

/* Language switcher */
.seve-lang-switcher {
	display: inline-flex;
	align-items: center;
	margin: 0 8px 0 0;
}

.seve-lang-switcher__list {
	display: flex;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.seve-lang-switcher__sep {
	color: rgba(10, 13, 16, 0.35);
	font-family: Outfit, sans-serif;
	font-size: 0.9rem;
	line-height: 1;
	user-select: none;
}

.seve-lang-switcher__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	font-family: Outfit, sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
	text-decoration: none;
	color: var(--e-global-color-primary, #0a0d10);
	opacity: 0.55;
	transition: opacity 0.2s ease, color 0.2s ease;
}

.seve-lang-switcher__link:hover,
.seve-lang-switcher__link:focus {
	opacity: 1;
	color: var(--e-global-color-accent, #45852f);
}

.seve-lang-switcher__item.is-active .seve-lang-switcher__link {
	opacity: 1;
	color: var(--e-global-color-accent, #45852f);
}

@media (max-width: 767px) {
	.seve-lang-switcher {
		margin-right: 4px;
	}

	.seve-lang-switcher__list {
		gap: 6px;
	}

	.seve-lang-switcher__link {
		font-size: 0.8rem;
	}
}

.elementor-message:before{
	vertical-align:unset;
}

/*
 * Elementor buttons: no shadow, 30px corners.
 * Heading-as-pill CTAs use width: auto (elementor-widget__width-auto).
 */
.elementor-button,
.elementor-button:hover,
.elementor-button:focus {
	box-shadow: none !important;
	border-radius: 30px !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, fill 0.2s ease;
}

/* Homepage house-series "Learn more" buttons (white / black) */
.elementor-element-c54a31b .elementor-button:hover,
.elementor-element-c54a31b .elementor-button:focus,
.elementor-element-b49591c .elementor-button:hover,
.elementor-element-b49591c .elementor-button:focus,
.elementor-element-fb19107 .elementor-button:hover,
.elementor-element-fb19107 .elementor-button:focus {
	background-color: var(--e-global-color-primary, #0a0d10) !important;
	color: #fff !important;
}

.elementor-element-c54a31b .elementor-button:hover svg,
.elementor-element-c54a31b .elementor-button:focus svg,
.elementor-element-b49591c .elementor-button:hover svg,
.elementor-element-b49591c .elementor-button:focus svg,
.elementor-element-fb19107 .elementor-button:hover svg,
.elementor-element-fb19107 .elementor-button:focus svg {
	fill: #fff !important;
}

.elementor-widget__width-auto.elementor-widget-heading {
	box-shadow: none !important;
	border-radius: 30px !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading {
	padding: 8px 20px !important;
}

.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading .elementor-heading-title {
	font-size: 16px !important;
	line-height: 1.2;
}

.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading:has(.elementor-heading-title a) {
	padding: 0 !important;
}

.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading .elementor-heading-title a {
	border-radius: 30px;
	display: block;
	padding: 8px 20px;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading:has(a):hover,
.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading:has(a):focus-within {
	background-color: var(--e-global-color-accent, #45852f) !important;
	border-color: var(--e-global-color-accent, #45852f) !important;
}

.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading:has(a):hover .elementor-heading-title,
.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading:has(a):hover .elementor-heading-title a,
.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading:has(a):focus-within .elementor-heading-title,
.elementor:not(.e-loop-item) .elementor-widget__width-auto.elementor-widget-heading:has(a):focus-within .elementor-heading-title a {
	color: #fff !important;
}

/* Finished Projects */
.seve-fp-country-filters {
	margin: 0 0 30px;
	width: 100%;
}

.seve-fp-country-filters__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.seve-fp-country-filters__btn {
	appearance: none;
	border: none;
	border-radius: 30px;
	background: #f1f2f3;
	color: var(--e-global-color-primary, #0a0d10);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	font-family: "Outfit", sans-serif;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1;
	padding: 12px 22px;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.seve-fp-country-filters__btn:hover,
.seve-fp-country-filters__btn:focus,
.seve-fp-country-filters__btn:focus-visible,
.seve-fp-country-filters__btn.is-active,
.elementor a.seve-fp-country-filters__btn:hover,
.elementor a.seve-fp-country-filters__btn:focus,
.elementor a.seve-fp-country-filters__btn.is-active {
	background: var(--e-global-color-accent, #45852f);
	color: #fff !important;
}

.seve-fp-country-filters.is-loading .seve-fp-country-filters__btn {
	pointer-events: none;
	opacity: 0.7;
}

.elementor-widget-loop-grid.is-loading .elementor-loop-container {
	opacity: 0.45;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

/* Homepage + Finished projects archive: space between alternating rows */
.elementor-92 .elementor-widget-loop-grid,
.elementor-110 .elementor-widget-loop-grid {
	--grid-row-gap: 40px;
}

/*
 * Divider on .e-con-inner (max-width project row, not full page).
 * With equal top/bottom padding on the row, half of row-gap is the visual midpoint.
 */
.elementor-92 .elementor-widget-loop-grid .e-loop-item > .e-con-boxed > .e-con-inner,
.elementor-110 .elementor-widget-loop-grid .e-loop-item > .e-con-boxed > .e-con-inner {
	position: relative;
}

.elementor-92 .elementor-widget-loop-grid .e-loop-item:not(:last-child) > .e-con-boxed > .e-con-inner::after,
.elementor-110 .elementor-widget-loop-grid .e-loop-item:not(:last-child) > .e-con-boxed > .e-con-inner::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	width: 100%;
	height: 1px;
	margin-top: calc(var(--grid-row-gap, 40px) / 2);
	transform: translateY(-50%);
	background-color: #45852f47;
	pointer-events: none;
	z-index: 1;
}

@media (max-width: 767px) {
	.elementor-92 .elementor-widget-loop-grid,
	.elementor-110 .elementor-widget-loop-grid {
		--grid-row-gap: 20px;
	}
}

/* Finished projects pagination */
.elementor-110 .e-load-more-anchor {
	display: none !important;
}

.elementor-110 .elementor-pagination {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin-top: 40px;
	padding: 0 16px 24px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.elementor-110 .elementor-pagination::-webkit-scrollbar {
	display: none;
}

.elementor-110 .elementor-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 999px;
	font-family: Montserrat, sans-serif;
	font-size: 0.85rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	color: var(--e-global-color-primary, #0a0d10);
	background: #f1f2f3;
	transition: background-color 0.2s ease, color 0.2s ease;
	flex: 0 0 auto;
}

.elementor-110 .elementor-pagination .page-numbers.prev,
.elementor-110 .elementor-pagination .page-numbers.next {
	min-width: 36px;
	padding: 0;
	font-size: 1.25rem;
	font-weight: 400;
}

.elementor-110 .elementor-pagination .page-numbers:hover,
.elementor-110 .elementor-pagination .page-numbers:focus {
	background: var(--e-global-color-accent, #45852f);
	color: #fff;
}

.elementor-110 .elementor-pagination .page-numbers.current {
	background: var(--e-global-color-accent, #45852f);
	color: #fff;
}

.elementor-110 .elementor-pagination .page-numbers.dots {
	background: transparent;
	min-width: 16px;
	padding: 0;
	color: #9aa0a6;
	pointer-events: none;
}

@media (max-width: 767px) {
	.elementor-110 .elementor-pagination {
		gap: 4px;
		margin-top: 28px;
		padding: 0 12px 20px;
	}

	.elementor-110 .elementor-pagination .page-numbers {
		min-width: 32px;
		height: 32px;
		padding: 0 8px;
		font-size: 0.8rem;
	}

	.elementor-110 .elementor-pagination .page-numbers.prev,
	.elementor-110 .elementor-pagination .page-numbers.next {
		min-width: 32px;
		font-size: 1.15rem;
	}
}

.seve-fp-location-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 20px;
	border: 6px solid var(--e-global-color-0c9653f, #0a0d10);
	border-radius: 25px;
	background: var(--e-global-color-4327e1a, #fff);
	color: var(--e-global-color-0c9653f, #0a0d10);
	font-size: 0.9rem;
	pointer-events: none;
}

/* Keep badge over the image, not below it */
.e-loop-item .e-con[href],
.e-loop-item a.e-con[href] {
	position: relative;
	overflow: hidden;
}

.e-loop-item .e-con[href] .elementor-widget-shortcode,
.e-loop-item a.e-con[href] .elementor-widget-shortcode {
	position: absolute;
	left: 12px;
	bottom: 12px;
	z-index: 2;
	width: auto !important;
	max-width: calc(100% - 24px);
	margin: 0 !important;
}

.e-loop-item a.e-con[href] {
	cursor: pointer;
}

.seve-fp-specs,
.seve-fp-detail-list,
.seve-fp-feature-list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.seve-fp-specs li,
.seve-fp-detail-list li {
	font-family: Montserrat, sans-serif;
	color: var(--e-global-color-primary, #0a0d10);
}

.seve-fp-feature-list {
	flex-direction: column;
	gap: 12px;
}

.seve-fp-feature-list li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.seve-fp-feature-list i {
	color: var(--e-global-color-0c9653f, #0a0d10);
}

.seve-fp-unit-details-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.seve-fp-unit-details-columns .seve-fp-detail-list {
	flex-direction: column;
	gap: 20px;
}

.seve-fp-amenities-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.seve-fp-amenities-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: Montserrat, sans-serif;
	color: var(--e-global-color-primary, #0a0d10);
}

.seve-fp-amenities-list i {
	color: var(--e-global-color-accent, #3d5a45);
	font-size: 16px;
}

/* Loop cards: never leave featured image columns stuck at opacity 0 */
.e-loop-item .elementor-invisible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* Featured image is also set inline — keep cover sizing if Elementor CSS is missing */
.e-loop-item .seve-fp-has-featured-bg {
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}

/* Even/odd loop templates: no extra side padding on tablet/phone */
@media (max-width: 1024px) {
	.e-loop-item > .e-con.e-parent {
		--padding-left: 0px !important;
		--padding-right: 0px !important;
	}
}

/* Alternate loop item: show image above text on mobile */
@media (max-width: 767px) {
	.elementor-319.e-loop-item > .e-con.e-parent > .e-con-inner,
	.elementor-1788.e-loop-item > .e-con.e-parent > .e-con-inner {
		flex-direction: column-reverse;
		gap: 20px !important;
		row-gap: 20px !important;
	}

	.elementor-318.e-loop-item > .e-con.e-parent > .e-con-inner,
	.elementor-1787.e-loop-item > .e-con.e-parent > .e-con-inner {
		gap: 20px !important;
		row-gap: 20px !important;
	}

	/* Keep ~20px between image and title on mobile */
	.e-loop-item > .e-con.e-parent {
		--padding-top: 20px !important;
		--gap: 20px 20px !important;
		--row-gap: 20px !important;
	}

	.e-loop-item .e-con[href],
	.e-loop-item a.e-con[href] {
		--margin-bottom: 0px !important;
		margin-bottom: 0 !important;
	}

	.e-loop-item .elementor-heading-title {
		font-size: 1.35rem !important;
		line-height: 1.25 !important;
	}

	.e-loop-item .elementor-widget__width-auto.elementor-widget-heading {
		padding: 4px 12px !important;
	}

	.e-loop-item .elementor-widget__width-auto.elementor-widget-heading .elementor-heading-title {
		font-size: 0.8rem !important;
		line-height: 1.2 !important;
	}

	/* Collapse empty description/specs widgets that create phantom space */
	.e-loop-item .elementor-widget-text-editor .elementor-widget-container:empty,
	.e-loop-item .elementor-widget-shortcode .elementor-shortcode:empty {
		display: none;
	}

	.e-loop-item .elementor-widget-text-editor:not(:has(.elementor-widget-container *:not(:empty))),
	.e-loop-item .elementor-widget-shortcode:not(:has(.elementor-shortcode *:not(:empty))) {
		margin: 0 !important;
		padding: 0 !important;
		min-height: 0 !important;
	}

	.e-loop-item .elementor-widget-text-editor:not(:has(.elementor-widget-container *:not(:empty))) .elementor-widget-container,
	.e-loop-item .elementor-widget-shortcode:not(:has(.elementor-shortcode *:not(:empty))) .elementor-shortcode {
		display: none;
	}
}

/* House series tabs */
.seve-house-tabs {
	--seve-tab-gap: 10px;
	--seve-tab-inactive-bg: #f1f2f3;
	--seve-tab-active-bg: var(--e-global-color-accent, #45852f);
	--seve-tab-active-color: #fff;
	--seve-tab-inactive-color: var(--e-global-color-primary, #0a0d10);
	display: flex;
	flex-direction: column;
	gap: var(--seve-tab-gap);
	width: 100%;
}

.seve-house-tabs__heading {
	display: flex;
	flex-wrap: wrap;
	gap: var(--seve-tab-gap);
	justify-content: center;
}

.seve-house-tabs button.seve-house-tabs__title {
	appearance: none;
	border: none;
	border-radius: 30px;
	background: #f1f2f3;
	color: #0a0d10;
	cursor: pointer;
	font-family: "Outfit", sans-serif;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.3;
	padding: 14px 32px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.seve-house-tabs button.seve-house-tabs__title:not(.is-active) {
	background: #f1f2f3;
	color: #0a0d10;
}

.seve-house-tabs button.seve-house-tabs__title:not(.is-active):hover,
.seve-house-tabs button.seve-house-tabs__title:not(.is-active):focus {
	background: #0a0d10;
	color: #fff;
}

.seve-house-tabs button.seve-house-tabs__title.is-active {
	background: #45852f;
	color: #fff;
}

.seve-house-tabs button.seve-house-tabs__title.is-active:hover,
.seve-house-tabs button.seve-house-tabs__title.is-active:focus {
	background: #45852f;
	color: #fff;
}

.seve-house-tabs button.seve-house-tabs__title .seve-house-tabs__title-text {
	color: inherit;
}

.seve-house-tabs__content {
	margin-top: 40px;
	width: 100%;
}

.seve-house-tabs__details {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	margin: 0 auto 30px;
	max-width: 720px;
	text-align: center;
}

.seve-house-tabs__description {
	color: var(--e-global-color-text, #5a5a5a);
	font-family: "Outfit", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.6;
}

.seve-house-tabs__description p {
	margin: 0;
}

.seve-house-tabs__details-divider {
	border: 0;
	border-top: 1px solid var(--e-global-color-a2e875e, #d5d8dc);
	margin: 0;
	width: 100%;
}

.seve-house-tabs__specs {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.seve-house-tabs__specs li {
	color: var(--e-global-color-primary, #0a0d10);
	font-family: "Outfit", sans-serif;
	font-size: 1rem;
	font-weight: 500;
}

.seve-house-tabs__quote {
	margin: 40px auto 0;
	max-width: 640px;
	text-align: center;
}

.seve-house-tabs__quote-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

.seve-house-tabs a.seve-house-tabs__finished-project {
	appearance: none;
	background: #f1f2f3;
	border: none;
	border-radius: 30px;
	color: #0a0d10;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	font-family: "Outfit", sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	padding: 18px 30px;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.seve-house-tabs a.seve-house-tabs__finished-project:hover,
.seve-house-tabs a.seve-house-tabs__finished-project:focus {
	background: #0a0d10;
	color: #fff;
}

.seve-house-tabs button.seve-house-tabs__quote-trigger {
	appearance: none;
	background: #45852f;
	border: none;
	border-radius: 30px;
	color: #fff;
	cursor: pointer;
	font-family: "Outfit", sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	padding: 18px 30px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.seve-house-tabs button.seve-house-tabs__quote-trigger:hover,
.seve-house-tabs button.seve-house-tabs__quote-trigger:focus {
	background: #0a0d10;
	color: #fff;
}

.seve-house-tabs__quote-modal {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 20px;
	position: fixed;
	z-index: 99999;
}

.seve-house-tabs__quote-modal[hidden] {
	display: none !important;
}

.seve-house-tabs__quote-modal button.seve-house-tabs__quote-modal-overlay {
	background: rgba(10, 13, 16, 0.35) !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer;
	inset: 0;
	padding: 0 !important;
	position: absolute;
}

.seve-house-tabs__quote-modal-content {
	background: #fff;
	border-radius: 20px;
	max-height: 90vh;
	max-width: 520px;
	overflow-y: auto;
	padding: 30px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.seve-house-tabs__quote-modal-header {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 10px;
}

.seve-house-tabs__quote-modal-title {
	color: #0a0d10;
	font-family: "Outfit", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0;
}

.seve-house-tabs__quote-modal button.seve-house-tabs__quote-modal-close {
	appearance: none;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #0a0d10 !important;
	cursor: pointer;
	font-family: "Outfit", sans-serif;
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1;
	min-height: auto;
	min-width: auto;
	padding: 0 !important;
	width: auto;
}

.seve-house-tabs__quote-modal button.seve-house-tabs__quote-modal-close:hover,
.seve-house-tabs__quote-modal button.seve-house-tabs__quote-modal-close:focus {
	background: transparent !important;
	color: #0a0d10 !important;
}

.seve-house-tabs__quote-modal-house {
	color: #5a5a5a;
	font-family: "Outfit", sans-serif;
	font-size: 0.95rem;
	font-weight: 500;
	margin: 0 0 20px;
}

.seve-house-tabs__quote-modal-form .gform_heading {
	display: none;
}

.seve-house-tabs__quote-modal-form .gform_wrapper {
	--gf-form-gap-y: 12px;
	--gf-field-gap-y: 4px;
	--gf-label-space: 4px;
}

.seve-house-tabs__quote-modal-form .gform_fields,
.seve-house-tabs__quote-modal-form .gform-grid-row {
	gap: 12px !important;
	row-gap: 12px !important;
}

.seve-house-tabs__quote-modal-form .gfield {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.seve-house-tabs__quote-modal-form .gfield_label,
.seve-house-tabs__quote-modal-form .gform-field-label {
	margin-bottom: 4px !important;
}

.seve-house-tabs__quote-modal-form .gfield_description,
.seve-house-tabs__quote-modal-form .gform_required_legend {
	margin: 0 0 8px !important;
}

.seve-house-tabs__quote-modal-form textarea {
	min-height: 90px !important;
	height: 90px !important;
	resize: vertical;
}

.seve-house-tabs__quote-modal-form .gform_wrapper input:not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.seve-house-tabs__quote-modal-form .gform_wrapper textarea,
.seve-house-tabs__quote-modal-form .gform_wrapper select {
	padding: 15px !important;
}

/* iOS Safari zooms focused inputs when font-size is below 16px */
@media (max-width: 1024px) {
	.seve-house-tabs__quote-modal-form .gform_wrapper {
		--gf-font-size-secondary: 16px;
		--gf-ctrl-font-size: 16px;
	}

	.seve-house-tabs__quote-modal-form .gform_wrapper input:not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
	.seve-house-tabs__quote-modal-form .gform_wrapper textarea,
	.seve-house-tabs__quote-modal-form .gform_wrapper select {
		font-size: 16px !important;
	}
}

.seve-house-tabs__quote-modal-form .gform_footer,
.seve-house-tabs__quote-modal-form .gform_page_footer {
	margin-top: 12px !important;
	padding-top: 0 !important;
}

.seve-house-tabs__quote-modal-form .gform_button {
	background-color: #45852f !important;
	border: none !important;
	border-radius: 30px !important;
	font-family: "Outfit", sans-serif !important;
}

body.seve-quote-modal-open {
	overflow: hidden;
}

.seve-house-tabs__panel[hidden] {
	display: none !important;
}

.seve-house-tabs__gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.seve-house-tabs__gallery .e-gallery-item {
	aspect-ratio: 3 / 2;
	border-radius: 0;
	display: block;
	overflow: hidden;
	position: relative;
}

.seve-house-tabs__gallery-img {
	display: block;
	height: 100% !important;
	object-fit: cover;
	width: 100%;
	transition:transform 0.3s ease;
} 

.seve-house-tabs__gallery-img:hover{
	transform:scale(1.1); 
	transition:transform 0.3s ease;
}  

@media (max-width: 1024px){ 
	header .current-menu-ancestor > a,
	header .current-menu-item > a.elementor-item.elementor-item-active{
		text-decoration: underline !important;
	}

	.home .elementor-image-box-img{
		max-width: 50px !important;
	}
}

@media (min-width: 768px) {
   header > div > .e-con-inner > .e-child:first-child {
        max-width: 120px;
        margin-right: auto; 
		width: auto !important;
    }

	.e-loop-item .elementor-widget__width-auto.elementor-widget-heading{
		border-radius: 32px !important;
	}
} 

@media (max-width: 1100px){
	header .elementor-nav-menu--main .elementor-nav-menu a{
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}

header > div > .e-con-inner{
	margin-top: 8px !important;
	margin-bottom: 8px !important;
}

@media (max-width: 1024px) {
	.seve-house-tabs__gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.seve-house-tabs button.seve-house-tabs__title {
		font-size: 0.85rem;
		padding: 8px 12px;
	}

	.seve-house-tabs__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	} 

	[data-elementor-type="wp-page"] > .elementor-element:first-child * {
		--spacer-size: 20px;
	} 

}

.seve-gallery-lightbox {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 20px;
	position: fixed;
	z-index: 99998;
}

.seve-gallery-lightbox[hidden] {
	display: none !important;
}

.seve-gallery-lightbox button.seve-gallery-lightbox__overlay {
	background: rgba(10, 13, 16, 0.85) !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer;
	inset: 0;
	padding: 0 !important;
	position: absolute;
}

.seve-gallery-lightbox__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto 1fr auto;
	height: min(90vh, 900px);
	max-width: 1200px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.seve-gallery-lightbox__header {
	align-items: center;
	display: flex;
	grid-column: 1 / -1;
	justify-content: space-between;
	margin-bottom: 16px;
}

.seve-gallery-lightbox__counter {
	color: #fff;
	font-family: "Outfit", sans-serif;
	font-size: 0.95rem;
	font-weight: 500;
}

.seve-gallery-lightbox button.seve-gallery-lightbox__close {
	appearance: none;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	cursor: pointer;
	font-size: 2rem;
	line-height: 1;
	padding: 0 !important;
}

.seve-gallery-lightbox button.seve-gallery-lightbox__close:hover,
.seve-gallery-lightbox button.seve-gallery-lightbox__close:focus {
	background: transparent !important;
	color: #fff !important;
}

.seve-gallery-lightbox__stage {
	align-items: center;
	display: flex;
	grid-column: 2;
	justify-content: center;
	min-height: 0;
	position: relative;
}

.seve-gallery-lightbox__stage.is-loading .seve-gallery-lightbox__image {
	opacity: 0.35;
}

.seve-gallery-lightbox__image {
	display: block;
	max-height: calc(90vh - 120px);
	max-width: 100%;
	object-fit: contain;
	transition: opacity 0.15s ease;
}

.seve-gallery-lightbox button.seve-gallery-lightbox__nav {
	appearance: none;
	align-self: center;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	cursor: pointer;
	font-size: 2rem;
	line-height: 1;
	padding: 0 12px !important;
}

.seve-gallery-lightbox button.seve-gallery-lightbox__nav:hover,
.seve-gallery-lightbox button.seve-gallery-lightbox__nav:focus {
	background: transparent !important;
	color: #fff !important;
}

.seve-gallery-lightbox__caption {
	color: #fff;
	font-family: "Outfit", sans-serif;
	font-size: 0.95rem;
	font-weight: 500;
	grid-column: 1 / -1;
	margin: 16px 0 0;
	text-align: center;
}

body.seve-gallery-lightbox-open {
	overflow: hidden;
}

.elementor-slideshow__title{
	display:none;
}

/* -------------------------------------------------------------------------
   Elementor sticky + entrance animation: prevent layout jumps / clipped titles
   Transform on an ancestor breaks sticky containing block; Elementor sticky JS
   can then leave a large gap or shift the sticky column.
   ------------------------------------------------------------------------- */
.e-con[data-settings*='"sticky":"top"'],
.e-con[data-settings*="\"sticky\":\"top\""] {
	overflow: visible;
}

/* Sticky header flush to viewport top, above page stickies */
.elementor-location-header,
.elementor-location-header .elementor-sticky--active {
	z-index: 1000;
}

.elementor-location-header.elementor-sticky--active,
.elementor-location-header .elementor-sticky--active {
	top: 0 !important;
	transform: none !important;
}

.elementor:not(.elementor-location-header) .elementor-sticky--active {
	transform: none !important;
	max-width: 100%;
	z-index: 2;
}

/* Disable in-page Elementor sticky on phones; keep sticky header. */
@media (max-width: 767px) {
	.elementor:not(.elementor-location-header) .elementor-sticky--active,
	.elementor:not(.elementor-location-header) .e-con.elementor-sticky--active {
		position: relative !important;
		top: auto !important;
		bottom: auto !important;
		left: auto !important;
		right: auto !important;
		width: auto !important;
		transform: none !important;
	}
}

/* Keep sticky column from escaping rounded/clipped section parents */
.e-con:has(> .e-con[data-settings*="sticky"]),
.e-con:has(> .e-con[data-settings*='"sticky"']) {
	overflow: visible;
}
 

.btn-fill{
	background:#45852f; 
	color:#fff;
} 

.btn-fill a{
	line-height:34px !important;
	color:#fff !important; 
	text-transform:capitalize; 
	font-weight:600;
}  


.current-menu-item > a{
	font-weight: 600 !important;
}  

.sub-menu .current-menu-item > a,
.sub-menu a:hover{
	background:#3c7229 !important; 
} 

.gform-theme--framework .gform_validation_errors{
	display:none !important;
} 

.gform-submit-success .seve-house-tabs__quote-modal-title, 
.gform-submit-success .seve-house-tabs__quote-modal-house{
	display:none !important;
} 

.seve-house-tabs__quote-modal-form:before{
	content:'';
	width:120px;
	height:120px;
	background:url(./images/accept.svg) no-repeat center center;
	background-size:contain;
	display:none;
	z-index:1; 
	margin-left:auto;
	margin-right: auto;
} 

.gform-submit-success .seve-house-tabs__quote-modal-form:before{
	display:block;
} 

.seve-house-tabs__quote-modal-content .gform_confirmation_message{
	font-size: 24px !important;
	text-align: center !important; 
	color:#000 !important; 
	margin-top: 40px !important;
}
.seve-house-tabs__quote-modal button.seve-house-tabs__quote-modal-close{
	margin-left:auto !important;
}
.seve-house-tabs__quote-modal-content:hover:after{
	transform:translate(-50%,-50%) rotate(0deg);
}

.elementor-kit-10 input:not([type="button"]):not([type="submit"]), .textarea.large, .elementor-kit-10 textarea, .elementor-kit-10 .elementor-field-textual{
	border-radius: 4px;
	outline:none !important;
}

.gform-theme--foundation .gfield textarea.large {
    box-shadow: none !important;
    border: solid 1px #CCCCCC !important;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], select, textarea{
	box-shadow: none !important;
} 

.seve-house-tabs__quote-modal-form .gform_button {
    padding-left: 24px !important;
    padding-right: 24px !important;
    font-size: 18px !important;
    line-height: 48px !important;
    margin-left: auto !important;
    margin-right: auto !important;
} 

h1.elementor-heading-title.elementor-size-default{
	font-weight: 600 !important;
	letter-spacing: -0.05em !important;
}

@media (min-width: 768px) {
	.elementor-kit-10 h4{
		font-size: 20px !important;
	} 

	.title-big h3,
	.title-big h1{
		font-size: 60px !important; 
		max-width: 300px; 
		line-height: 1em !important; 
	}
} 

@media (min-width: 1024px) { 

	.title-big h3,
	.title-big h1{
		font-size: 72px !important; 
		max-width: 400px;
	}
}



