/* Enquiry form, styled to sit beside the contact panel it shares a row with. */
.pmcf{
 color-scheme:dark;
 background:var(--surface,#fff);
 border:1px solid var(--line,#ced9e6);
 border-top:4px solid var(--cyan,#2caed2);
 border-radius:8px;
 padding:32px;
 min-width:0;
}
.pmcf h2{font-size:25px;margin-bottom:8px}
.pmcf .pmcf-intro{font-size:16px;margin-bottom:24px}
.pmcf-field{display:block;margin:0 0 20px;max-width:none}
.pmcf-field label{display:block;font-size:15px;font-weight:650;color:var(--ink,#14253d);margin-bottom:8px}
.pmcf input,.pmcf select,.pmcf textarea{
 display:block;
 width:100%;
 font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 color:var(--ink,#14253d);
 background:var(--canvas,#fff);
 border:1px solid var(--line,#ced9e6);
 border-radius:8px;
 padding:12px 14px;
 min-height:48px;
}
.pmcf textarea{min-height:132px;resize:vertical}
.pmcf input:focus-visible,.pmcf select:focus-visible,.pmcf textarea:focus-visible{
 outline:3px solid var(--cyan,#164db8);
 outline-offset:2px;
}
.pmcf [aria-invalid="true"]{border-color:#ff9f8d;border-width:2px}
.pmcf .pmcf-hint{display:block;font-size:14px;color:var(--muted,#465870);margin-top:8px}
.pmcf .pmcf-error{display:block;font-size:14px;font-weight:600;color:#ffb3a3;margin-top:8px}
.pmcf .pmcf-privacy{font-size:14px;color:var(--muted,#465870);margin-bottom:20px}
/* The privacy notice link sits inside muted text, so it is underlined rather
   than relying on a colour difference alone to be recognisable as a link. */
.pmcf .pmcf-privacy a{color:inherit;text-decoration:underline}
.pmcf button[type="submit"]{
 width:100%;
 background:var(--cyan,#164db8);
 color:#070d18;
 border:0;
 justify-content:space-between;
 gap:18px;
}
.pmcf .pmcf-status{border-radius:8px;padding:16px 18px;margin:0 0 20px;font-size:16px;max-width:none}
.pmcf .pmcf-status-ok{border:1px solid var(--cyan,#2caed2);background:#76e5e314;color:var(--ink,#14253d);margin-bottom:12px}
.pmcf .pmcf-status-error{border:1px solid #ff9f8d;background:#ff9f8d14;color:var(--ink,#14253d)}
.pmcf .pmcf-status-error ul{margin:8px 0 0;padding-left:20px;font-size:15px}
.pmcf .pmcf-status-error a{color:#ffb3a3}
.pmcf .pmcf-after{margin:0}
/* Bait field: out of sight for people, present in the DOM for form fillers. */
.pmcf .pmcf-bait{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* The contact row carries the phone/email panel and the form side by side.
   The form is the tall column, so it spans both rows and the location block
   moves up beneath the panel rather than leaving a void beside it. Keyed on a
   class in the page content rather than :has(), so the layout does not depend
   on selector support. */
.contact-with-form{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:24px 32px;align-items:start}
.contact-with-form .pmcf{grid-column:2;grid-row:1/3}
.contact-with-form .location{grid-column:1;grid-row:2;padding-top:16px}
.contact-with-form .location img{width:150px;margin-top:8px}
@media(max-width:860px){
 .contact-with-form{grid-template-columns:1fr;gap:24px}
 .contact-with-form .pmcf,.contact-with-form .location{grid-column:auto;grid-row:auto}
 .contact-with-form .location{padding-top:8px}
 .pmcf{padding:24px}
}

/* The social profiles at the foot of the contact panel, shown as the provider
   glyphs the original site uses. The glyph carries its own square frame, so
   there is no second border around it; the 44px box is the touch target, and
   the row is pulled back by the box's own padding so the icons line up with the
   heading above them. Lives here because this stylesheet is enqueued only on
   pages carrying the form block, which is exactly the two contact pages. */
.pm-social{margin:24px 0 0}
.pm-social h3{font-size:16px;letter-spacing:0;margin:0 0 8px}
.pm-social-links{display:flex;flex-wrap:wrap;gap:4px;margin-left:-7px}
.pm-social-links a{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:48px;
 height:48px;
 border-radius:7px;
 color:var(--ink,#14253d);
 text-decoration:none;
}
.pm-social-links a:hover{color:var(--cyan,#2caed2)}
/* The glyph's own width/height attributes are the no-stylesheet fallback; the
   rendered size is set here so it can be changed without touching the PHP. */
.pm-social-links svg{display:block;width:34px;height:34px}
