/* V214 — micro UI alignment + compact form controls */
body.site-final .button,
body.site-final button.button,
body.site-final a.button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.15!important;
  vertical-align:middle!important;
}
body.site-final .button > *,
body.site-final button > *{vertical-align:middle}

/* Choice controls: text sits optically in the centre, including two-line labels. */
body.site-final .contact-preference-v111 span,
body.site-final #quiz .quiz-contact-method-v159 span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.18!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body.site-final .contact-preference-v111 label,
body.site-final #quiz .quiz-contact-method-v159 label{min-width:0!important}

/* Lead modal: all controls use the same vertical rhythm. */
body.site-final .modal-dialog form[data-lead-form] input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
body.site-final .modal-dialog form[data-lead-form] textarea,
body.site-final .modal-dialog .phone-control-v210,
body.site-final .modal-dialog .lead-extra-v80 summary{
  box-sizing:border-box!important;
}
body.site-final .modal-dialog .lead-extra-v80 summary{
  display:flex!important;
  align-items:center!important;
  line-height:1.2!important;
}
body.site-final .modal-dialog [data-lead-submit]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.1!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body.site-final .modal-dialog .lead-success-action-v212,
body.site-final .modal-dialog .lead-success-close-v212{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.1!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

/* Quiz controls and tabs use the same optical centring. */
body.site-final #quiz .quiz-actions .button,
body.site-final .proof-tabs-v180 button,
body.site-final .process-mobile-arrow-v199{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.1!important;
}

/* Avoid tiny baseline shifts caused by pseudo arrows/icons. */
body.site-final .button::after{align-self:center!important}

@media (min-width:769px){
  body.site-final .modal-dialog .contact-preference-v111 span{min-height:40px!important}
}
@media (max-width:768px){
  body.site-final .modal-dialog .contact-preference-v111 span{min-height:42px!important}
  body.site-final .modal-dialog [data-lead-submit]{min-height:50px!important}
}
