/* Top consultation form — gold gradient (no background image) */
.elementor-element-5f7d812,
.elementor-element-5f7d812 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-image: linear-gradient(to right, #EBC353, #A87B2D) !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}

/* Parallax about-section backgrounds */
.bnh-parallax-bg {
	position: relative;
	overflow: hidden;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center 0 !important;
}

/* ── CTA banner before footer (site-wide) ─────────────────────────────
   Neutralize Elementor footer CSS: Group-339/342/343 white-frame overlays,
   circular portrait padding, and 700px mobile min-height. */
.elementor .e-9cc9675-e2fa86d,
.elementor .elementor-element-9cc9675 {
	padding: 48px 56px !important;
	background: linear-gradient(135deg, #a87b2d 0%, #ebc353 45%, #c1963b 100%) !important;
	background-image: linear-gradient(135deg, #a87b2d 0%, #ebc353 45%, #c1963b 100%) !important;
	overflow: hidden;
	min-height: auto !important;
}

.elementor .e-89932d1-4ec0770,
.elementor .elementor-element-89932d1 {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 40px !important;
	width: 100% !important;
	max-height: none !important;
	min-height: auto !important;
	padding: 0 !important;
	background: none !important;
	background-image: none !important;
	background-size: unset !important;
	background-position: unset !important;
	background-repeat: no-repeat !important;
}

.elementor .e-3040820-6e5769d,
.elementor .elementor-element-3040820 {
	flex: 1 1 52% !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: flex-start !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.elementor .e-228c847-8740dda {
	font-size: clamp(1.65rem, 2.8vw, 2.35rem) !important;
	line-height: 1.15 !important;
	padding-inline-start: 0 !important;
	padding-block-start: 0 !important;
	padding-block-end: 0 !important;
	margin: 0 0 20px !important;
	color: #fff !important;
}

.elementor .e-02e5691-e652bed {
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
}

.elementor .elementor-element-57b4fe3 {
	margin: 0 !important;
	padding: 0 !important;
}

.elementor .elementor-element-57b4fe3 .elementor-button {
	background-color: #fff !important;
	color: #a87b2d !important;
	fill: #a87b2d !important;
	border-radius: 8px !important;
	padding: 14px 28px !important;
	font-weight: 700 !important;
	letter-spacing: 0.4px !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.elementor .elementor-element-57b4fe3 .elementor-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
}

.elementor .e-49a281b-2fed165 {
	margin: 0 !important;
	margin-inline-start: 0 !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	max-width: 420px !important;
	opacity: 0.95;
	color: #fff !important;
}

/* Atmosphere photo — rectangular renovation scene, not circular portrait */
.elementor .e-fcdf965-e3bd396,
.elementor .elementor-element-fcdf965 img,
.elementor img.e-fcdf965-e3bd396 {
	flex: 0 0 44% !important;
	max-width: 460px !important;
	width: 100% !important;
	height: auto !important;
	max-height: 300px !important;
	min-height: 0 !important;
	aspect-ratio: 4 / 3 !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 12px !important;
	box-shadow: 0 10px 36px rgba(0, 0, 0, 0.22) !important;
	padding: 0 !important;
	padding-block: 0 !important;
	padding-inline: 0 !important;
	margin: 0 !important;
	order: 0 !important;
	align-self: center !important;
	display: block !important;
}

@media (max-width: 1200px) {
	.elementor .e-89932d1-4ec0770,
	.elementor .elementor-element-89932d1 {
		background-image: none !important;
		min-height: auto !important;
		max-height: none !important;
	}

	.elementor .e-fcdf965-e3bd396,
	.elementor .elementor-element-fcdf965 img,
	.elementor img.e-fcdf965-e3bd396 {
		padding: 0 !important;
	}
}

@media (max-width: 1024px) {
	.elementor .e-9cc9675-e2fa86d {
		padding: 40px 36px !important;
	}

	.elementor .e-89932d1-4ec0770,
	.elementor .elementor-element-89932d1 {
		gap: 28px !important;
		background-image: none !important;
		min-height: auto !important;
		max-height: none !important;
	}

	.elementor .e-fcdf965-e3bd396,
	.elementor .elementor-element-fcdf965 img,
	.elementor img.e-fcdf965-e3bd396 {
		flex: 0 0 40% !important;
		max-width: 380px !important;
		max-height: 260px !important;
		padding: 0 !important;
	}
}

@media (max-width: 880px) {
	.elementor .e-89932d1-4ec0770,
	.elementor .elementor-element-89932d1 {
		background-image: none !important;
		min-height: auto !important;
		max-height: none !important;
	}

	.elementor .e-fcdf965-e3bd396,
	.elementor .elementor-element-fcdf965 img,
	.elementor img.e-fcdf965-e3bd396 {
		padding: 0 !important;
	}
}

@media (max-width: 767px) {
	.elementor .e-9cc9675-e2fa86d {
		padding: 36px 24px !important;
	}

	.elementor .e-89932d1-4ec0770,
	.elementor .elementor-element-89932d1 {
		flex-direction: column !important;
		gap: 28px !important;
		text-align: center;
		min-height: auto !important;
		max-height: none !important;
		background-image: none !important;
		background-size: unset !important;
	}

	.elementor .e-3040820-6e5769d {
		flex: 1 1 auto !important;
		align-items: center !important;
		order: 2 !important;
	}

	.elementor .e-228c847-8740dda {
		text-align: center !important;
		font-size: 1.75rem !important;
		padding-inline-start: 0 !important;
	}

	.elementor .e-02e5691-e652bed {
		align-items: center !important;
	}

	.elementor .e-49a281b-2fed165 {
		text-align: center !important;
		max-width: none !important;
		margin-inline: 0 !important;
	}

	.elementor .e-fcdf965-e3bd396,
	.elementor .elementor-element-fcdf965 img,
	.elementor img.e-fcdf965-e3bd396 {
		flex: 0 0 auto !important;
		max-width: 100% !important;
		width: 100% !important;
		max-height: 220px !important;
		padding: 0 !important;
		order: 1 !important;
	}
}

/* Testimonials section — remove all container/card/slide backgrounds sitewide */
.elementor-element.elementor-element-fcee169,
.elementor-element.elementor-element-fcee169:not(.elementor-motion-effects-element-type-background),
.elementor-element.elementor-element-fcee169 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element.elementor-element-fcee169 > .e-con-inner {
	background: none !important;
	background-image: none !important;
	background-color: transparent !important;
}

.elementor-element.elementor-element-fcee169 {
	--min-height: auto;
	min-height: auto;
}

.elementor-element.elementor-element-9ec2e51 .elementor-main-swiper,
.elementor-element.elementor-element-9ec2e51 .elementor-main-swiper .swiper-slide,
.elementor-element.elementor-element-9ec2e51 .elementor-testimonial__content,
.elementor-element.elementor-element-9ec2e51 .elementor-testimonial__footer {
	background: none !important;
	background-image: none !important;
	background-color: transparent !important;
}

/* Custom testimonial carousel layout + nav (scoped to widget 9ec2e51) */
.elementor-element.elementor-element-9ec2e51 {
	overflow: hidden;
}

.elementor-element.elementor-element-9ec2e51.elementor-arrows-yes .elementor-main-swiper,
.elementor-element.elementor-element-9ec2e51 .elementor-main-swiper {
	width: 100% !important;
	overflow: hidden;
	position: relative;
	padding: 0 56px;
	box-sizing: border-box;
}

.elementor-element.elementor-element-9ec2e51 .bnh-carousel-viewport {
	overflow: hidden !important;
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.elementor-element.elementor-element-9ec2e51 .elementor-main-swiper .swiper-wrapper {
	display: flex !important;
	transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-element.elementor-element-9ec2e51 .elementor-main-swiper .swiper-slide {
	box-sizing: border-box !important;
	padding: 10px 6px !important;
	flex-shrink: 0;
	overflow: hidden;
	margin: 0 !important;
}

.elementor-element.elementor-element-9ec2e51 .elementor-testimonial {
	border: 1px solid #c8a24a;
	border-radius: 6px;
	padding: 20px 16px 16px;
	background: #ffffff !important;
	box-sizing: border-box;
	height: 100%;
}

@media (max-width: 767px) {
	.elementor-element.elementor-element-9ec2e51 .elementor-main-swiper {
		padding: 0 44px;
	}
}

.elementor-element.elementor-element-9ec2e51 .bnh-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border: none;
	border-radius: 50%;
	background: #c8a24a;
	color: #1a1a1a;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
	transition: filter 0.15s;
}

.elementor-element.elementor-element-9ec2e51 .bnh-nav:hover {
	filter: brightness(1.08);
}

.elementor-element.elementor-element-9ec2e51 .bnh-nav.prev {
	left: 6px;
}

.elementor-element.elementor-element-9ec2e51 .bnh-nav.next {
	right: 6px;
}

.elementor-element.elementor-element-9ec2e51 .bnh-dots {
	display: flex;
	gap: 9px;
	justify-content: center;
	margin: 22px 0 0;
}

.elementor-element.elementor-element-9ec2e51 .bnh-dots button {
	width: 11px;
	height: 11px;
	border-radius: 50%;
	border: none;
	background: #d8c9a4;
	cursor: pointer;
	padding: 0;
	transition: background 0.2s, transform 0.2s;
}

.elementor-element.elementor-element-9ec2e51 .bnh-dots button.active {
	background: #c8a24a;
	transform: scale(1.25);
}

@media (max-width: 767px) {
	.elementor-element.elementor-element-9ec2e51 .bnh-nav {
		width: 38px;
		height: 38px;
		font-size: 18px;
	}

	.elementor-element.elementor-element-9ec2e51 .bnh-nav.prev {
		left: 4px;
	}

	.elementor-element.elementor-element-9ec2e51 .bnh-nav.next {
		right: 4px;
	}
}

/* Testimonial carousel — single pagination row, no wrap */
.elementor-testimonial {
	display: flex;
	flex-direction: column;
}

.elementor-widget-testimonial-carousel .elementor-main-swiper > .swiper-pagination ~ .swiper-pagination,
.elementor-widget-testimonial-carousel .swiper-pagination ~ .swiper-pagination {
	display: none !important;
}

.elementor-widget-testimonial-carousel .swiper-pagination {
	position: relative !important;
	margin-top: 24px !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 6px !important;
	max-width: 100% !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.elementor-widget-testimonial-carousel .swiper-pagination::-webkit-scrollbar {
	display: none;
}

.elementor-widget-testimonial-carousel .swiper-pagination-bullet {
	flex-shrink: 0 !important;
}

.elementor-widget-testimonial-carousel .swiper-pagination-bullets-dynamic {
	overflow: hidden !important;
	white-space: nowrap !important;
}

/* Footer row — logo + link columns + contact form in one line on desktop */
.elementor .e-31bafc0-2c638ff {
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 24px 28px !important;
}

@media (min-width: 1025px) {
	.elementor .e-31bafc0-2c638ff {
		flex-wrap: nowrap !important;
		flex-direction: row !important;
		align-items: flex-start !important;
		gap: 20px 24px !important;
	}

	/* Flatten logo column so Useful Links joins the same row */
	.elementor .e-31bafc0-2c638ff > .e-d4e2587-cd8d900 {
		display: contents !important;
	}

	.elementor .e-31bafc0-2c638ff > .elementor-element-aa8792e {
		flex: 0 0 auto !important;
		align-self: flex-start !important;
	}

	.elementor .e-31bafc0-2c638ff > .e-e085bce-81c2b6f,
	.elementor .e-31bafc0-2c638ff > .e-cfa2b9e-a094e30,
	.elementor .e-31bafc0-2c638ff > .e-a7da22e-e83806d {
		flex: 0 1 auto !important;
		min-width: 0 !important;
		max-width: none !important;
		display: flex !important;
		flex-direction: column !important;
	}

	.elementor .e-31bafc0-2c638ff > .e-cfa2b9e-a094e30 {
		flex: 1 1 200px !important;
	}
}

.elementor .e-31bafc0-2c638ff > .e-d4e2587-cd8d900 {
	flex: 0 0 auto !important;
}

.elementor .e-31bafc0-2c638ff > .e-cfa2b9e-a094e30,
.elementor .e-31bafc0-2c638ff > .e-a7da22e-e83806d {
	flex: 1 1 160px !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

.elementor .e-31bafc0-2c638ff > .e-cfa2b9e-a094e30 {
	flex: 2 1 260px !important;
}

/* Footer contact form */
.bnh-footer-form-title {
	display: none !important;
}

.bnh-footer-form-wrap {
	flex: 0 0 auto !important;
	align-self: flex-start !important;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	width: auto !important;
	max-width: min(320px, 100%) !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

@media (min-width: 1025px) {
	.bnh-footer-form-wrap {
		flex: 0 0 min(280px, 24%) !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		border-top: none !important;
	}
}

.bnh-footer-form-wrap .bnh-form {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.bnh-form--footer {
	flex-direction: column;
	gap: 8px;
	max-width: 100%;
}

.bnh-form--footer .bnh-field {
	flex: 1 1 100%;
}

.bnh-form--footer input,
.bnh-form--footer textarea {
	padding: 10px 12px;
	font-size: 14px;
}

.bnh-form--footer textarea {
	min-height: 72px;
	resize: vertical;
}

.bnh-form--footer .bnh-submit {
	padding: 10px 24px;
	font-size: 14px;
	width: 100%;
}

@media (max-width: 767px) {
	.elementor .e-31bafc0-2c638ff > .e-cfa2b9e-a094e30,
	.elementor .e-31bafc0-2c638ff > .e-a7da22e-e83806d {
		flex: 1 1 100% !important;
		width: 100% !important;
	}

	.bnh-footer-form-wrap {
		width: 100% !important;
		max-width: 360px !important;
		margin-inline: auto !important;
		align-self: stretch !important;
	}
}

/* Contact page — larger message field */
.page-id-352 .bnh-form textarea[name="message"],
.contact-us .bnh-form textarea[name="message"] {
	min-height: 160px;
	resize: vertical;
}

.bnh-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	font-size: 16px;
	font-family: inherit;
	border: 1px solid #d2d2d2;
	border-radius: 8px;
	background: #fff;
	color: #222;
}

.bnh-form textarea:focus {
	outline: none;
	border-color: #c8a24a;
	box-shadow: 0 0 0 3px rgba(200, 162, 74, 0.18);
}

.bnh-form textarea::placeholder {
	color: #8a8a8a;
}
