/* ==========================================================================
   CONTACT PAGE — page-contact.php
   Contact details, opening hours and a map on the left; the enquiry form on the
   right. It is an enquiry form, not a booking form — this practice takes
   bookings by phone.
   ========================================================================== */

.aumtm-contact__grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}

/* ---------- Contact details ---------- */
.aumtm-infolist { display: grid; gap: 1.5rem; }
.aumtm-infolist li { display: flex; gap: 1rem; }
.aumtm-infolist__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: none;
  border: 1px solid var(--aumtm-line);
  border-radius: 50%;
}
.aumtm-infolist__icon svg {
  width: 18px; height: 18px;
  stroke: var(--aumtm-blue); fill: none; stroke-width: 1.7;
}
.aumtm-infolist__key {
  font-size: var(--aumtm-fs-2xs);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--aumtm-text-dim);
}
.aumtm-infolist__val {
  margin-top: 0.3125rem;
  font-size: 1.0625rem;
  color: var(--aumtm-heading);
  line-height: 1.6;
}
.aumtm-infolist__val a:hover { color: var(--aumtm-blue); }

/* ---------- Opening hours ---------- */
.aumtm-hours {
  margin-top: 2.25rem;
  padding: 1.5rem;
  background: var(--aumtm-bg-soft);
  border-radius: var(--aumtm-radius);
}
.aumtm-hours__title {
  font-size: var(--aumtm-fs-2xs);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--aumtm-text-dim);
  margin-bottom: 1rem;
}
.aumtm-hours ul { display: grid; gap: 0.625rem; }
.aumtm-hours li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: var(--aumtm-fs-sm);
}
.aumtm-hours li span:last-child { color: var(--aumtm-heading); font-weight: 600; }
.aumtm-hours li.is-closed span:last-child { color: var(--aumtm-text-dim); font-weight: 400; }

/* ---------- Map ----------
   An iframe embed rather than a mapping JavaScript API: no key to obtain, no
   billing account to keep alive, and nothing that stops working when a quota
   is exceeded. */
.aumtm-map {
  margin-top: clamp(3rem, 5vw, 4rem);
  border: 1px solid var(--aumtm-line);
  border-radius: var(--aumtm-radius);
  overflow: hidden;
  background: var(--aumtm-bg-soft);
}
.aumtm-map iframe { display: block; width: 100%; height: 420px; border: 0; }

/* ---------- Form ----------

   Every input selector below is qualified by element name for a reason. Contact
   Form 7 wraps its checkboxes in <span class="wpcf7-form-control wpcf7-checkbox">
   — matching on the class alone hands that span the same border and padding as
   a text field, and every checkbox ends up sitting inside a stray box.
   -------------------------------------------------------------------------- */
.aumtm-form {
  padding: clamp(1.75rem, 3vw, 2.5rem);
  border: 1px solid var(--aumtm-line);
  border-radius: var(--aumtm-radius);
  background: #fff;
  box-shadow: var(--aumtm-shadow);
}

.aumtm-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.aumtm-form__field { display: block; margin-bottom: 1.25rem; }
.aumtm-form__label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: var(--aumtm-fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aumtm-heading);
}
.aumtm-form__label span { color: var(--aumtm-cyan); }

.aumtm-form input.wpcf7-form-control:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.aumtm-form textarea.wpcf7-form-control,
.aumtm-form select.wpcf7-form-control,
.aumtm-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.aumtm-form textarea,
.aumtm-form select {
  width: 100%;
  padding: 0.8125rem 1rem;
  border: 1px solid var(--aumtm-line);
  border-radius: var(--aumtm-radius);
  background: #fff;
  font-size: var(--aumtm-fs-sm);
  color: var(--aumtm-heading);
  transition: border-color var(--aumtm-dur) var(--aumtm-ease),
              box-shadow var(--aumtm-dur) var(--aumtm-ease);
}
.aumtm-form input:focus,
.aumtm-form textarea:focus,
.aumtm-form select:focus {
  outline: none;
  border-color: var(--aumtm-cyan);
  box-shadow: 0 0 0 3px rgba(22, 172, 206, 0.14);
}
.aumtm-form textarea { min-height: 150px; resize: vertical; }
.aumtm-form ::placeholder { color: #B5B5B5; }

/* Consent checkbox */
.aumtm-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  font-size: var(--aumtm-fs-xs);
  line-height: 1.75;
}
.aumtm-form__consent input[type="checkbox"] {
  width: 17px; height: 17px; flex: none; margin-top: 0.3em;
  accent-color: var(--aumtm-blue);
}

.aumtm-form .aumtm-btn { width: 100%; }

.aumtm-form__note {
  margin-top: 1.125rem;
  font-size: var(--aumtm-fs-xs);
  color: var(--aumtm-text-dim);
  text-align: center;
}

@media (max-width: 980px) { .aumtm-contact__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .aumtm-form__row { grid-template-columns: 1fr; gap: 0; } }
