html {
  height: 100svh;
  overflow: hidden;
}
body {
  background: #ffffff;
  margin: 0;
  padding: 0;
  /* font-family: "Pretendard", sans-serif; */
  height: 100%;
}
#container {
  height: 100%;
}
.wrap {
  height: 100%;
}
.content {
  padding: 0;
  overflow: auto;
  height: 100%;
}

/* 헤더 */

/* .header-inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
} */

/* .header-lang {
  padding-right: 24px;
} */
/* 본문 */
#signIn.welcome {
  width: 100%;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.signInForm {
  width: 100%;
  max-width: 1500px;
  overflow-y: auto;
  text-align: center;
  position: inherit;
  transform: none;
  display: flex;
  justify-content: center;
  padding: 148px 0 128px 0;
}

.signInFormInner.welcome-inner {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1440px;
  width: 100%;
}
.signInFormInner {
  gap: 0;
  padding: 0;
}
.welcome-title {
  font-size: 40px !important;
  font-weight: 700 !important;
  color: #2f2f2f !important;
  letter-spacing: -0.04em;
  line-height: 150%;
  margin-bottom: 0 !important;
}

/* 카드 영역 */
.welcome-card-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  column-gap: 24px;
  row-gap: 24px;
  flex-wrap: wrap;
  background: none;
  border-radius: 0;
  width: 100%;
  padding: 148px 24px 0 24px;
  box-sizing: border-box;
}

.welcome-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  row-gap: 32px;
  background-repeat: no-repeat;
  background-position: right 16px top 16px;
  border: 1px solid #bdbdbd;
  border-radius: 40px;
  text-decoration: none;
  padding: 32px 53px 32px 53px;
  position: relative;
  transition: all 0.25s ease-in-out;
  box-shadow: none;
  overflow: hidden;
  height: 100%;
}

/* ✅ 개인 사용자용 */
.welcome-card[href="/user"],
.welcome-card[href="/en/user"],
.welcome-card[href="/ko/user"] {
  background-image: url("/images/bg/bg_user.svg");
}

/* ✅ 의료 전문가용 */
.welcome-card[href="/doctor"],
.welcome-card[href="/en/doctor"],
.welcome-card[href="/ko/doctor"] {
  background-image: url("/images/bg/bg_scope.svg");
}
/* ✅ 의료 전문가용 */
.welcome-card[href="/doctor"],
.welcome-card[href="/en/doctor"],
.welcome-card[href="/ko/doctor"] {
  background-image: url("/images/bg/bg_scope.svg");
}

/* ✅ Hover 시 공통 효과 */
.welcome-card:hover {
  background-color: #edf7f0;
  box-shadow: 0px 8px 16px 0px #00000040;
  transform: translateY(-3px);
  transition: all 0.25s ease-in-out;
}
.welcome-card[data-role="doctor"]:hover {
  background-image: url("/images/bg/bg_hover_scope.svg");
}

.welcome-card[data-role="user"]:hover {
  background-image: url("/images/bg/bg_hover_user.svg");
}
/* ===============================
   카드 내부 콘텐츠
================================= */
.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.card-header img {
  height: 48px;
  width: auto;
  display: block;
}

.card-body {
  text-align: left;
}

.card-title {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 150%;
  color: #469e63;
  margin-bottom: 16px;
}

.card-body h6 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 160%;
  color: #4f4f4f;
}

.welcome-card[href="/doctor"]::after {
  background: url("/images/icon/stethoscope.svg") no-repeat center/48px rgba(77, 174, 109, 0.1);
}

/* 홈페이지 바로가기 버튼 */
.welcome-link-wrap {
  margin-top: 120px;
  text-align: center;
}

.homepage-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-size: 16px;
  color: #469e63;
  font-weight: 700;
  transition: all 0.2s ease-in-out;
}

.homepage-link img {
  height: 16px;
}

.homepage-link:hover {
  opacity: 0.8;
}

/* ===============================
   Footer
================================= */
.footer-connect {
  background-color: #4f4f4f;
  color: #9f9f9f;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 160%;
  padding: 50px 0;
  width: 100%;
}

/* ✅ 내부 폭 제한 + 수평 배치 */
.footer-connect .footer-inner {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  max-width: 1440px;
  padding: 0px;
}

/* ✅ 왼쪽 정보 (주소, 전화번호, 개인정보처리방침) */
.footer-connect .footer-info {
  display: flex;
  align-items: center;
  gap: 48px; /* 각 항목 간 간격 */
  flex-wrap: nowrap;
  white-space: nowrap;
}

.footer-connect .footer-info h6,
.footer-connect .footer-info a {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 160%;
  color: #9f9f9f;
  text-decoration: none;
}

.footer-connect .footer-info a:hover {
  text-decoration: underline;
}

/* ✅ 오른쪽 Copyright */
.footer-connect .footer-copy {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 160%;
  color: #9f9f9f;
  white-space: nowrap;
}
@media (max-width: 1440px) {
  .footer-connect .footer-inner {
    flex-direction: column;
    row-gap: 8px;
    align-items: flex-start;
  }
  .footer-connect .footer-inner {
    padding-left: 40px;
  }
  .footer-connect .footer-info {
    gap: 8px;
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 1280px) {
  .welcome-link-wrap {
    margin-top: 50px;
  }
}
@media (max-width: 1024px) {
  .signInForm {
    padding: 148px 0 77px 0;
  }
  .welcome-card-wrap {
    padding: 57px 40px 0 40px;
  }
  .welcome-link-wrap {
    margin-top: 84px;
  }
  .welcome-card {
    width: 100%;
    height: auto;
    flex: none;
  }
  .footer-connect .footer-info {
    flex-direction: column;
    row-gap: 8px;
    align-items: flex-start;
  }
  .footer-connect .footer-info h6,
  .footer-connect .footer-info a {
    font-size: 14px;
  }
  .footer-connect .footer-copy {
    font-size: 14px;
  }
}

@media (min-height: 840px) and (min-width: 1025px) {
  .main-height {
    align-items: center;
  }
}
@media (min-height: 1020px) {
  .main-height {
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .signInForm {
    padding: 116px 0 77px 0;
  }
  .welcome-title {
    font-size: 28px !important;
    padding: 0 32px 48px 32px;
  }
  .welcome-card-wrap {
    padding: 0 16px;
  }
  .welcome-card {
    padding: 26px;
    border-radius: 20px;
    row-gap: 16px;
    background-size: 128px 128px;
  }
  .card-header img {
    height: 24px;
  }
  .card-title {
    font-size: 28px;
  }
  .card-body h6 {
    font-size: 16px;
  }
  .welcome-link-wrap {
    margin-top: 53px;
  }
  /* ✅ 오른쪽 Copyright */
  .footer-connect .footer-info h6,
  .footer-connect .footer-info a {
    font-size: 12px;
  }
  .footer-connect .footer-copy {
    font-size: 12px;
  }
  .footer-connect .footer-inner {
    padding: 0px 16px;
  }
  #signIn {
    padding: 0;
  }
}
