/* ============================================================
   Auth — Login Modal + Profile Dropdown
   ============================================================ */

/* ── Login Modal ── */
#login-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-standard);
}

#login-modal.login-modal--open {
  opacity: 1;
  visibility: visible;
}

.login-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.login-modal__content {
  position: relative;
  width: 90%;
  max-width: 400px;
  padding: var(--space-2xl);
  text-align: center;
  z-index: 1;
  transform: translateY(16px);
  transition: transform var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-decelerate);
}

.login-modal--open .login-modal__content {
  transform: translateY(0);
}

.login-modal__close {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--md-sys-shape-full);
  color: var(--md-sys-color-on-surface-variant);
  transition: background var(--md-sys-motion-duration-short);
}

.login-modal__close:hover {
  background: var(--md-sys-color-surface-variant);
}

.login-modal__header {
  margin-bottom: var(--space-xl);
}

.login-modal__header img {
  margin: 0 auto var(--space-md);
}

.login-modal__header h2 {
  font: var(--md-sys-typescale-headline-small);
  margin-bottom: var(--space-xs);
}

.login-modal__header p {
  font: var(--md-sys-typescale-body-medium);
  color: var(--md-sys-color-on-surface-variant);
}

/* ── OAuth Buttons ── */
.login-modal__buttons {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}

.login-modal__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 14px var(--space-lg);
  font: var(--md-sys-typescale-label-large);
  font-size: 1rem;
  border-radius: var(--md-sys-shape-sm);
  border: 1px solid var(--md-sys-color-outline-variant);
  cursor: pointer;
  transition: all var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
}

.login-modal__btn--kakao {
  background: #FEE500;
  color: #3C1E1E;
  border-color: #FEE500;
}

.login-modal__btn--kakao:hover {
  background: #F5DC00;
  box-shadow: var(--md-sys-elevation-1);
}

.login-modal__btn--google {
  background: var(--knvf-white);
  color: var(--md-sys-color-on-surface);
}

.login-modal__btn--google:hover {
  background: var(--md-sys-color-surface-variant);
  box-shadow: var(--md-sys-elevation-1);
}

.login-modal__footer {
  font: var(--md-sys-typescale-body-small);
  color: var(--md-sys-color-on-surface-variant);
}

.login-modal__footer a {
  color: var(--md-sys-color-primary);
  text-decoration: underline;
}

/* ── Profile Dropdown ── */
.profile-dropdown {
  position: relative;
}

.profile-avatar {
  width: 36px;
  height: 36px;
  border-radius: var(--md-sys-shape-full);
  background: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-primary);
  font: var(--md-sys-typescale-label-large);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: box-shadow var(--md-sys-motion-duration-short);
}

.profile-avatar:hover {
  box-shadow: var(--md-sys-elevation-2);
}

.profile-dropdown__menu {
  position: absolute;
  top: calc(100% + var(--space-sm));
  right: 0;
  min-width: 200px;
  background: var(--knvf-white);
  border-radius: var(--md-sys-shape-md);
  box-shadow: var(--md-sys-elevation-3);
  padding: var(--space-sm) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-standard);
  z-index: var(--z-dropdown);
}

.profile-dropdown__menu--open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.profile-dropdown__info {
  padding: var(--space-sm) var(--space-lg);
}

.profile-dropdown__info strong {
  display: block;
  font: var(--md-sys-typescale-title-small);
}

.profile-dropdown__info span {
  font: var(--md-sys-typescale-body-small);
  color: var(--md-sys-color-on-surface-variant);
}

.profile-dropdown__item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-lg);
  font: var(--md-sys-typescale-body-medium);
  color: var(--md-sys-color-on-surface);
  width: 100%;
  text-align: left;
  transition: background var(--md-sys-motion-duration-short);
}

.profile-dropdown__item:hover {
  background: var(--md-sys-color-surface-variant);
}

.profile-dropdown__item .material-symbols-outlined {
  font-size: 20px;
  color: var(--md-sys-color-on-surface-variant);
}
