/* XM3 Booking – form. Uses the theme's own font and colours. */
.xm3b { max-width: 560px; }
.xm3b-intro { margin-bottom: 1.5em; }
.xm3b-field { margin: 0 0 1.2em; }
.xm3b fieldset { border: 0; padding: 0; min-width: 0; }
.xm3b-field > label,
.xm3b legend { display: block; font-weight: 600; margin-bottom: 0.3em; padding: 0; }
.xm3b-opt { font-weight: 400; opacity: 0.6; }
.xm3b input[type=text],
.xm3b input[type=email],
.xm3b input[type=tel],
.xm3b input[type=date],
.xm3b select,
.xm3b textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.55em 0.7em;
  font: inherit;
  color: inherit;
  background: transparent;
  border: 1px solid rgba(127, 127, 127, 0.55);
  border-radius: 3px;
}
.xm3b select option, .xm3b select optgroup { color: #111; background: #fff; }
.xm3b input:focus, .xm3b select:focus, .xm3b textarea:focus { outline: 2px solid currentColor; outline-offset: 1px; }
.xm3b-choices label,
.xm3b-check label { display: block; font-weight: 400; margin: 0.25em 0; cursor: pointer; }
.xm3b-choices input, .xm3b-check input { margin-right: 0.45em; }
.xm3b-help { font-size: 0.85em; opacity: 0.7; margin: 0.3em 0 0; }
.xm3b-error { color: #b3261e; font-size: 0.9em; margin: 0.35em 0 0; }
.xm3b .has-error input, .xm3b .has-error select { border-color: #b3261e; }
.xm3b-alert { border-left: 3px solid #b3261e; padding: 0.6em 0.9em; margin-bottom: 1.4em; }
.xm3b-success { border-left: 3px solid currentColor; padding: 0.6em 1em; }
.xm3b-notice { border-left: 3px solid rgba(127, 127, 127, 0.55); padding: 0.6em 1em; }
.xm3b-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.xm3b-submit {
  font: inherit;
  padding: 0.7em 1.5em;
  background: #000;
  color: #fff;
  border: 1px solid #000;
  border-radius: 3px;
  cursor: pointer;
}
.xm3b-submit:hover, .xm3b-submit:focus { background: #333; border-color: #333; }
.xm3b-privacy { font-size: 0.85em; opacity: 0.75; }
.xm3b-own { margin: 0.4em 0 0 1.6em; }
.xm3b-own label { display: block; font-size: 0.9em; margin-bottom: 0.25em; }
.xm3b-inline label { display: inline-block; margin-right: 1.4em; }
.xm3b-version { font-size: 0.75em; opacity: 0.4; margin-top: 2em; }
