/* ===== Everjoy Login Page (scoped, modern, matches brand) ===== */
html, body { background:#f7f8fb; }

/* 1200px max width container to match site */
.ej-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

/* Card shell (matches vendors/venues cards vibe) */
.ej-card{
  background:#fff;
  border:1px solid #e6edf7;
  border-radius:20px;
  box-shadow:0 20px 56px rgba(6,44,92,.10);
  padding:24px;
}

/* Inputs (match hero/search inputs) */
.ej-input{
  width:100%;
  height:44px;
  border-radius:12px;
  border:1px solid #e6edf7;
  background:#fff;
  padding:0 12px;
  font:500 14px/1.2 Poppins, system-ui;
  color:#0f172a;
  outline:none;
  transition:box-shadow .15s ease, border-color .15s ease;
}
.ej-input:focus{
  border-color:#93c5fd;
  box-shadow:0 0 0 3px #dbeafe;
}

/* Primary button (consistent with header login button) */
.ej-primary-btn{
  appearance:none;
  border:0;
  border-radius:12px;
  background:#0f172a;
  color:#fff;
  font-weight:800;
  padding:12px 16px;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(2, 34, 62, .10);
  transition:filter .15s ease, transform .02s ease;
}
.ej-primary-btn:hover{ filter:brightness(1.04) }
.ej-primary-btn:active{ transform:translateY(0.5px) }
.ej-primary-btn:focus-visible{
  outline:2px solid #93c5fd;
  outline-offset:2px;
}

/* Tabs: small polish */
.tab-btn{ transition: background-color .15s ease, border-color .15s ease }
.tab-btn[aria-selected="true"]{ background:#fff; border-color:#0c7dd2 }

/* Ensure header login button isn’t overridden by page CSS (belt & suspenders) */
#site-header.ej-nav .ej-main .ej-rail > a.ej-login{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:42px;
  padding:0 14px;
  border-radius:12px;
  background:#0f172a;
  color:#fff;
  border:1px solid #0f172a;
  font-weight:800;
  text-decoration:none;
}

/* Small responsive nudge */
@media (max-width: 640px){
  .ej-card{ border-radius:16px; padding:18px }
}
