/* ============================================================
 * Mtech — Contact Us page (page-contact-us.php)
 * ============================================================ */

.mtech-contact { overflow-x: hidden; }

.mtech-cwrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

.mtech-csec { position: relative; }

/* Full-bleed helper (break out of theme .col-full) */
.mtech-contact-hero,
.mtech-contact-map {
	left: 50%; right: 50%;
	width: 100vw;
	margin-left: -50vw; margin-right: -50vw;
}

/* Hero */
.mtech-contact-hero {
	background: linear-gradient(120deg, #0e3f6b 0%, #135289 60%, #1769ad 100%);
	color: #fff;
	padding: 48px 0 54px;
	text-align: center;
}
.mtech-contact-hero h1 { color: #fff; font-size: clamp(28px, 2rem + 1.2vw, 40px); font-weight: 800; margin: 0 0 10px; }
.mtech-contact-hero p { color: #dbe7f4; max-width: 680px; margin: 0 auto; font-size: 16px; }

/* Buttons */
.mtech-c-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 12px 22px; border-radius: 8px; font-weight: 600; font-size: 15px;
	text-decoration: none; border: 1.5px solid transparent; cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.mtech-c-btn-primary { background: #135289; color: #fff; border: 0; }
.mtech-c-btn-primary:hover { background: #0e3f6b; color: #fff; }
.mtech-c-btn-ghost { background: #fff; color: #135289; border-color: #135289; }
.mtech-c-btn-ghost:hover { background: #135289; color: #fff; }

/* Grid */
.mtech-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 32px;
	margin-top: 44px;
	margin-bottom: 48px;
	align-items: start;
}
@media (max-width: 860px) { .mtech-contact-grid { grid-template-columns: 1fr; } }

/* Info card */
.mtech-contact-info {
	background: #f7f8fa;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 26px;
}
.mtech-contact-info h2,
.mtech-contact-form-wrap h2 { font-size: 20px; font-weight: 800; color: #111827; margin: 0 0 18px; }

.mtech-contact-row {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 12px 0;
	border-bottom: 1px solid #ececf0;
	color: #374151;
	text-decoration: none;
	font-size: 14.5px;
	line-height: 1.5;
}
.mtech-contact-row:last-of-type { border-bottom: 0; }
a.mtech-contact-row:hover { color: #135289; }
.mtech-contact-row strong { color: #111827; font-weight: 700; }
.mtech-ci-icon {
	flex: 0 0 40px; width: 40px; height: 40px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 10px; background: #eaf2fb; color: #135289;
}
.mtech-ci-icon svg { width: 20px; height: 20px; }
.mtech-contact-hours { cursor: default; }
.mtech-contact-info .mtech-c-btn { width: 100%; margin-top: 18px; }

/* Form */
.mtech-contact-form-wrap {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 26px;
}
.mtech-contact-form label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: #374151;
	margin-bottom: 14px;
}
.mtech-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 480px) { .mtech-field-row { grid-template-columns: 1fr; } }
.mtech-contact-form input,
.mtech-contact-form textarea {
	width: 100%;
	margin-top: 6px;
	padding: 11px 13px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 400;
	color: #111827;
	background: #fff;
	font-family: inherit;
}
.mtech-contact-form input:focus,
.mtech-contact-form textarea:focus {
	outline: 0;
	border-color: #135289;
	box-shadow: 0 0 0 3px rgba(19,82,137,.12);
}
.mtech-contact-form textarea { resize: vertical; }
.mtech-hp { position: absolute !important; left: -9999px !important; height: 0 !important; width: 0 !important; opacity: 0 !important; }
.mtech-contact-form .mtech-c-btn-primary { width: 100%; margin-top: 4px; }
.mtech-form-note { font-size: 13px; color: #6b7280; margin: 14px 0 0; text-align: center; }
.mtech-form-note a { color: #135289; font-weight: 600; }
.mtech-form-success {
	background: #e7f6ed;
	border: 1px solid #b7e3c8;
	color: #0b6b34;
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 18px;
	font-size: 14.5px;
}
.mtech-form-success a { color: #0b6b34; font-weight: 700; }

/* Map */
.mtech-contact-map { line-height: 0; }
.mtech-contact-map iframe { width: 100%; height: 420px; border: 0; display: block; }

/* FAQ */
.mtech-contact-faq { padding: 50px 0 56px; }
.mtech-contact-faq h2 { text-align: center; font-size: clamp(22px, 1.4rem + 1vw, 28px); font-weight: 800; color: #111827; margin: 0 0 24px; }
.mtech-faq {
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	margin-bottom: 12px;
	background: #fff;
	overflow: hidden;
}
.mtech-faq summary {
	cursor: pointer;
	list-style: none;
	padding: 16px 20px;
	font-weight: 700;
	color: #111827;
	font-size: 15.5px;
	position: relative;
}
.mtech-faq summary::-webkit-details-marker { display: none; }
.mtech-faq summary::after {
	content: "+";
	position: absolute;
	right: 20px; top: 50%; transform: translateY(-50%);
	font-size: 22px; font-weight: 400; color: #135289;
}
.mtech-faq[open] summary::after { content: "\2212"; }
.mtech-faq-a { padding: 0 20px 18px; color: #4b5563; font-size: 14.5px; line-height: 1.6; }
.mtech-faq-a a { color: #135289; font-weight: 600; }
