/*
 * Contact block. Also styles Contact Form 7's bare markup, scoped under the
 * block — CF7's own styles are out-ranked by specificity + source order, so no
 * !important is needed and no separate CF7 stylesheet exists.
 *
 * The live layout: centred "Contact Us" heading, then a 50/50 split with the
 * intro + tap-to-call buttons + logo on the left and the form on the right,
 * then a full-width map. The form is flat on the page — no card.
 */

.ormistonelectricalservices-contact__head { text-align: center; margin-bottom: 24px; }
.ormistonelectricalservices-contact__head h2 { margin-bottom: 0; }

.ormistonelectricalservices-contact__grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
  align-items: start;
}
/* Without min-width:0 the logo's max-width becomes the column's min-content
   width, and the grid refuses to go narrower than 456px on a phone. */
.ormistonelectricalservices-contact__grid > * { min-width: 0; }

.ormistonelectricalservices-contact__intro { text-align: center; }
.ormistonelectricalservices-contact__lede { color: var(--ormistonelectricalservices-text-muted); }

.ormistonelectricalservices-contact__quick {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
}
/* The email button's text is one long unbreakable token on a phone. */
.ormistonelectricalservices-contact__quick .ormistonelectricalservices-btn {
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: center;
}

.ormistonelectricalservices-contact__logo {
  width: 100%;
  max-width: 456px;
  height: auto;
  margin: 24px auto 0;
}

.ormistonelectricalservices-contact__details { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.ormistonelectricalservices-contact__details a { text-decoration: none; font-weight: 600; }
.ormistonelectricalservices-contact__details a:hover { color: var(--ormistonelectricalservices-accent); }
.ormistonelectricalservices-contact__details address { font-style: normal; color: var(--ormistonelectricalservices-text-muted); }

.ormistonelectricalservices-contact__map { margin-top: 32px; }
.ormistonelectricalservices-contact__map iframe { display: block; width: 100%; border: 0; }

.ormistonelectricalservices-contact__notice { padding: 12px 16px; border-radius: var(--ormistonelectricalservices-radius); font-size: .95rem; }
.ormistonelectricalservices-contact__notice.is-ok  { background: #e8f5ec; color: #1c5c33; }
.ormistonelectricalservices-contact__notice.is-bad { background: #fdecec; color: #8a1f1f; }

/* Honeypot — off-screen, never focusable. */
.ormistonelectricalservices-contact__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Field rhythm copied from the Elementor form: 10px between groups, a 17px
   muted label sitting directly on top of a 40px-tall input. */
.ormistonelectricalservices-contact__form p,
.ormistonelectricalservices-contact .wpcf7-form p { margin: 0 0 10px; }
.ormistonelectricalservices-contact__form p:last-child,
.ormistonelectricalservices-contact .wpcf7-form p:last-child { margin-bottom: 0; }

.ormistonelectricalservices-contact__form label,
.ormistonelectricalservices-contact .wpcf7-form label {
  display: block;
  margin-bottom: 0;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--ormistonelectricalservices-text-muted);
}

.ormistonelectricalservices-contact__form input[type="text"],
.ormistonelectricalservices-contact__form input[type="email"],
.ormistonelectricalservices-contact__form input[type="tel"],
.ormistonelectricalservices-contact__form textarea,
.ormistonelectricalservices-contact .wpcf7-form input[type="text"],
.ormistonelectricalservices-contact .wpcf7-form input[type="email"],
.ormistonelectricalservices-contact .wpcf7-form input[type="tel"],
.ormistonelectricalservices-contact .wpcf7-form input[type="file"],
.ormistonelectricalservices-contact .wpcf7-form textarea,
.ormistonelectricalservices-contact .wpcf7-form select {
  width: 100%;
  padding: 6px 8px;
  font: inherit;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ormistonelectricalservices-text);
  background: var(--ormistonelectricalservices-card-bg);
  border: 1px solid #69727d;
  border-radius: var(--ormistonelectricalservices-radius);
  transition: border-color .2s var(--ormistonelectricalservices-ease), box-shadow .2s var(--ormistonelectricalservices-ease);
}

.ormistonelectricalservices-contact__form :is(input, textarea):focus,
.ormistonelectricalservices-contact .wpcf7-form :is(input, textarea, select):focus {
  outline: none;
  border-color: var(--ormistonelectricalservices-brand);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ormistonelectricalservices-brand) 22%, transparent);
}

.ormistonelectricalservices-contact__form textarea,
.ormistonelectricalservices-contact .wpcf7-form textarea { resize: vertical; min-height: 96px; padding: 5px 14px; line-height: 1.4; }

/* Submit — the live button is full width in the darker brand red. */
.ormistonelectricalservices-contact__form button[type="submit"],
.ormistonelectricalservices-contact .wpcf7-form input[type="submit"],
.ormistonelectricalservices-contact .wpcf7-form button[type="submit"] {
  display: block;
  width: 100%;
  padding: 8px 24px;
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: var(--ormistonelectricalservices-radius);
  background: var(--ormistonelectricalservices-brand-dark);
  color: var(--ormistonelectricalservices-text-invert);
  font: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background .25s var(--ormistonelectricalservices-ease);
}
.ormistonelectricalservices-contact__form button[type="submit"]:hover,
.ormistonelectricalservices-contact .wpcf7-form input[type="submit"]:hover,
.ormistonelectricalservices-contact .wpcf7-form button[type="submit"]:hover { background: var(--ormistonelectricalservices-brand); }

.ormistonelectricalservices-contact .wpcf7-not-valid-tip { color: #8a1f1f; font-size: .85rem; font-weight: 500; }
.ormistonelectricalservices-contact .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: var(--ormistonelectricalservices-radius);
  font-size: .95rem;
}
/* Leave CF7's spinner as its own inline-block. Forcing it to display:block
   gives it a 24px row of its own under the button even when idle. */
.ormistonelectricalservices-contact .wpcf7-spinner { margin: 0 0 0 12px; }

@media (max-width: 860px) {
  .ormistonelectricalservices-contact__grid { grid-template-columns: 1fr; }
}

/* Spam protection is Contact Form 7's own Turnstile integration, configured
   under Contact > Integration — the theme implements none of it. This is only
   spacing for the widget CF7 renders. */
.ormistonelectricalservices-contact .cf-turnstile { margin-bottom: 18px; }
