/* Scoped to the welcome/login layout currently published on beautyreservation.co. */
.welcome-grand {
  min-height: 100vh !important;
  min-height: 100svh !important;
  padding-bottom: 0 !important;
}

.welcome-grand .welcome-grand-copy {
  position: relative !important;
  bottom: auto !important;
  flex-shrink: 0;
  z-index: 1;
  padding-bottom: max(16px, env(safe-area-inset-bottom)) !important;
}

.welcome-grand .welcome-grand-action {
  min-height: 52px !important;
  touch-action: manipulation;
}

/* A fixed dark surface keeps text readable throughout the background film. */
.selected-film-login .atelier-login-form {
  background: rgb(16 12 16 / 92%) !important;
  border-radius: 16px !important;
  box-shadow: 0 0 0 16px rgb(16 12 16 / 92%) !important;
}

.selected-film-login .atelier-login-privacy {
  font-size: 13px !important;
  line-height: 1.85 !important;
  color: #f7f0f3 !important;
}

.selected-film-login .atelier-login-privacy a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding-inline: 0;
  font-size: inherit;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px;
  touch-action: manipulation;
}

.selected-film-login .atelier-login-privacy > span {
  text-wrap: pretty;
}

.selected-film-login .reception-login-back {
  min-height: 44px;
  font-size: 14px !important;
  text-shadow: 0 1px 5px #100c10;
}

.selected-film-login :is(a, button, input):focus-visible,
.welcome-grand .welcome-grand-action:focus-visible {
  outline: 3px solid #ffd5e5 !important;
  outline-offset: 4px;
}

@media (max-width: 360px) {
  .selected-film-login .atelier-phone-field input {
    font-size: 16px !important;
    letter-spacing: 0.04em;
  }
}

@media (max-width: 360px) and (max-height: 600px) {
  .selected-film-login {
    padding-top: 80px !important;
  }

  .selected-film-login .atelier-login-form {
    box-shadow: 0 0 0 12px rgb(16 12 16 / 92%) !important;
  }
}
