/* ============================================================
   Odan CMS — Contact page polish (scoped to .page-id-515)
   Restyles the Metform form into a clean card, frames the map,
   and tightens the "Get in Touch" / contact-info layout.
   ============================================================ */

/* ---------- Hero header ---------- */
.page-id-515 .elementor-element-679a208f { position: relative; }
.page-id-515 .elementor-element-679a208f > .elementor-background-overlay {
	background: linear-gradient(120deg, rgba(11,31,58,.93) 0%, rgba(19,41,75,.70) 100%) !important;
	opacity: 1 !important;
}
.page-id-515 .elementor-element-679a208f > .elementor-container { position: relative; z-index: 1; }
/* Crisp white hero text */
.page-id-515 .elementor-element-679a208f .ekit-heading--title,
.page-id-515 .elementor-element-679a208f .ekit-heading--title *,
.page-id-515 .elementor-element-679a208f .ekit-heading--description,
.page-id-515 .elementor-element-679a208f .ekit-heading--description * { color: #fff !important; }
/* Amber, uppercase eyebrow to match module pages */
.page-id-515 .elementor-element-679a208f .elementskit-section-subtitle {
	color: var(--odan-amber) !important;
	font-weight: 700 !important;
	letter-spacing: 2px;
	text-transform: uppercase;
}

/* ---------- Form as a card ---------- */
.page-id-515 .metform-form-main-wrapper {
	background: #fff;
	border: 1px solid var(--odan-border);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(11,31,58,.08);
	padding: 34px 32px;
}

/* Form heading */
.page-id-515 .metform-form-main-wrapper .elementor-heading-title {
	font-size: 24px;
	font-weight: 800;
	color: var(--odan-navy);
	margin-bottom: 20px;
}

/* ---------- Fields ---------- */
.page-id-515 .mf-input-wrapper { margin-bottom: 18px; }

.page-id-515 .mf-input-label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	color: var(--odan-navy);
	margin-bottom: 7px;
}
.page-id-515 .mf-input-label .mf-input-required { color: var(--odan-amber-d); }

.page-id-515 .mf-input,
.page-id-515 .mf-input.mf-textarea {
	width: 100%;
	border: 1px solid var(--odan-border);
	border-radius: 10px;
	padding: 13px 15px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--odan-text);
	background: #fff;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.page-id-515 .mf-input::placeholder { color: #9AA8BC; }

.page-id-515 .mf-input:focus,
.page-id-515 .mf-input.mf-textarea:focus {
	outline: none;
	border-color: var(--odan-amber);
	box-shadow: 0 0 0 3px rgba(245,166,35,.18);
}

.page-id-515 .mf-input.mf-textarea {
	min-height: 130px;
	resize: vertical;
}

/* ---------- Submit button ---------- */
.page-id-515 .mf-btn-wraper { margin-top: 8px; }
.page-id-515 .metform-btn,
.page-id-515 .metform-submit-btn {
	width: 100%;
	justify-content: center;
	background: var(--odan-navy) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 15px 34px !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(11,31,58,.18);
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}
.page-id-515 .metform-btn:hover,
.page-id-515 .metform-submit-btn:hover {
	background: var(--odan-amber) !important;
	color: var(--odan-navy) !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(245,166,35,.30);
}

/* ---------- Map framing ---------- */
.page-id-515 .elementor-widget-google_maps .elementor-widget-container,
.page-id-515 .elementor-widget-google_maps iframe {
	border-radius: 16px;
	overflow: hidden;
}
.page-id-515 .elementor-widget-google_maps iframe {
	display: block;
	width: 100%;
	min-height: 440px;
	border: 1px solid var(--odan-border) !important;
	box-shadow: 0 16px 40px rgba(11,31,58,.08);
}

/* ---------- Contact info (Get in Touch) ---------- */
.page-id-515 .elementor-widget-heading .elementor-heading-title { color: var(--odan-navy); }

/* Phone / Email icon-box cards: lift + clean spacing */
.page-id-515 .elementor-widget-icon-box .elementor-icon-box-wrapper,
.page-id-515 .elementor-widget-icon-box {
	transition: transform .25s ease, box-shadow .25s ease;
}
.page-id-515 .elementor-widget-icon-box:hover { transform: translateY(-4px); }

/* ---------- Validation / response messages ---------- */
.page-id-515 .mf-response-msg { border-radius: 10px; }

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
	.page-id-515 .metform-form-main-wrapper { padding: 24px 20px; }
	.page-id-515 .elementor-widget-google_maps iframe { min-height: 320px; }
}
