/* GCL – contact form (site). Builds on booking.css (.gcl-booking: colours, fields, consents, dialog). */
.gcl-contact { max-width: 70rem; margin-left: auto; margin-right: auto; }
.gcl-contact-intro { margin: 0 0 1.5rem; font-size: 1.05rem; line-height: 1.5; }
.gcl-contact-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: start; }
@media (min-width: 992px) { .gcl-contact-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 3rem; } }
.gcl-contact .gcl-field { margin: 0 0 1.1rem; }
.gcl-contact .gcl-field label { display: block; font-weight: 600; margin: 0 0 .35rem; }
.gcl-contact-two { display: grid; grid-template-columns: 1fr; gap: 0 1.25rem; }
@media (min-width: 576px) { .gcl-contact-two { grid-template-columns: 1fr 1fr; } }
.gcl-contact .gcl-consents { display: grid; gap: .6rem; margin: .5rem 0 1.5rem; }
.gcl-contact .gcl-consent { margin: 0; }
.gcl-contact .gcl-field select { font: inherit; font-size: 1rem; padding: .6rem 2.2rem .6rem .7rem; border: 2px solid var(--gb-border); border-radius: .4rem; width: 100%; }
.gcl-contact .gcl-field select:focus, .gcl-contact .gcl-field input:focus, .gcl-contact .gcl-field textarea:focus { border-color: var(--gb-primary); outline: 2px solid color-mix(in srgb, var(--gb-primary) 25%, #fff); }
.gcl-contact-required { color: #5b6772; }
.gcl-contact-side { position: sticky; top: 1.5rem; }
.gcl-contact-card { padding: 1.5rem; border-radius: .8rem; background: var(--gb-soft, #f2f5f8); border: 1px solid var(--gb-border, #d5dde5); line-height: 1.55; }
.gcl-contact-card h2 { font-size: 1.2rem; margin: 0 0 .75rem; color: var(--gb-primary); }
.gcl-contact-card p:last-child { margin-bottom: 0; }
.gcl-contact-logo { display: block; max-width: 220px; max-height: 70px; width: auto; height: auto; }
.gcl-contact-logo-wrap { margin: 0 0 1rem; }
/* Only the light logo: on a band in the lab's house colour, across the top of the card */
.gcl-contact-logo-wrap.is-on-colour { margin: -1.5rem -1.5rem 1.25rem; padding: 1rem 1.5rem; background: var(--gb-primary); border-radius: .8rem .8rem 0 0; }
.gcl-contact-done { max-width: 40rem; margin: 2rem auto; text-align: center; }
.gcl-contact-done svg { margin: 0 auto 1rem; display: block; }
