/* Shared customer login only. Profile, payment and administrator forms are untouched. */
.journey-dialog.soul-login-layout {
  width: min(496px, calc(100vw - 24px));
  max-height: calc(100dvh - 28px);
  padding: 36px 36px 28px;
  border: 1px solid #bda571;
  border-radius: 25px;
  background: #10232d;
  color: #f5f2e9;
  box-shadow: 0 30px 100px #0009;
  scrollbar-gutter: stable;
}
.journey-dialog.soul-login-layout .login-layout-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 248px;
  max-width: calc(100% - 20px);
  box-sizing: border-box;
  margin: 4px auto 24px;
  padding: 15px 22px;
  border-radius: 13px;
  background: #fbf8f0;
}
.journey-dialog.soul-login-layout .login-layout-brand img {
  display: block;
  width: 100%;
  height: auto;
}
.journey-dialog.soul-login-layout h2 {
  margin: 0 10px 8px;
  font-size: 27px;
  line-height: 1.45;
  color: #f0dbab;
  text-align: center;
  letter-spacing: .02em;
}
.journey-dialog.soul-login-layout .journey-login-intro {
  margin: 0 0 22px;
  color: #c7d1d5;
  font-size: 14px;
}
.journey-dialog.soul-login-layout .journey-close {
  top: 10px;
  right: 10px;
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 50%;
  color: #ecdfbf;
}
.journey-dialog.soul-login-layout .journey-close:hover { background: #ffffff0b; }
.journey-dialog.soul-login-layout .journey-options.auth-choice {
  display: block;
  margin: 22px 0 0;
}
.journey-dialog.soul-login-layout .journey-options.auth-choice .journey-auth-choice--google {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 56px;
  padding: 14px 22px;
  border: 1px solid #f5f4ef;
  border-radius: 999px;
  background: #fff;
  color: #1e303a;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
.journey-dialog.soul-login-layout .journey-options.auth-choice .journey-auth-choice--google .journey-choice-icon {
  width: 24px;
  height: 24px;
}
.journey-dialog.soul-login-layout [data-j-action="email"][hidden] { display: none !important; }
.journey-dialog.soul-login-layout .login-layout-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 24px 0 20px;
  color: #aebfc7;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
}
.journey-dialog.soul-login-layout .login-layout-divider::before,
.journey-dialog.soul-login-layout .login-layout-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e8d4a52e;
}
.journey-dialog.soul-login-layout form {
  display: grid;
  gap: 17px;
  margin-top: 22px;
}
.journey-dialog.soul-login-layout .login-layout-email-first { margin-top: 0; }
.journey-dialog.soul-login-layout label {
  display: grid;
  gap: 9px;
  color: #e7e7df;
  font-size: 14px;
  line-height: 1.5;
}
.journey-dialog.soul-login-layout input {
  min-height: 54px;
  padding: 14px 16px;
  border: 1px solid #6e838d;
  border-radius: 12px;
  background: #0b1c25;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
  caret-color: #f0dbab;
}
.journey-dialog.soul-login-layout input::placeholder { color: #9eafb8; opacity: 1; }
.journey-dialog.soul-login-layout [data-login-continue],
.journey-dialog.soul-login-layout [data-j-form="login"] > button {
  width: 100%;
  min-height: 54px;
  padding: 14px 20px;
  border: 1px solid #e8d4a5;
  border-radius: 999px;
  background: #e8d4a5;
  color: #142530;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.5;
}
.journey-dialog.soul-login-layout [data-login-continue]:hover:not(:disabled),
.journey-dialog.soul-login-layout [data-j-form="login"] > button:hover:not(:disabled) { background: #f4e3ba; }
.journey-dialog.soul-login-layout button:disabled { opacity: .5; cursor: not-allowed; }
.journey-dialog.soul-login-layout .login-layout-email-note,
.journey-dialog.soul-login-layout .auth-choice-note {
  margin: 16px 0 0;
  color: #b9c9d0;
  font-size: 12px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.journey-dialog.soul-login-layout [data-auth-note="status"] { margin-top: 12px; }
.journey-dialog.soul-login-layout .auth-choice-retry { min-height: 44px; }
.journey-dialog.soul-login-layout .journey-email-actions { margin-top: 12px; }
.journey-dialog.soul-login-layout .journey-email-actions [data-j-action="choice"] {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #eddbb1;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.journey-dialog.soul-login-layout .journey-preview {
  width: min(100%, 300px);
  margin: 20px auto 14px;
}
.journey-dialog.soul-login-layout .journey-preview + p { color: #cfdbdf; }
.journey-dialog.soul-login-layout .journey-message { margin: 15px 0; }
.journey-dialog.soul-login-layout :focus-visible { outline: 3px solid #ffe3a0; outline-offset: 4px; }
@media (max-width: 480px) {
  .journey-dialog.soul-login-layout { padding: 32px 22px 24px; border-radius: 21px; }
  .journey-dialog.soul-login-layout .login-layout-brand { width: 226px; padding: 14px 20px; margin-bottom: 21px; }
  .journey-dialog.soul-login-layout h2 { font-size: 24px; }
  .journey-dialog.soul-login-layout .journey-options.auth-choice .journey-auth-choice--google { padding: 14px 17px; font-size: 15px; }
}
@media (max-width: 350px) {
  .journey-dialog.soul-login-layout { padding-right: 16px; padding-left: 16px; }
  .journey-dialog.soul-login-layout .login-layout-brand { width: 204px; }
  .journey-dialog.soul-login-layout h2 { font-size: 22px; }
}
