/* =========================================
   BuddyPlanner v2 — Login & Onboarding
   ========================================= */

/* ── Login Screen ── */
.login-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: var(--sp-6);
  background: var(--bg-app);
}

.login-logo {
  text-align: center;
  margin-bottom: var(--sp-12);
}
.login-logo svg {
  width: 80px;
  height: 80px;
  margin-bottom: var(--sp-4);
}
.login-title {
  font-size: var(--fs-3xl);
  font-weight: var(--fw-extrabold);
  color: var(--text-100);
  letter-spacing: var(--ls-tight);
}
.login-subtitle {
  font-size: var(--fs-base);
  color: var(--text-400);
  margin-top: var(--sp-2);
}

.login-actions {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}

.btn-social {
  width: 100%;
  height: 56px;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  gap: var(--sp-3);
  transition: all var(--dur-fast);
  cursor: pointer;
  border: none;
}
.btn-social:active {
  transform: scale(0.98);
}

.btn-google {
  background: #ffffff;
  color: #3c4043;
  border: 1px solid #dadce0;
  box-shadow: var(--shadow-sm);
}
.btn-google:hover {
  background: #f8f9fa;
  border-color: #d2e3fc;
}

.btn-kakao {
  background: #FEE500;
  color: #000000;
}
.btn-kakao:hover {
  background: #F4DC00;
}


/* ── Onboarding Screen ── */
.onboarding-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: var(--sp-6) var(--sp-5);
  background: var(--bg-app);
}

.ob-header {
  margin-bottom: var(--sp-6);
  padding-top: var(--sp-4);
}
.ob-title {
  font-size: var(--fs-2xl);
  font-weight: var(--fw-extrabold);
  color: var(--text-100);
  margin-bottom: var(--sp-2);
}
.ob-desc {
  font-size: var(--fs-sm);
  color: var(--text-400);
}

.ob-section {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-radius: var(--r-xl);
  padding: var(--sp-5);
  margin-bottom: var(--sp-4);
  box-shadow: var(--shadow-sm);
}
.ob-section-title {
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  color: var(--text-200);
  margin-bottom: var(--sp-4);
}

/* Font Selection */
.font-options, .size-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-2);
}
.ob-pill {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-input);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-md);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--text-400);
  cursor: pointer;
  transition: all var(--dur-fast);
}
.ob-pill:hover {
  background: var(--bg-input-hover);
}
.ob-pill.on {
  background: var(--accent-dim);
  border-color: var(--border-accent);
  color: var(--accent);
  font-weight: var(--fw-bold);
}

/* Address Input */
.ob-input-group {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.ob-input-row {
  display: flex;
  align-items: center;
  background: var(--bg-input);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-md);
  padding: 0 var(--sp-3);
  height: 52px;
}
.ob-input-row:focus-within {
  border-color: var(--accent);
  background: var(--bg-app);
}
.ob-input-icon {
  font-size: 1.2rem;
  margin-right: var(--sp-2);
}
.ob-input-row input {
  flex: 1;
  height: 100%;
  font-size: var(--fs-base);
  color: var(--text-100);
}
.ob-input-row input::placeholder {
  color: var(--text-500);
}

.ob-footer {
  margin-top: auto;
  padding: var(--sp-5) 0;
}
.btn-primary {
  width: 100%;
  height: 56px;
  border-radius: var(--r-md);
  background: var(--accent);
  color: #fff;
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  border: none;
  cursor: pointer;
  box-shadow: var(--shadow-md);
  transition: transform var(--dur-fast);
}
.btn-primary:active {
  transform: scale(0.98);
}
