/* Contact Us page layout fixes (FAQ block was styled only under About .elementor-892) */

/* Banner title: keep full word readable */
.elementor-3170 .page-header-bg .elementor-heading-title,
.elementor-3170 .page-header-bg .elementor-heading-title * {
	color: #ffffff !important;
	opacity: 1 !important;
}

.elementor-3170 .page-header-bg .at-heading-animation .elementor-heading-title {
	overflow: visible !important;
	white-space: normal !important;
}

/* Contact info strip + form row */
.elementor-3170 .elementor-element-5b6b524 {
	overflow: visible !important;
}

.elementor-3170 .elementor-element-b7a452c {
	overflow: hidden !important;
	border-radius: 20px !important;
}

.elementor-3170 .elementor-element-73c1c88 {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0 !important;
	width: 100% !important;
}

.elementor-3170 .elementor-element-dbd7b07,
.elementor-3170 .elementor-element-511f10e,
.elementor-3170 .elementor-element-9613dea {
	flex: 1 1 0 !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
}

.elementor-3170 .elementor-element-dbd7b07 .elementskit-infobox,
.elementor-3170 .elementor-element-511f10e .elementskit-infobox,
.elementor-3170 .elementor-element-9613dea .elementskit-infobox {
	padding-left: 12px !important;
	padding-right: 12px !important;
}

.elementor-3170 .elementor-element-dbd7b07 .box-body p,
.elementor-3170 .elementor-element-511f10e .box-body p,
.elementor-3170 .elementor-element-9613dea .box-body p {
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

.elementor-3170 .elementor-element-4a2122d {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 24px !important;
	width: 100% !important;
}

.elementor-3170 .elementor-element-395c2c7,
.elementor-3170 .elementor-element-d303e15 {
	flex: 1 1 320px !important;
	min-width: 0 !important;
	max-width: 100% !important;
	width: auto !important;
}

.elementor-3170 .elementor-element-df989a4,
.elementor-3170 .contact-us-image {
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
}

.elementor-3170 .contact-us-image img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.elementor-3170 .chef-contact-form,
.elementor-3170 .chef-contact-form .ekit-wid-con,
.elementor-3170 .chef-contact-form .ekit-form,
.elementor-3170 .chef-contact-form .wpcf7,
.elementor-3170 .chef-contact-form form {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.elementor-3170 .chef-contact-form .form-control,
.elementor-3170 .chef-contact-form textarea {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Map / location headings stay inside content width */
.elementor-3170 .elementor-element-90fa088,
.elementor-3170 .elementor-element-d4882ce,
.elementor-3170 .elementor-element-b94dc7c {
	max-width: 100% !important;
	overflow: hidden !important;
}

.elementor-3170 .elementor-element-b94dc7c .elementor-heading-title {
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

/* ===== FAQ section (ported from About styles) ===== */
.elementor-element-fd25e7b {
	--display: flex !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	padding: 60px 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

.elementor-element-fd25e7b > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: 1300px !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
}

.elementor-element-9d57667 {
	--display: flex !important;
	display: flex !important;
	flex: 1 1 320px !important;
	width: 41% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: visible !important;
}

.elementor-element-1d03def,
.elementor-element-492ccf0 {
	--display: flex !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: 100% !important;
}

.elementor-element-492ccf0 {
	position: relative !important;
	margin-top: 25px !important;
	overflow: visible !important;
}

.elementor-element-4d4cbd6,
.elementor-element-4d4cbd6 .elementor-widget-container {
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
	border-radius: 20px !important;
}

.elementor-element-4d4cbd6 img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	display: block !important;
}

.elementor-element-15eb802 {
	--display: flex !important;
	display: flex !important;
	position: absolute !important;
	left: 15px !important;
	bottom: 15px !important;
	width: calc(100% - 30px) !important;
	max-width: 300px !important;
	flex-direction: column !important;
	background: #ffffff !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	z-index: 2 !important;
}

.elementor-element-548a9d5 {
	background-color: var(--brand-teal, #004d77) !important;
	padding: 12px 15px !important;
}

.elementor-element-548a9d5 .elementor-heading-title {
	color: #ffffff !important;
	margin: 0 !important;
}

.elementor-element-174480a {
	--display: flex !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 360px !important;
	width: 59% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 10px 10px 10px 24px !important;
	box-sizing: border-box !important;
}

.elementor-element-a1ba062 {
	width: 100% !important;
}

/* FAQ accordion — light theme + working open/close */
.elementor-element-fd25e7b {
	background-color: #ffffff !important;
	background-image: none !important;
}

.elementor-element-a1ba062 .elementskit-accordion .elementskit-card {
	background: transparent !important;
	border: none !important;
}

.elementor-element-a1ba062 .elementskit-accordion .elementskit-card-header > .elementskit-btn-link {
	color: #05172f !important;
	background-color: transparent !important;
	border-style: solid !important;
	border-width: 0 0 1px 0 !important;
	border-color: rgba(5, 23, 47, 0.12) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	width: 100% !important;
	text-align: left !important;
	text-decoration: none !important;
}

.elementor-element-a1ba062 .elementskit-accordion .elementskit-card-header > .elementskit-btn-link i {
	color: #c7b256 !important;
}

.elementor-element-a1ba062 .elementskit-accordion .ekit-accordion-title {
	color: #05172f !important;
}

.elementor-element-a1ba062 .elementskit-accordion .elementskit-card-body,
.elementor-element-a1ba062 .elementskit-accordion .elementskit-card-body p {
	color: #5a6270 !important;
	background-color: transparent !important;
}

.elementor-element-a1ba062 .elementskit-accordion .elementskit-card:not(:last-child) {
	margin-bottom: 12px !important;
}

/* Sync panel visibility with active card (Bootstrap collapse may not run) */
.elementor-element-a1ba062 .elementskit-accordion .elementskit-card > .collapse {
	display: none !important;
	height: auto !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.elementor-element-a1ba062 .elementskit-accordion .elementskit-card.active > .collapse,
.elementor-element-a1ba062 .elementskit-accordion .elementskit-card > .collapse.show {
	display: block !important;
}

.elementor-element-873c1de {
	padding: 9px 16px !important;
	border: 1px solid rgba(199, 178, 86, 0.45) !important;
	border-radius: 100px !important;
	display: inline-block !important;
	width: auto !important;
}

.elementor-element-873c1de .elementor-heading-title {
	color: #c7b256 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}

.elementor-element-4cd8de3 .elementor-heading-title {
	color: #05172f !important;
}

@media only screen and (max-width: 1024px) {
	.elementor-element-9d57667,
	.elementor-element-174480a {
		width: 100% !important;
		flex: 1 1 100% !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.elementor-element-15eb802 {
		position: relative !important;
		left: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 12px !important;
	}

	.elementor-3170 .elementor-element-395c2c7,
	.elementor-3170 .elementor-element-d303e15 {
		flex: 1 1 100% !important;
	}
}
