.wylm-sso { margin: 1.25rem 0; }
.wylm-sso__buttons { display: flex; flex-direction: column; gap: .75rem; }
.wylm-sso--inline .wylm-sso__buttons { flex-direction: row; flex-wrap: wrap; }
/* Colours follow Google's "light" sign-in button (fill #fff, stroke #747775, text #1f1f1f), which also
   suits Microsoft's light button. The logo keeps its own colours and sits on white, as both require. */
.wylm-sso__button {
  display: flex; align-items: center; justify-content: center; gap: .625rem; width: 100%; min-height: 40px;
  box-sizing: border-box; padding: .5rem .75rem; border: 1px solid #747775; border-radius: 4px; background: #fff;
  color: #1f1f1f; font: inherit; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none;
  cursor: pointer;
}
/* Themes often size images globally (WYLM-Theme: img[width] { width: auto }, which would show the 80px
   source at full size). The brand marks must stay 20px, so this rule wins whatever the theme says. */
.wylm-sso .wylm-sso__button .wylm-sso__icon {
  display: block; flex: 0 0 20px; width: 20px !important; height: 20px !important; max-width: none; margin: 0;
}
.wylm-sso--inline .wylm-sso__button { width: auto; }
/* Hidden fields only; the buttons submit these by id from wherever they sit. */
.wylm-sso__start { display: none; }
.wylm-sso__button:hover, .wylm-sso__button:focus { border-color: #2271b1; color: #2271b1; }
.wylm-sso__reset { margin: .75rem 0 0; font-size: .875rem; }
.wylm-sso__notice { margin: 0 0 1rem; padding: .75rem 1rem; border-left: 4px solid #72aee6; background: #fff; }
.wylm-sso__notice--error { border-left-color: #d63638; }
.wylm-sso__notice--success { border-left-color: #00a32a; }
/* Defaults only. :where() keeps them at zero specificity, so a theme's own form styles always win: on the
   portal, WYLM-Theme gives this field the look of the Gravity Forms registration form below it. */
:where(.wylm-sso-register label) { display: block; margin: 0 0 .5rem; font-weight: 700; }
:where(.wylm-sso-register .wylm-sso__required) { font-weight: 400; opacity: .7; }
:where(.wylm-sso-register select) { width: 100%; margin: 0 0 1.5rem; }
.wylm-sso__hint { margin: .75rem 0 0; font-size: .875rem; }
.wylm-sso-account__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem 0; }

