:root{
  --bg:#0f172a;
  --bg-soft:#eeead6;
  --txt:#0b1220;
  --brand:#2563eb;
  --white:#e2e8f0;
  --radius:14px;
  --shadow:0 12px 30px rgba(2,6,23,.12);
  --danger:#c62828;
  --line:#d9d2b8;
  --card:#fffaf0;
}



*{box-sizing:border-box;margin:0;padding:0}

body{
  background:var(--bg-soft);
  color:var(--txt);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

h1,h2,h3{
  font-family:'Libre Baskerville', Georgia, serif;
}

main{
  padding:110px 18px 60px;
}

.hero{
  max-width:1180px;
  margin:0 auto 24px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:30px 24px;
}

.hero h1{
  font-size:40px;
  margin-bottom:10px;
  color:#1e293b;
}

.hero p{
  font-size:16px;
  line-height:1.7;
}

.layout{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:24px;
}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:26px;
}

.card h2{
  font-size:26px;
  margin-bottom:18px;
  color:#111827;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.full{
  grid-column:1 / -1;
}

label{
  display:block;
  font-weight:800;
  margin-bottom:8px;
  font-size:14px;
  letter-spacing:.2px;
}

input{
  width:100%;
  padding:14px 14px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  font-size:15px;
  outline:none;
  background:#fff;
  text-transform:uppercase;
}

input::placeholder{
  text-transform:uppercase;
}

select.campo-select{
  width:100%;
  padding:14px 14px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  font-size:15px;
  outline:none;
  background:#fff;
  color:#111827;
}

select.campo-select:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}

select.campo-select:disabled{
  background:#f1f5f9;
  color:#64748b;
  cursor:not-allowed;
}

.finalidade-bloco{
  padding:16px;
  border:1px solid #d9d2b8;
  border-radius:12px;
  background:#fff;
}

.finalidade-bloco + .finalidade-bloco{
  margin-top:12px;
}

.finalidade-certidao{
  font-weight:800;
  margin-bottom:10px;
  color:#1e293b;
}

input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}

.help{
  font-size:13px;
  color:#475569;
  margin-top:8px;
}

.actions{
  margin-top:24px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.actions .btn{
  flex:1;
  min-width:160px;
  text-align:center;
}

.btn{
  border:none;
  cursor:pointer;
  padding:14px 18px;
  border-radius:12px;
  font-weight:800;
  font-size:15px;
  text-decoration:none;
  display:inline-block;
}

.btn-primary{
  background:var(--brand);
  color:#fff;
}

.btn-secondary{
  background:#e5e7eb;
  color:#111827;
}

.total-panel{
  margin-top:18px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.total-panel strong{
  font-size:14px;
}

.total-panel span{
  font-size:22px;
  font-weight:900;
  color:#111827;
}

.steps{
  line-height:1.9;
  font-size:15px;
}

.steps p{
  margin-bottom:8px;
}

.error{
  color:#b91c1c;
  font-size:14px;
  margin-top:12px;
  font-weight:800;
}

.modal-bg{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.7);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:20px;
}

.modal{
  width:min(840px, 100%);
  background:#fffdf7;
  border-radius:20px;
  padding:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  max-height:90vh;
  overflow:auto;
}

.modal h3{
  font-size:30px;
  margin-bottom:18px;
}

.summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:18px;
}

.summary-box{
  background:#fff;
  border:1px solid #ddd;
  border-radius:14px;
  padding:16px;
}

.summary-box strong{
  display:block;
  margin-bottom:10px;
}

.selected-list{
  padding-left:18px;
}

.selected-list li{
  margin-bottom:8px;
}

.total-box{
  background:var(--danger);
  color:#fff;
  font-weight:900;
  text-align:center;
  border-radius:14px;
  padding:18px;
  font-size:24px;
  margin:18px 0;
}

.modal-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* TOM SELECT */
.ts-wrapper.multi .ts-control{
  border:1px solid #cbd5e1;
  border-radius:0;
  padding:10px 12px;
  min-height:54px;
  box-shadow:none;
  background:#fff;
}

.ts-wrapper.focus .ts-control{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}

.ts-control input{
  text-transform:uppercase !important;
}

.ts-dropdown{
  border-radius:12px;
  border:1px solid #cbd5e1;
  overflow:hidden;
}

.ts-dropdown .option{
  padding:12px 14px;
}

.ts-dropdown .active{
  background:#eff6ff;
}

.cert-option-title{
  font-weight:800;
  color:#111827;
}

.cert-option-price{
  font-size:12px;
  color:#475569;
  margin-top:4px;
}

@media (max-width: 920px){
  .layout{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .summary{grid-template-columns:1fr}
}

.login-alert-bg{

position:fixed;
inset:0;

background:rgba(15,23,42,.75);

display:none;

align-items:center;
justify-content:center;

padding:20px;

z-index:99999;

}

.login-alert{

background:#fffdf7;

width:min(620px,100%);

padding:35px;

border-radius:22px;

text-align:center;

box-shadow:0 25px 70px rgba(0,0,0,.25);

}

.login-alert h3{

font-size:28px;

margin-bottom:20px;

color:#111827;

}

.login-alert p{

font-size:17px;

line-height:1.8;

margin-bottom:28px;

color:#334155;

}

.btn-login-certidao{

background:linear-gradient(135deg, #14532d 0%, #16a34a 52%, #4ade80 100%);

color:#fff;

border:none;

padding:16px 26px;

border-radius:12px;

font-weight:800;

font-size:16px;

cursor:pointer;

transition:.2s;

}

.btn-login-certidao:hover{

background:linear-gradient(135deg, #166534 0%, #22c55e 52%, #86efac 100%);

transform:translateY(-2px);
box-shadow:0 8px 20px rgba(22,163,74,.35);

}

@media(max-width:600px){

.login-alert{

padding:26px;

}

.login-alert h3{

font-size:23px;

}

.login-alert p{

font-size:15px;

}

.btn-login-certidao{

width:100%;

}

}
