/* =====================
   LOGIN PAGE STYLING
===================== */
body {
  margin: 0;
  padding: 0;
  font-family: "Poppins", sans-serif;
  background: linear-gradient(135deg, #f9e0e8, #ffd6e0);
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Card Container */
.login-container {
  background: white;
  width: 400px;
  border-radius: 25px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  padding: 50px 40px;
  text-align: center;
}

/* Title */
.login-container h1 {
  color: #b03060;
  font-size: 2rem;
  margin-bottom: 5px;
}

.login-container p {
  color: #444;
  font-size: 0.9rem;
  margin-bottom: 25px;
}

.login-container a {
  color: #b03060;
  text-decoration: none;
  font-weight: 500;
}

.login-container a:hover {
  text-decoration: underline;
}

/* Input Group (Floating Label) */
.input-group {
  position: relative;
  margin-bottom: 25px;
}

.input-group input {
  width: 100%;
  padding: 15px;
  border: 2px solid #f9b2c0;
  border-radius: 15px;
  outline: none;
  font-size: 1rem;
  background: #f4f6ff;
  color: #333;
}

.input-group label {
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  color: #b03060;
  font-size: 0.95rem;
  pointer-events: none;
  transition: 0.3s ease all;
  background: #f4f6ff;
  padding: 0 5px;
}

/* Efek floating label — hanya aktif saat fokus atau saat input tidak kosong */
.input-group input:focus + label,
.input-group input:not(:placeholder-shown) + label {
  top: -10px;
  left: 10px;
  font-size: 0.8rem;
  color: #b03060;
}

/* Tombol login */
.btn-login {
  width: 100%;
  background: #b03060;
  color: #fff;
  border: none;
  padding: 15px;
  border-radius: 30px;
  font-size: 1rem;
  cursor: pointer;
  transition: 0.3s ease;
}

.btn-login:hover {
  background: #e75480;
}

/* Forgot Password */
.forgot {
  display: block;
  text-align: right;
  font-size: 0.9rem;
  color: #b03060;
  margin-bottom: 20px;
}

/* Social Login Section */
.social-text {
  color: #666;
  margin: 15px 0;
}

.social-login {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.social-login img {
  width: 40px;
  height: 40px;
  cursor: pointer;
  transition: 0.3s;
}

.social-login img:hover {
  transform: scale(1.1);
}

/* Responsif */
@media (max-width: 480px) {
  .login-container {
    width: 90%;
    padding: 30px 20px;
  }
}
