html, body { min-height:100vh; display:flex; flex-direction:column; }
body { font-family:'Poppins', sans-serif; line-height:normal; font-weight:400; background:#fff; background-image:linear-gradient(to top, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%); }
main { flex: 1 0 auto; }



#marca { text-align:center; }
#marca img { width:350px; margin-top:45px; }
#titulo h1 { font-size:72px; line-height:82px; font-weight:700; margin-top:45px; text-transform:none; }
#titulo h2 { margin:0; margin-bottom:0px; font-size:18px;font-weight:500; }
#titulo h1, #titulo h2 { color:#3e3e3e; text-align:center; }


/** Busca **/
#busca { margin-top:45px; }
.search-bar { margin:0 auto; display:flex; align-items:center; background-color:#fff; border-radius:40px; padding:6px 12px; width:95%; max-width:650px; height:52px; border:1px solid #dadce0; box-shadow:0px 3px 10px 0px rgba(31, 31, 31, 0.08); }
.search-bar select { min-width:115px; background:transparent; border:none; color:rgba(0,0,0,.87); font-size:15px; padding:4px 10px; border-right:1px solid #c5cad1; outline:none; appearance:none; cursor:pointer; line-height:14px; }
.search-bar select option { background-color:#fff; color:rgba(0,0,0,.87); padding:8px 12px; }
.search-bar select:focus { background-color:#fff; color:rgba(0,0,0,.87); }
.search-bar input { flex:1; background:transparent; border:none; outline:none; color:rgba(0,0,0,.87); font-size:14px; padding:6px 10px; }
.search-bar button { background:none; border:none; color:#9aa0a6; cursor:pointer; padding:0 7px 0 14px; display:flex; align-items:center; justify-content:center; height:52px; }
.search-bar button svg { width:22px; height:22px; display:block; }
.search-bar button:hover { color:#e8eaed; }



/* ===== Autofill e Autocomplete (Chrome, Edge, Safari) ===== */
.search-bar input:-webkit-autofill,
.search-bar input:-webkit-autofill:hover,
.search-bar input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: rgba(0,0,0,.87) !important;
  transition: background-color 9999s ease-out 0s;
}

/* ===== Autofill e Autocomplete (Firefox) ===== */
.search-bar input:autofill,
.search-bar input:autofill:hover,
.search-bar input:autofill:focus {
  background-color: #fff !important; /* fundo */
  color: rgba(0,0,0,.87) !important;            /* cor do texto */
  box-shadow: 0 0 0 1000px #fff inset !important;
	-moz-text-fill-color: rgba(0,0,0,.87) !important;

}






/** Card **/
select,input,button { padding:10px; font:inherit; }
input { flex:1; min-width:200px; }
select { min-width:150px; }
.card { margin:0 auto; max-width:900px; border:1px solid #e4e4e7; border-radius:12px; padding:16px; margin-top:0px; box-shadow:0 1px 3px rgba(0,0,0,.05); background-color:#fff; }
.card h2 { text-align:center; margin:0 0 8px; font-size:20px; }
.grid { display:grid; grid-template-columns: 1fr 1fr; gap:8px 16px; }
.label { padding:.2em 0 .3em; font-size:12px; color:#000; text-transform:uppercase; font-weight:600; }
.value { color:#606060; }
#status { margin-top:45px; font-size:18px; text-align:center; }
.fail { color:#b00020; font-weight:500; }
.ok { color:green}
.loading { font-size:18px; opacity:.5; font-weight:500; color:#000; }
@media (max-width:640px) { .grid { grid-template-columns: 1fr; } }
.registro { color: rgb(0, 128, 0); }
.spanDoc { font-size:9px; color:#f00; }

/** FOOTER **/
footer {
  margin-top: auto;                 /* empurra para o fim da coluna */
  width: 100%;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;

  /* remova o fixed e o bottom */
  position: static;                 /* importante: NÃO fixed */
  background: none !important;
  min-height: unset !important;
  /* melhora em iOS com “notch” */
  padding-bottom: calc(0.5rem + env(safe-area-inset-bottom));
}
footer a { float:left; font-size:14px; font-family:Arial,sans-serif; display: block; padding:15px; white-space:nowrap; color:#1e1e1e !important; }
footer a:hover { text-decoration:underline !important; color:#e8e8e8; }
hr { border-top:1px solid #c0c1c5; width:100%; margin:0 15px; }


/** LINK DIRETO **/
#qrLink span { font-weight:600; }
#qrLink a { color:#00bcd4; text-decoration:underline; }


/** ERROS **/
.erro-box { position:absolute; top:30%; width:100%; text-align:center; }
.erro-logo { margin-bottom:30px; }
.erro-box h1 { font-size:80px; font-weight:700; margin:0; line-height:1.1; color:#fff; }
.erro-box h4 { letter-spacing: 1.5px!important; text-transform: uppercase; font-size:14px; font-weight:400; color:#fff; margin:10px 0; }
.erro-footer { position:absolute; bottom:10px; text-align:center; width:100%; color:#fff; font-size:12px; }



@media (max-width: 900px) {
	footer { justify-content:space-evenly; }
}


