/* Grade House Contact — studio details left, the form in a paper card right,
 * a map of the studio underneath. Also restyles WPForms inside it. */

.gh.contact .contact__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.gh.contact .contact__grid--one { grid-template-columns: minmax(0, 1fr); max-width: 760px; }

.gh.contact .contact__details { display: grid; gap: 28px; }
.gh.contact .contact__row { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding-bottom: 28px; border-bottom: 1px solid var(--gh-line); }
.gh.contact .contact__row:last-child { border-bottom: 0; padding-bottom: 0; }
.gh.contact .contact__row .ic { width: 44px; height: 44px; padding: 11px; border: 1px solid var(--gh-line); border-radius: 50%; color: var(--gh-blue); background: var(--gh-white); }
.gh.contact .contact__label { margin-bottom: 4px; font-size: 14px; font-weight: 600; color: var(--gh-muted); }
.gh.contact .contact__value { font-size: 17px; color: var(--gh-ink); }
.gh.contact .contact__value > a:not(.tlink) { text-decoration: none; font-weight: 600; }
.gh.contact .contact__value > a:not(.tlink):hover { color: var(--gh-blue); }
.gh.contact .contact__value address { font-style: normal; margin-bottom: 10px; }
.gh.contact .contact__hours { border-collapse: collapse; font-size: 16px; }
.gh.contact .contact__hours th, .gh.contact .contact__hours td { padding: 4px 0; border: 0; text-align: left; vertical-align: top; background: none; }
.gh.contact .contact__hours th { padding-right: 24px; font-weight: 500; color: var(--gh-text); }
.gh.contact .contact__hours td { color: var(--gh-ink); font-weight: 600; }

.gh.contact .contact__card { padding: 32px; background: var(--gh-white); border: 1px solid var(--gh-line); border-radius: 2px; }
.gh.contact .contact__ftitle { margin-bottom: 20px; font: 600 clamp(24px, 2vw, 30px)/1.12 var(--gh-head); letter-spacing: var(--gh-track); color: var(--gh-ink); }

.gh.contact .contact__map { margin-top: clamp(48px, 6vw, 80px); line-height: 0; }
.gh.contact .contact__map iframe { display: block; width: 100%; height: 380px; border: 0; border-radius: 0; filter: grayscale(.4); }

/* ── WPForms ── */
.gh.contact .wpforms-container { margin: 0; }
.gh.contact .wpforms-container .wpforms-field { padding: 0 0 18px; }
.gh.contact .wpforms-container .wpforms-field-label { margin: 0 0 6px; font-family: var(--gh-sans); font-size: 14px; font-weight: 600; color: var(--gh-ink); }
.gh.contact .wpforms-container .wpforms-field-sublabel { font-size: 13px; color: var(--gh-muted); }
.gh.contact .wpforms-container .wpforms-required-label { color: var(--gh-blue); }
.gh.contact .wpforms-container input[type="text"],
.gh.contact .wpforms-container input[type="email"],
.gh.contact .wpforms-container input[type="tel"],
.gh.contact .wpforms-container input[type="url"],
.gh.contact .wpforms-container input[type="number"],
.gh.contact .wpforms-container input[type="date"],
.gh.contact .wpforms-container select,
.gh.contact .wpforms-container textarea { width: 100%; max-width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--gh-line); border-radius: 2px; background: var(--gh-paper); color: var(--gh-ink); font-family: var(--gh-sans); font-size: 16px; line-height: 1.4; box-shadow: none; transition: border-color .2s, background-color .2s; }
.gh.contact .wpforms-container textarea { min-height: 140px; resize: vertical; }
.gh.contact .wpforms-container input:focus,
.gh.contact .wpforms-container select:focus,
.gh.contact .wpforms-container textarea:focus { border-color: var(--gh-blue); background: var(--gh-white); outline: none; box-shadow: 0 0 0 1px var(--gh-blue); }
.gh.contact .wpforms-container .wpforms-submit-container { padding: 6px 0 0; }
.gh.contact .wpforms-container button[type="submit"],
.gh.contact .wpforms-container .wpforms-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; height: auto; padding: 0 28px; border: 1px solid var(--gh-blue) !important; border-radius: 2px !important; background: var(--gh-blue) !important; color: #fff !important; font-family: var(--gh-sans); font-size: 16px; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background-color .2s; }
.gh.contact .wpforms-container button[type="submit"]:hover,
.gh.contact .wpforms-container .wpforms-submit:hover { background: var(--gh-blue-2) !important; border-color: var(--gh-blue-2) !important; }
.gh.contact .wpforms-container label.wpforms-error,
.gh.contact .wpforms-container .wpforms-error { color: #B42318; font-size: 14px; }
.gh.contact .wpforms-container input.wpforms-error,
.gh.contact .wpforms-container textarea.wpforms-error,
.gh.contact .wpforms-container select.wpforms-error { border-color: #B42318; }
.gh.contact .wpforms-confirmation-container-full { padding: 20px; border: 1px solid var(--gh-line); border-radius: 2px; background: var(--gh-blue-soft); color: var(--gh-ink); }

@media (max-width: 900px) {
	.gh.contact .contact__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.gh.contact .contact__card { padding: 22px 18px; }
	.gh.contact .contact__map iframe { height: 300px; }
}
