/* ==========================================================================
   contact.css – Contact section, enquiry form, company contacts and map
   Part of the Devraj Pathak theme. Breakpoints are in responsive.css.
   ========================================================================== */

.dp-contact__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: start; }
.dp-contact__list { list-style: none; padding: 0; margin: 34px 0; display: grid; gap: 18px; }
.dp-contact__list li { display: flex; align-items: center; gap: 16px; }
.dp-contact__icon { margin: 0; }
.dp-contact__icon .dp-icon { width: 22px; height: 22px; }
.dp-contact__list small { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--dp-muted); font-weight: 700; }
.dp-contact__list a,
.dp-contact__list span:not(.dp-contact__icon) { font-weight: 700; font-size: 17px; color: var(--dp-ink); word-break: break-word; }
.dp-contact__list a:hover { color: var(--dp-gold); }

.dp-contact__social { display: flex; flex-wrap: wrap; gap: 12px; }

.dp-contact__card {
	padding: 44px; border-radius: calc(var(--dp-radius) + 6px);
	background: var(--dp-cream); border: 1px solid var(--dp-line);
}
.dp-contact__card h3 { font-size: 30px; margin-bottom: 24px; }

/* Form */
.dp-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dp-field { margin-bottom: 18px; }
.dp-field label { display: block; margin-bottom: 7px; font-size: 13.5px; font-weight: 700; color: var(--dp-ink); }
.dp-field label span { color: var(--dp-gold); }
.dp-field input,
.dp-field select,
.dp-field textarea,
.dp-search input {
	width: 100%; padding: 14px 16px;
	border: 1.5px solid var(--dp-line); border-radius: 12px;
	background: var(--dp-white); color: var(--dp-ink);
	font-size: 15px; line-height: 1.4;
	transition: border-color .2s, box-shadow .2s;
	-webkit-appearance: none; appearance: none;
}
.dp-field textarea { resize: vertical; min-height: 130px; }
.dp-field input:focus,
.dp-field select:focus,
.dp-field textarea:focus,
.dp-search input:focus { outline: none; border-color: var(--dp-forest-3); box-shadow: 0 0 0 4px rgba(43, 90, 74, .12); }
.dp-field.has-error input,
.dp-field.has-error textarea { border-color: var(--dp-danger); }
.dp-select { position: relative; }
.dp-select::after {
	content: ""; position: absolute; right: 18px; top: 50%; width: 8px; height: 8px; margin-top: -6px;
	border-right: 2px solid var(--dp-muted); border-bottom: 2px solid var(--dp-muted);
	transform: rotate(45deg); pointer-events: none;
}
.dp-select select { padding-right: 44px; cursor: pointer; }
.dp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dp-form__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.dp-form__status { margin: 0; font-size: 14.5px; font-weight: 600; flex: 1 1 220px; }
.dp-form__status.is-success { color: var(--dp-success); }
.dp-form__status.is-error { color: var(--dp-danger); }

/* Contact page extras */
.dp-co-contacts { list-style: none; margin: 0 0 50px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.dp-co-contact { padding: 30px; border-radius: var(--dp-radius); background: var(--dp-white); border: 1px solid var(--dp-line); display: flex; flex-direction: column; }
.dp-co-contact .dp-co-card__logo { margin-bottom: 16px; }
.dp-co-contact h3 { font-size: 26px; margin-bottom: 4px; }
.dp-co-contact > p { color: var(--dp-muted); font-size: 14.5px; }
.dp-co-contact ul { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 8px; font-size: 14.5px; }
.dp-co-contact li { display: flex; align-items: center; gap: 10px; word-break: break-word; }
.dp-co-contact li .dp-icon { color: var(--dp-gold); width: 18px; height: 18px; }
.dp-co-contact .dp-course__link { margin-top: auto; }
.dp-map { border-radius: calc(var(--dp-radius) + 6px); overflow: hidden; box-shadow: var(--dp-shadow); background: var(--dp-sand); }
.dp-map iframe { display: block; width: 100%; height: 420px; border: 0; }
