@import url('../colors.css');

/* ---------- Theme (white UI, dark text) ---------- */
:root{
  --surface: #ffffff;
  --surface-subtle: #f6f9fb;
  --surface-line: #e6edf2;
  --text: #111827;            /* near-black */
  --text-muted: #4b5563;
  --border: #dbe7ee;
  --focus: #7da7b2;           /* brand teal */
}

/* ---------- Global ---------- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Kumbh Sans', sans-serif;
  scrollbar-width: thin;
  scrollbar-color: var(--focus) var(--surface);
}

html, body {
  scroll-padding-top: 90px;
  scroll-behavior: smooth;
  height: 100%;
  overflow-x: hidden;
  background: var(--surface);
  color: var(--text);
}

a { color: var(--text); text-decoration: none; }
a:hover { text-decoration: underline; }

.longbar {
  width: 100%;
  height: 1px;
  background: var(--surface-line);
  display: block;
}

#main { min-height: 100vh; display: flex; flex-direction: column; }

/* ---------- Navbar ---------- */
.navbar {
  background: var(--surface);
  height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.05rem;
  position: sticky;
  top: 0;
  z-index: 999;
  border-bottom: 1px solid var(--surface-line);
}

.navbar-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 90px;
  width: 100%;
  max-width: 1300px;
  margin-inline: auto;
  padding-inline: 24px;
}

#navbar-logo { display: flex; align-items: center; }

.logo {
  font-size: 1.9rem;
  font-weight: 800;
  background-image: var(--grad-txt);
  background-size: 100%;
  -webkit-background-clip: text; -moz-background-clip: text;
  -webkit-text-fill-color: transparent; -moz-text-fill-color: transparent;
  transition: transform .2s ease, filter .2s ease;
}
.logo:hover { transform: scale(1.05); filter: brightness(1.1); }

.navbar-menu-center,
.navbar-menu-right {
  display: flex;
  align-items: center;
  list-style: none;
  gap: .5rem;
}

.navbar-item { height: auto; width: auto; }

.navbar-links {
  color: var(--text);
  display: inline-flex;
  align-items: center;
  padding: .5rem .75rem;
  border-radius: 8px;
  transition: background .2s ease, transform .2s ease;
}
.navbar-links:hover { background: var(--surface-subtle); transform: translateY(-1px); }

.navbar-item-btn { display: flex; align-items: center; margin-left: .5rem; }

.navbar-btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .95rem; font-weight: 700;
  background-image: var(--grad-btn);
  color: #fff; padding: 10px 16px;
  border-radius: 10px;
  outline: 1px solid rgba(0,0,0,.06);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.navbar-btn:hover { filter: brightness(1.08); box-shadow: 0 8px 22px rgba(0,0,0,.15); transform: translateY(-1px); }

/* Mobile */
.navbar-toggle { display: none; background: transparent; border: 0; }
.navbar-toggle .bar {
  width: 25px; height: 3px; margin: 5px; background: var(--text);
  transition: transform .1s ease, opacity .1s ease;
}

@media (max-width: 960px) {
  .navbar-toggle { display: block; }
  .navbar-menu-center {
    position: absolute; left: 0; right: 0;
    top: -1000px; transition: top .35s ease;
    background: var(--surface);
    border-bottom: 1px solid var(--surface-line);
    flex-direction: column; gap: 0;
    padding: .5rem 0;
    z-index: 99;
  }
  .navbar-menu-center.active { top: 90px; }
  .navbar-menu-right { gap: .25rem; }
  #mobile-menu.is-active .bar:nth-child(2){ opacity: 0; }
  #mobile-menu.is-active .bar:nth-child(1){ transform: translateY(8px) rotate(45deg); }
  #mobile-menu.is-active .bar:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }
}

/* ---------- Title ---------- */
.title { background: var(--surface); }
.title-container {
  max-width: 900px;
  margin: 0 auto;
  padding: 28px 16px 8px;
  text-align: center;
}
.title-container h1 {
  font-size: clamp(28px, 4vw, 40px);
  background-image: var(--grad-txt);
  -webkit-background-clip: text; -moz-background-clip: text;
  -webkit-text-fill-color: transparent; -moz-text-fill-color: transparent;
}
.title-container p {
  margin-top: 10px;
  font-size: clamp(16px, 2.2vw, 20px);
  color: var(--text-muted);
}

/* ---------- Login ---------- */
.login { width: 100%; }
.login-container{
  display:flex;
  justify-content: center;
  padding: 28px 16px 48px;
  background: var(--surface);
}

.login-info{
  width: 100%;
  max-width: 920px;
  background: var(--surface);
  border: 1px solid var(--surface-line);
  box-shadow: 0 10px 30px rgba(17,24,39,0.07);
  border-radius: 14px;
  padding: 28px 18px 34px;
  text-align: center;
}

.login-text { margin: 6px 10px 22px; }
.login-text h2 {
  font-size: clamp(24px, 3.5vw, 34px);
  margin-bottom: 8px;
  background-image: var(--grad-txt);
  -webkit-background-clip: text; -moz-background-clip: text;
  -webkit-text-fill-color: transparent; -moz-text-fill-color: transparent;
}
.login-text p { font-size: 18px; color: var(--text-muted); }

/* Form card */
.login-info form {
  margin: 0 auto;
  width: min(680px, 95%);
  background: var(--surface-subtle);
  border: 1px solid var(--surface-line);
  box-shadow: 0 6px 20px rgba(17,24,39,0.06);
  border-radius: 12px;
  padding: 20px 16px 22px;
  text-align: left;
}

.form-header { display: flex; justify-content: center; }
.card {
  display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; justify-content: center;
  background: var(--surface); border: 1px solid var(--surface-line);
  border-radius: 12px; padding: 12px 14px; width: 100%;
}

.card .title2 { font-size: 16px; color: var(--text); font-weight: 700; }

.radio-buttons { display: flex; gap: 16px; flex-wrap: wrap; }
.card .radio-buttons label {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 600; color: var(--text);
  cursor: pointer;
}
.card .radio-buttons .input-radio {
  width: 18px; height: 18px; accent-color: var(--focus); cursor: pointer; border-radius: 50%;
}

/* Inputs */
.formLabel{
  font-size: 0.9rem; font-weight: 700; color: var(--text);
  display: block; margin: 16px 6px 8px;
}

.login-info form .formInput {
  display: block;
  height: 48px;
  width: 100%;
  background-color: var(--surface);
  border-radius: 10px;
  border: 1px solid var(--border);
  padding: 0 12px;
  font-size: 15px;
  margin: 0 0 12px 0;
  color: var(--text);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.login-info form .formInput::placeholder { color: #6b7280; }
.login-info form .formInput:focus{
  outline: none;
  border-color: var(--focus);
  box-shadow: 0 0 0 3px rgba(125,167,178,.30);
}

/* Forgot password */
.fp-row { display: flex; justify-content: flex-end; }
.login-info a.fp{
  color: var(--text);
  font-weight: 700;
  font-size: .9rem;
  text-underline-offset: 3px;
}
.login-info a.fp:hover{ text-decoration: underline; }

/* Button */
.formBtn { display: flex; justify-content: center; margin-top: 12px; }
form .login-btn{
  font-size: 16px;
  font-weight: bold;
  background-image: var(--grad-btn);
  padding: 12px 26px;
  border: none;
  border-radius: 12px;
  color: #fff;
  outline: 1px solid rgba(0,0,0,.06);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
form .login-btn:hover { filter: brightness(1.08); box-shadow: 0 10px 28px rgba(17,24,39,.18); transform: translateY(-1px); }

/* Helper links */
.form-txt1{
  display: flex; justify-content: center; align-items: center; gap: 6px;
  width: 100%; margin: 18px 0 26px; font-size: .95rem;
}
.form-txt1 p{ color: var(--text-muted); margin: 0; }
.form-txt1 a{ color: var(--text); font-weight: 700; }
.form-txt1 a:hover{ text-decoration: underline; }

.form-txt2 {
  margin: 6px 0 10px;
  width: 100%;
  text-align: center;
  font-size: 0.95rem;
  color: var(--text-muted);
}

/* Social login */
.login-social-media{
  display: flex; justify-content: center; gap: 14px; flex-wrap: wrap;
  width: 100%; margin: 6px 0 2px;
}
.login-social-media a{
  width: 46px; height: 46px; font-size: 1.5rem;
  color: var(--text);
  background: var(--surface);
  display: inline-flex; justify-content: center; align-items: center;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease, border-color .2s ease;
  border-radius: 50%;
  border: 1px solid var(--border);
}
.login-social-media a:hover{
  background: var(--surface-subtle);
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(17,24,39,.08);
}

/* ---------- Footer ---------- */
footer {
  text-align: center;
  padding: 1.25rem 0;
  background: var(--surface);
  border-top: 1px solid var(--surface-line);
}
footer p { color: var(--text); }

/* ---------- Responsive tweaks ---------- */
@media(max-width: 640px){
  .login-info form { padding: 16px 12px 18px; }
  .card { justify-content: flex-start; }
}
