/* =====================================================================
   PROMAGRI v26.54a · LOGIN PORTAL DE DISTRIBUIDORES (fondo atardecer)
   Composición inspirada en la referencia aprobada por el usuario.
   Este CSS SOLO se carga en login.php.
   ===================================================================== */

html, body.promagri-login-body {
  width:100%;
  min-height:100%;
}

body.promagri-login-body {
  margin:0!important;
  min-height:100vh!important;
  min-height:100svh!important;
  padding:0!important;
  display:block!important;
  overflow-x:hidden!important;
  color:#fff!important;
  background:#121416!important;
  font-family:Inter,"Segoe UI",Arial,sans-serif!important;
}

/* La fotografía/arte de fondo NO se sustituye: usa el SVG que ya tiene el portal. */
body.promagri-login-body::before {
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:url('../img/login-bg-v26_54a.png?v=2654a')!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  opacity:1!important;
  filter:saturate(.88) contrast(1.02)!important;
}

/* Capa cálida/oscura, similar a la referencia, para integrar la foto y dar lectura. */
body.promagri-login-body::after {
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  width:auto!important;
  height:auto!important;
  background:
    radial-gradient(circle at 50% 39%,rgba(137,72,47,.16) 0%,rgba(55,35,31,.18) 37%,rgba(9,13,15,.48) 100%),
    linear-gradient(180deg,rgba(87,43,32,.30) 0%,rgba(35,27,27,.28) 46%,rgba(5,9,11,.56) 100%)!important;
  color:transparent!important;
  text-shadow:none!important;
}

.promagri-login-page {
  position:relative;
  z-index:2;
  width:100%;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:52px 24px 84px;
  box-sizing:border-box;
}

.promagri-login-panel {
  width:min(560px,92vw);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-top:-18px;
}

.promagri-login-logo {
  display:block;
  width:min(430px,78vw);
  max-height:138px;
  object-fit:contain;
  margin:0 auto 28px;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.24));
}

.promagri-login-title-row {
  width:100%;
  display:grid;
  grid-template-columns:minmax(42px,1fr) auto minmax(42px,1fr);
  align-items:center;
  gap:20px;
  margin:0 0 38px;
}

.promagri-login-title-row span {
  height:1px;
  background:rgba(255,255,255,.72);
  box-shadow:0 1px 6px rgba(0,0,0,.16);
}

.promagri-login-title-row h1 {
  margin:0;
  color:#fff;
  font-size:25px;
  line-height:1.15;
  font-weight:400;
  letter-spacing:.015em;
  text-shadow:0 2px 14px rgba(0,0,0,.42);
  white-space:nowrap;
}

.promagri-login-form {
  width:100%;
  display:grid;
  gap:17px;
}

.promagri-login-field {
  position:relative;
  display:block!important;
  width:100%;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
}

.promagri-login-field input {
  appearance:none;
  display:block;
  width:100%!important;
  height:66px!important;
  min-height:66px!important;
  margin:0!important;
  padding:0 28px 0 72px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.17)!important;
  border-radius:999px!important;
  outline:0!important;
  color:#fff!important;
  background:rgba(255,255,255,.145)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 30px rgba(0,0,0,.08)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:.005em!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}

.promagri-login-field input::placeholder {
  color:rgba(255,255,255,.86)!important;
  opacity:1!important;
}

.promagri-login-field input:hover {
  border-color:rgba(255,255,255,.32)!important;
  background:rgba(255,255,255,.18)!important;
}

.promagri-login-field input:focus {
  border-color:rgba(255,150,51,.82)!important;
  background:rgba(255,255,255,.20)!important;
  box-shadow:
    0 0 0 3px rgba(239,125,0,.14),
    0 13px 34px rgba(0,0,0,.13)!important;
}

.promagri-field-icon {
  position:absolute;
  z-index:2;
  left:25px;
  top:50%;
  width:23px;
  height:23px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  pointer-events:none;
  color:rgba(255,255,255,.92);
}

.promagri-field-icon svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.promagri-login-submit {
  width:100%;
  min-height:69px;
  margin:14px 0 0;
  padding:0 28px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(90deg,#ef7400 0%,#ff6e32 100%);
  box-shadow:0 17px 38px rgba(239,92,20,.25);
  font:600 17px/1 Inter,"Segoe UI",Arial,sans-serif;
  letter-spacing:.01em;
  text-transform:none;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.promagri-login-submit:hover {
  transform:translateY(-1px);
  filter:brightness(1.055);
  box-shadow:0 20px 43px rgba(239,92,20,.31);
}

.promagri-login-submit:active {
  transform:translateY(0);
}

.promagri-login-forgot {
  justify-self:center;
  margin-top:7px;
  color:rgba(255,255,255,.90)!important;
  font-size:13px;
  line-height:1.35;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.48);
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}

.promagri-login-forgot:hover {
  color:#fff!important;
  text-decoration-color:#ef7d00;
}

.promagri-login-error {
  width:100%;
  margin:-19px 0 20px;
  padding:12px 20px;
  box-sizing:border-box;
  border:1px solid rgba(255,153,153,.48);
  border-radius:999px;
  color:#fff;
  background:rgba(117,24,24,.56);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
  font-size:13px;
  font-weight:700;
  text-align:center;
}

.promagri-login-footer {
  position:absolute;
  left:50%;
  bottom:36px;
  transform:translateX(-50%);
  width:min(650px,82vw);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:17px;
  color:rgba(255,255,255,.66);
}

.promagri-login-footer span {
  height:1px;
  background:rgba(255,255,255,.38);
}

.promagri-login-footer strong {
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.31em;
  text-transform:uppercase;
  white-space:nowrap;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
}

.visually-hidden {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media (max-height:760px) and (min-width:701px) {
  .promagri-login-page { padding-top:28px; padding-bottom:58px; }
  .promagri-login-panel { margin-top:0; }
  .promagri-login-logo { width:min(340px,64vw); max-height:104px; margin-bottom:17px; }
  .promagri-login-title-row { margin-bottom:24px; }
  .promagri-login-field input { height:58px!important; min-height:58px!important; }
  .promagri-login-submit { min-height:60px; margin-top:7px; }
  .promagri-login-footer { bottom:19px; }
}

@media (max-width:700px) {
  .promagri-login-page {
    padding:36px 18px 70px;
  }
  .promagri-login-panel {
    width:min(500px,94vw);
    margin-top:-8px;
  }
  .promagri-login-logo {
    width:min(330px,80vw);
    max-height:105px;
    margin-bottom:22px;
  }
  .promagri-login-title-row {
    grid-template-columns:minmax(24px,1fr) auto minmax(24px,1fr);
    gap:12px;
    margin-bottom:28px;
  }
  .promagri-login-title-row h1 {
    font-size:20px;
  }
  .promagri-login-field input {
    height:59px!important;
    min-height:59px!important;
    padding-left:62px!important;
    padding-right:22px!important;
    font-size:15px!important;
  }
  .promagri-field-icon { left:22px; width:20px; height:20px; }
  .promagri-field-icon svg { width:20px; height:20px; }
  .promagri-login-submit { min-height:61px; margin-top:10px; font-size:16px; }
  .promagri-login-footer { bottom:22px; gap:10px; width:88vw; }
  .promagri-login-footer strong { font-size:8px; letter-spacing:.18em; }
}

@media (max-width:430px) {
  .promagri-login-title-row h1 { font-size:17px; }
  .promagri-login-title-row { gap:9px; }
  .promagri-login-footer span { display:none; }
  .promagri-login-footer { display:block; text-align:center; }
}
