/* ================================================
   BASIC RESET
   This removes default spacing that browsers add
   ================================================ */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ================================================
   PAGE BODY
   ================================================ */
body {
  font-family: Arial, sans-serif;
  background-color: #f0f4ff;
  color: #222;
}

/* ================================================
   NAVBAR
   ================================================ */
.navbar {
  display: flex;
  justify-content: space-between; /* logo on left, button on right */
  align-items: center;
  background-color: #2d4af0;      /* solid blue */
  padding: 16px 32px;
}

.logo {
  font-size: 22px;
  font-weight: bold;
  color: #ffffff;
}

/* Login button in the navbar */
.btn-login {
  background-color: #ffffff;
  color: #2d4af0;
  padding: 10px 22px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: bold;
  cursor: pointer;           /* hand cursor on hover */
  text-decoration: none;
}

.btn-login:hover {
  background-color: #e0e8ff;
}

/* ================================================
   HERO SECTION (main content)
   ================================================ */
.hero {
  text-align: center;
  padding: 100px 20px;
}

.hero h1 {
  font-size: 48px;
  color: #2d4af0;
  margin-bottom: 16px;
}

.hero p {
  font-size: 20px;
  color: #555;
  margin-bottom: 32px;
}

/* "Get Started" button */
.btn-hero {
  background-color: #2d4af0;
  color: #ffffff;
  padding: 14px 32px;
  border-radius: 8px;
  font-size: 17px;
  font-weight: bold;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}

.btn-hero:hover {
  background-color: #1a35c7;
}

/* ================================================
   HIDDEN CHECKBOX TRICK
   We hide the actual checkbox — it just acts as
   a toggle switch behind the scenes.
   ================================================ */
#popup-toggle {
  display: none;
}

/* ================================================
   OVERLAY (dark background behind the popup)
   By default: hidden (display: none)
   When checkbox is checked: visible (display: flex)
   ================================================ */
.overlay {
  display: none;             /* hidden by default */
  position: fixed;           /* covers the whole screen */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;              /* on top of everything */
  justify-content: center;
  align-items: center;
}

/* When the checkbox is checked → show the overlay */
#popup-toggle:checked ~ .overlay {
  display: flex;
}

/* The dark semi-transparent background */
.overlay-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.55); /* dark, slightly see-through */
  cursor: pointer;
}

/* ================================================
   POPUP CARD
   ================================================ */
.popup {
  position: relative;         /* so close button is positioned inside it */
  background-color: #ffffff;
  padding: 40px 36px;
  border-radius: 12px;
  width: 100%;
  max-width: 420px;
  z-index: 101;               /* above the dark overlay background */
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}

.popup h2 {
  font-size: 26px;
  color: #2d4af0;
  margin-bottom: 6px;
}

.subtitle {
  color: #777;
  font-size: 14px;
  margin-bottom: 24px;
}

/* ================================================
   CLOSE (X) BUTTON
   ================================================ */
.close-btn {
  position: absolute;
  top: 14px;
  right: 18px;
  font-size: 26px;
  color: #aaa;
  cursor: pointer;
  font-weight: bold;
  line-height: 1;
}

.close-btn:hover {
  color: #333;
}

/* ================================================
   FORM FIELDS
   ================================================ */
.field {
  margin-bottom: 18px;
}

.field label {
  display: block;             /* label on its own line */
  font-size: 14px;
  font-weight: bold;
  color: #333;
  margin-bottom: 6px;
}

.field input {
  width: 100%;
  padding: 11px 14px;
  border: 2px solid #ddd;
  border-radius: 6px;
  font-size: 15px;
  color: #222;
  background-color: #f9f9ff;
  outline: none;
}

/* Highlight border when user clicks on input */
.field input:focus {
  border-color: #2d4af0;
  background-color: #fff;
}

/* ================================================
   REMEMBER ME + FORGOT PASSWORD ROW
   ================================================ */
.remember-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
  font-size: 14px;
}

.remember {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #444;
  cursor: pointer;
}

.forgot {
  color: #2d4af0;
  text-decoration: none;
}

.forgot:hover {
  text-decoration: underline;
}

/* ================================================
   SUBMIT BUTTON
   ================================================ */
.btn-submit {
  width: 100%;
  padding: 13px;
  background-color: #2d4af0;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  margin-bottom: 20px;
}

.btn-submit:hover {
  background-color: #1a35c7;
}

/* ================================================
   SIGN UP LINK at the bottom
   ================================================ */
.signup-text {
  text-align: center;
  font-size: 14px;
  color: #555;
}

.signup-text a {
  color: #2d4af0;
  font-weight: bold;
  text-decoration: none;
}

.signup-text a:hover {
  text-decoration: underline;
}
