/* ===========================================================
   Login — Rede Caza
   Mesma identidade da landing (public/css/landing.css):
   painel-hero à esquerda + formulário à direita.
   =========================================================== */
:root{
  --red:#E40613;
  --red-700:#B6040F;
  --red-900:#7d020a;
  --red-wash:#FDECEC;
  --ink:#16120F;
  --ink-soft:#2a2420;
  --paper:#F8F6F3;
  --white:#fff;
  --muted:#6b635d;
  --line:rgba(22,18,15,.12);
  --display:'Archivo',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;
  --script:'Kaushan Script',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--body);color:var(--ink);background:var(--paper);
  line-height:1.6;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.login-wrap{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}

/* ---------- painel da marca (esquerda) ---------- */
.brand-panel{
  position:relative;overflow:hidden;
  background:var(--ink);color:#fff;
  display:flex;flex-direction:column;justify-content:center;
  padding:64px 60px;
}
.brand-panel::before{ /* blob vermelho, eco do hero */
  content:"";position:absolute;right:-160px;top:-120px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle at center,rgba(228,6,19,.45),transparent 62%);z-index:0;
}
.brand-panel::after{ /* segundo brilho, base */
  content:"";position:absolute;left:-180px;bottom:-200px;width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle at center,rgba(228,6,19,.22),transparent 64%);z-index:0;
}
.brand-inner{position:relative;z-index:1;max-width:480px}
.brand-logo{height:96px;width:auto;margin-bottom:40px}

.bubble-eyebrow{
  position:relative;display:inline-block;background:var(--red);color:#fff;
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.5rem 1rem;border-radius:10px;margin-bottom:22px;
}
.bubble-eyebrow::after{content:"";position:absolute;left:22px;bottom:-7px;width:0;height:0;
  border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--red)}

.brand-title{
  font-family:var(--display);font-weight:800;letter-spacing:-.025em;line-height:1.04;
  font-size:2.7rem;color:#fff;margin-bottom:18px;
}
.brand-title .hl{color:var(--red);white-space:nowrap}
.brand-lead{color:rgba(255,255,255,.74);font-size:1.02rem;max-width:430px;margin-bottom:30px}

.brand-tags{display:flex;flex-wrap:wrap;gap:1.3rem;font-size:.9rem;color:rgba(255,255,255,.8)}
.brand-tags span{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}
.brand-tags span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}

/* ---------- painel do formulário (direita) ---------- */
.form-panel{
  background:var(--paper);
  display:flex;align-items:center;justify-content:center;
  padding:48px 32px;position:relative;
}
.form-box{width:100%;max-width:380px}

.form-head{margin-bottom:28px}
.form-head .bubble-eyebrow{background:var(--ink)}
.form-head .bubble-eyebrow::after{border-top-color:var(--ink)}
.form-title{font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:2.1rem;line-height:1.02;color:var(--ink);margin-top:4px}
.form-sub{color:var(--muted);font-size:.95rem;margin-top:6px}

.field{margin-bottom:16px}
.field label{display:block;font-size:.82rem;font-weight:600;color:var(--ink-soft);margin-bottom:7px}
.input-wrap{position:relative;display:flex;align-items:center}
.input-wrap .icon{position:absolute;left:14px;display:flex;color:var(--muted);pointer-events:none}
.input-wrap input{
  width:100%;font-family:var(--body);font-size:1rem;color:var(--ink);
  background:var(--white);border:1.5px solid var(--line);border-radius:12px;
  padding:.85rem 2.9rem;transition:border-color .18s ease,box-shadow .18s ease;
}
.input-wrap input::placeholder{color:#a59c95}
.input-wrap input:focus{outline:none;border-color:var(--red);
  box-shadow:0 0 0 4px rgba(228,6,19,.12)}
.pass-toggle{position:absolute;right:8px;background:transparent;border:0;cursor:pointer;
  color:var(--muted);padding:8px;display:flex;border-radius:8px;transition:color .15s ease}
.pass-toggle:hover{color:var(--ink)}

.btn-login{
  width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--display);font-weight:700;font-size:1rem;color:#fff;cursor:pointer;
  background:var(--red);border:2px solid transparent;border-radius:999px;
  padding:.95rem 1.6rem;margin-top:10px;
  box-shadow:0 12px 26px -12px rgba(228,6,19,.7);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn-login:hover{transform:translateY(-2px);background:var(--red-700);
  box-shadow:0 18px 34px -14px rgba(228,6,19,.85)}
.btn-login:active{transform:translateY(0)}

.alert-error{
  background:var(--red-wash);border:1px solid rgba(228,6,19,.28);color:var(--red-900);
  font-size:.9rem;font-weight:500;border-radius:12px;padding:.7rem .9rem;margin-bottom:18px;text-align:center;
}

.form-foot{text-align:center;margin-top:22px}
.form-foot a{color:var(--muted);font-size:.88rem;font-weight:600;transition:color .15s ease}
.form-foot a:hover{color:var(--red)}

/* ---------- responsivo ---------- */
@media(max-width:880px){
  .login-wrap{grid-template-columns:1fr}
  .brand-panel{padding:40px 32px}
  .brand-logo{height:72px;margin-bottom:24px}
  .brand-title{font-size:2rem;margin-bottom:14px}
  .brand-lead{display:none}
  .brand-tags{display:none}
  .form-panel{padding:40px 28px}
}
@media(max-width:480px){
  .brand-panel{padding:32px 24px}
  .brand-title{font-size:1.7rem}
  .form-title{font-size:1.8rem}
}
