/* ================= LOGIN PAGE PREMIUM ================= */
*{
  box-sizing:border-box;
}

html{
  overflow-x:hidden;
}

body {
  margin: 0;
  font-family: "Poppins", sans-serif;

  min-height: 100vh;

  display: flex;
  justify-content: center;
  align-items: center;

  padding: 20px;

  background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.65)),
    url("images/Hero-imggg.jpg");

  background-size:cover;
  background-position: center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  overflow-x: hidden;

  position: relative;
}

html,
body{
  overflow-x:hidden;
  width:100%;
}

/* OVERLAY PREMIUM */

body::before {
  content: '';
  position: fixed;
  inset: 0;

  background:
  linear-gradient(
    135deg,
    rgba(1,98,136,0.88),
    rgba(0,71,99,0.82),
    rgba(13,28,34,0.92)
  );

  z-index: 0;
}

/* BLUR LIGHTS */

body::after {
  pointer-events:none;
  content: '';
  position: absolute;

  width: 350px;
  height: 350px;

  background: rgba(255,204,0,0.15);

  border-radius: 50%;
  filter: blur(100px);

  top: -100px;
  right: -60px;

  z-index: 0;
}

body::before,
body::after{
  max-width:100%;
}

/* ================= LOGIN CONTAINER ================= */

.login-container {
  position: relative;
  z-index: 2;

  width: min(100%, 430px);

  padding: 45px;

  border-radius: 28px;

  overflow: hidden;

  background: rgba(255,255,255,0.08);

  backdrop-filter: blur(24px);

  border: 1px solid rgba(255,255,255,0.12);

  box-shadow:
    0 20px 60px rgba(0,0,0,0.35),
    inset 0 1px 1px rgba(255,255,255,0.05);

  animation: fadeIn 0.7s ease;
}

/* LIGHT BORDER EFFECT */

.login-container::before {
  content: '';

  position: absolute;
  inset: 0;

  border-radius: 28px;

  border: 1px solid rgba(255,255,255,0.12);

  background:
  linear-gradient(
    135deg,
    rgba(255,255,255,0.08),
    rgba(255,204,0,0.05),
    transparent
  );

  pointer-events: none;
}
/* ================= TITLE ================= */

.login-container h2 {
  text-align: center;

  font-size: 2rem;
  font-weight: 700;

  margin-bottom: 10px;

  color: white;
}

.login-subtitle {
  text-align: center;

  color: rgba(255,255,255,0.7);

  margin-bottom: 2rem;

  font-size: 0.95rem;
}

/* ================= GOOGLE BUTTON ================= */

#googleLoginBtn {
  width: 100%;

  padding: 14px 18px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  border-radius: 14px;

  border: 1px solid rgba(255,255,255,0.15);

  background: rgba(255,255,255,0.08);

  backdrop-filter: blur(10px);

  color: white;

  font-size: 0.95rem;
  font-weight: 500;

  cursor: pointer;

  transition: 0.4s ease;

  margin-bottom: 1.5rem;
}

#googleLoginBtn:hover {
  transform: translateY(-4px);

  background: rgba(255,255,255,0.12);

  border-color: rgba(255,204,0,0.35);

  box-shadow: 0 12px 30px rgba(0,0,0,0.2);
}

#googleLoginBtn img {
  width: 20px;
}

/* ================= DIVIDER ================= */

.login-divider {
  position: relative;

  text-align: center;

  margin: 1.5rem 0;

  color: rgba(255,255,255,0.55);

  font-size: 0.85rem;
}

.login-divider::before,
.login-divider::after {
  content: '';

  position: absolute;
  top: 50%;

  width: 40%;
  height: 1px;

  background: rgba(255,255,255,0.12);
}

.login-divider::before {
  left: 0;
}

.login-divider::after {
  right: 0;
}

/* ================= FORM ================= */

form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* ================= INPUT GROUP ================= */

.input-group {
  position: relative;
}

/* ================= INPUTS ================= */

form input {
  display:block;
  box-sizing:border-box;
  width: 100%;

  padding: 16px 0px;

  border-radius: 14px;

  border: 1px solid rgba(255,255,255,0.12);

  background: rgba(255,255,255,0.06);

  color: white;

  font-size: 0.95rem;

  outline: none;

  transition: 0.35s ease;
}

form input::placeholder {
  padding-left: 10px;
  color: rgba(255,255,255,0.45);
}

form input:focus {
  border-color: rgba(255,204,0,0.65);

  background: rgba(255,255,255,0.09);

  box-shadow:
  0 0 0 4px rgba(255,204,0,0.12),
  0 10px 25px rgba(0,0,0,0.15);
}

/* ================= LOGIN BUTTON ================= */

form button {
  margin-top: 10px;

  padding: 15px;

  border: none;
  border-radius: 14px;

  background: #ffcc00;

  color: #111;

  font-weight: 700;
  font-size: 1rem;

  cursor: pointer;

  transition: 0.4s ease;

  box-shadow: 0 10px 30px rgba(255,204,0,0.3);
}

form button:hover {
  transform: translateY(-4px);

  box-shadow: 0 18px 40px rgba(255,204,0,0.4);
}

/* ================= FOOTER ================= */

.login-footer {
  margin-top: 1.8rem;

  text-align: center;

  color: rgba(255,255,255,0.7);

  font-size: 0.9rem;
}

.login-footer a {
  color: #ffcc00;

  text-decoration: none;

  font-weight: 600;
}

.login-footer a:hover {
  text-decoration: underline;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 768px) {

form input {
  padding: 14px 0px;
}

.login-container {
  padding: 35px;
}

.login-container h2 {
  font-size: 1.8rem;
}

}

@media (max-width: 480px) {

body {
  padding: 15px;
}

.login-container {
  padding: 28px 22px;
  border-radius: 22px;
}

.login-container h2 {
  font-size: 1.6rem;
}

form input,
form button,
#googleLoginBtn {
  padding: 14px;
}

form input {
  padding: 14px 0px;
}

}

@media (max-width: 360px) {

  form input {
  padding: 14px 0px;
}
.login-container {
  padding: 22px 18px;
}

.login-container h2 {
  font-size: 1.4rem;
}

}

/* ================= ANIMATION ================= */

@keyframes fadeIn {

from {
  opacity: 0;
  transform: translateY(20px);
}

to {
  opacity: 1;
  transform: translateY(0);
}

}