*{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}
body{
    margin:0;
    min-height:100vh;
    background:url("assets/login-bg.jpg") no-repeat center center/cover;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:16px;
}
.login-box{
    background:rgba(0,0,0,.75);
    padding:35px;
    width:100%;
    max-width:380px;
    border-radius:10px;
    color:#fff;
}
.login-box h2{
    text-align:center;
    margin-bottom:25px;
}
.alert{
    background:#a50000;
    padding:10px;
    border-radius:5px;
    margin-bottom:15px;
    font-size:14px;
}
.input-group{
    position:relative;
    margin-bottom:18px;
}
.input-group i{
    position:absolute;
    top:50%;
    left:12px;
    transform:translateY(-50%);
    color:#ccc;
}
.input-group input{
    width:100%;
    padding:12px 12px 12px 38px;
    border-radius:5px;
    border:none;
    outline:none;
}
.btn-login{
    width:100%;
    padding:12px;
    background:linear-gradient(135deg,#d4af37,#b8962e);
    border:none;
    color:#000;
    font-size:16px;
    border-radius:5px;
    cursor:pointer;
    font-weight:bold;
}
.links{
    text-align:center;
    margin-top:15px;
    font-size:14px;
}
.links a{
    color:#d4af37;
    text-decoration:none;
}
*{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}
body{
    margin:0;min-height:100vh;
    background:url("assets/login-bg.jpg") no-repeat center center/cover;
    display:flex;justify-content:center;align-items:center;
    padding:16px;
}
.auth-box{
    background:rgba(0,0,0,.75);
    padding:34px;
    width:100%;
    max-width:420px;
    border-radius:10px;
    color:#fff;
}
.auth-box h2{
    text-align:center;
    margin:0 0 22px;
    font-weight:normal;
    letter-spacing:1px;
}
.alert{
    background:#a50000;
    padding:10px 12px;
    border-radius:6px;
    margin-bottom:14px;
    font-size:14px;
}
.grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.input-group{position:relative;margin-bottom:14px}
.input-group i{
    position:absolute;top:50%;left:12px;
    transform:translateY(-50%);
    color:#ccc;
}
.input-group input{
    width:100%;
    padding:12px 12px 12px 38px;
    border-radius:6px;
    border:none;
    outline:none;
    font-size:15px;
}
.btn-gold{
    width:100%;
    padding:12px;
    background:linear-gradient(135deg,#d4af37,#b8962e);
    border:none;
    color:#000;
    font-size:16px;
    border-radius:6px;
    cursor:pointer;
    font-weight:bold;
}
.btn-gold:hover{opacity:.92}
.links{
    text-align:center;
    margin-top:14px;
    font-size:14px;
}
.links a{color:#d4af37;text-decoration:none}
.links a:hover{text-decoration:underline}
.hint{
    font-size:12px;
    color:#d0d0d0;
    margin-top:-6px;
    margin-bottom:12px;
}
@media (max-width:520px){
    .auth-box{padding:24px}
    .grid-2{grid-template-columns:1fr}
}
/* ---------- Footer / layout fixes (add to the end of login.css) ---------- */

/* Ensure full-height and normal document flow */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Make body a vertical flex container so header, main and footer stack */
body {
  display: flex;
  flex-direction: column;
  min-height: 50vh;
  align-items: stretch; /* don't center all children */
  justify-content: flex-start;
  background: url("assets/login-bg.jpg") no-repeat center center/cover; /* keep your background */
}

/* Make main grow to push footer to bottom */
.site-main {
  flex: 1 0 auto;
  /* offset for fixed header (header is fixed at top:0) */
  padding-top: 100px; /* adjust if header height differs */
}

/* Center the login box only (inside main) */
.login-page-center {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px;
  min-height: calc(50vh - 200px); /* subtract header + footer approx; adjust if needed */
  box-sizing: border-box;
}

/* Ensure footer participates in normal flow and sits at bottom */
.seu-elias-footer {
  position: relative !important;
  margin-top: auto !important;
  width: 100%;
  z-index: 20;
}

/* Prevent accidental centering from other earlier rules */
.login-box {
  margin: 0 auto;
}

/* If mobile-only login.css previously had a conflicting body rule, this override neutralizes it */
@media (max-width: 520px) {
  .login-page-center {
    min-height: calc(50vh - 240px);
    padding: 18px;
  }
}
/* === Fix large gap under fixed header ===
   Put this at the end of css/style.css or login.css to override previous rules.
   Tweak --header-height if your header height differs.
*/
:root {
  --header-height: 80px;   /* set this to your actual header height (adjust as needed) */
  --footer-height: 120px;  /* approximate footer height (used for calc), adjust if needed */
}

/* Remove the extra slider top margin that caused double offsets */
.slider {
  margin-top: 0 !important;
}

/* Make the main content start immediately under the fixed header */
.site-main {
  padding-top: var(--header-height); /* reserve space for fixed header */
  flex: 1 0 auto;
  box-sizing: border-box;
}

/* Center the login box but don't force huge min-heights */
.login-page-center {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px;
  /* Ensure the center area uses available space but does not create huge gap */
  min-height: calc(50vh - var(--header-height) - var(--footer-height));
  box-sizing: border-box;
}

/* If the hero/slider is taking full viewport height, reduce it so it doesn't push footer */
.slider {
  height: auto !important;      /* allow content to size naturally */
  min-height: 40vh !important;  /* small visual area, adjust if needed */
}

/* Small screens: adapt the center min-height */
@media (max-width: 768px) {
  :root { --header-height: 70px; --footer-height: 160px; }
  .login-page-center {
    min-height: calc(50vh - var(--header-height) - var(--footer-height));
  }
}
/* === Fix large gap under fixed header ===
   Put this at the end of css/style.css or login.css to override previous rules.
   Tweak --header-height if your header height differs.
*/
:root {
  --header-height: 80px;   /* set this to your actual header height (adjust as needed) */
  --footer-height: 120px;  /* approximate footer height (used for calc), adjust if needed */
}

/* Remove the extra slider top margin that caused double offsets */
.slider {
  margin-top: 0 !important;
}

/* Make the main content start immediately under the fixed header */
.site-main {
  padding-top: var(--header-height); /* reserve space for fixed header */
  flex: 1 0 auto;
  box-sizing: border-box;
}

/* Center the login box but don't force huge min-heights */
.login-page-center {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px;
  /* Ensure the center area uses available space but does not create huge gap */
  min-height: calc(50vh - var(--header-height) - var(--footer-height));
  box-sizing: border-box;
}

/* If the hero/slider is taking full viewport height, reduce it so it doesn't push footer */
.slider {
  height: auto !important;      /* allow content to size naturally */
  min-height: 40vh !important;  /* small visual area, adjust if needed */
}

/* Small screens: adapt the center min-height */
@media (max-width: 768px) {
  :root { --header-height: 70px; --footer-height: 160px; }
  .login-page-center {
    min-height: calc(50vh - var(--header-height) - var(--footer-height));
  }
}

/* Diagnostic helper (remove when happy) */
/* .login-page-center { outline: 1px dashed rgba(0,0,0,0.1); } */
/* Diagnostic helper (remove when happy) */
/* .login-page-center { outline: 1px dashed rgba(0,0,0,0.1); } */
:root{
  --header-height: 80px;   /* adjust if needed */
  --footer-height: 120px;  /* approximate */
}

/* Remove extra top margin and reserve header space */
.slider { margin-top: 0 !important; height: auto !important; min-height: 40vh !important; }
.site-main { padding-top: var(--header-height); flex: 1 0 auto; box-sizing: border-box; }

/* Center login without creating a huge gap */
.login-page-center {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px;
  min-height: calc(50vh - var(--header-height) - var(--footer-height));
  box-sizing: border-box;
}

/* Ensure footer stays in normal flow */
.seu-elias-footer { position: relative !important; margin-top: auto !important; width: 100%; z-index: 20; }
@media (min-width: 1200px) {
	 .auth-box { 
    margin-left:550px;

  }
    .seu-elias-footer{
	  margin-top:50px;
	  
  }
}
@media (max-width: 1200px) {
	 .login-box { 
    margin-left:20px; 
  }
   .seu-elias-footer{
	  margin-top:70px;
	  
  }
}