/* css/pages/index/index.css */


.wrap{
  max-width:1100px;
  margin:0 auto;
  padding:34px 18px 60px;
}

.top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:22px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.logo{
  width:44px;
  height:44px;
  border-radius:14px;
  background: linear-gradient(135deg, rgba(20,184,166,.55), rgba(124,58,237,.25));
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:var(--text);
  border:1px solid var(--border);
}

.brand h1{
  margin:0;
  font-size:16px;
  letter-spacing:.4px;
}

.brand small{
  display:block;
  color:var(--muted);
  margin-top:2px;
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(124,58,237,.08);
  border:1px solid rgba(124,58,237,.18);
  color: var(--brand-2);
  font-weight:900;
  font-size:12px;
  white-space:nowrap;
}

.grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:18px;
}

.hero{
  padding:26px;
  position:relative;
  overflow:hidden;
}

.hero:before{
  content:"";
  position:absolute;
  inset:-120px -160px auto auto;
  width:420px;height:420px;
  background: radial-gradient(circle, rgba(124,58,237,.16), transparent 60%);
  transform: rotate(12deg);
}

.hero:after{
  content:"";
  position:absolute;
  inset:auto auto -160px -200px;
  width:520px;height:520px;
  background: radial-gradient(circle, rgba(20,184,166,.12), transparent 60%);
  transform: rotate(-10deg);
}

.headline{
  margin:0 0 10px 0;
  font-size:34px;
  line-height:1.08;
  letter-spacing:-.7px;
  position:relative;
  z-index:1;
}

.subtitle{
  margin:0 0 18px 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
  max-width:62ch;
  position:relative;
  z-index:1;
}

.badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:18px;
  position:relative;
  z-index:1;
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  background: rgba(20,184,166,.10);
  border:1px solid rgba(20,184,166,.20);
  color: var(--text);
  font-weight:900;
  font-size:12px;
}

.badge i{
  width:10px;height:10px;border-radius:50%;
  background: var(--brand-1);
  display:inline-block;
  box-shadow: 0 0 0 4px rgba(124,58,237,.12);
}

.cta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
  position:relative;
  z-index:1;
}

.note{
  margin:12px 0 0 0;
  color:#3f4f69;
  font-size:12px;
  line-height:1.55;
  position:relative;
  z-index:1;
}

.panel{
  padding:18px;
}

.panel-title{
  margin:0 0 10px 0;
  font-size:14px;
  letter-spacing:.2px;
}

.list{
  display:grid;
  gap:10px;
}

.item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border-radius:14px;
  background: var(--surface-2);
  border:1px solid var(--border);
}

.ic{
  width:36px;height:36px;
  border-radius:12px;
  background: rgba(124,58,237,.10);
  border:1px solid rgba(124,58,237,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color: var(--brand-2);
  flex:0 0 auto;
}

.item b{
  display:block;
  font-size:13px;
  margin-bottom:2px;
}

.item span{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.form{
  margin-top:12px;
  padding-top:14px;
  border-top:1px solid var(--border);
}

.row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin-top:10px;
}

/* OK alert específico da landing (não conflita com .alert global) */
.alert-ok{
  border:1px solid rgba(34,197,94,.25);
  background: rgba(34,197,94,.10);
  color:#0b3b1f;
  padding:10px 12px;
  border-radius:var(--r-md);
  font-weight:900;
  margin:10px 0 10px 0;
}

.foot{
  margin-top:18px;
  color:var(--muted);
  font-size:12px;
  text-align:center;
}

/* Responsivo */
@media (max-width: 900px){
  .grid{grid-template-columns: 1fr}
  .headline{font-size:28px}
}

@media (max-width: 560px){
  .wrap{padding:22px 14px 40px}
  .top{flex-direction:column;align-items:flex-start}
  .row{grid-template-columns:1fr}
  /* OBS: .btn-block já é global; não precisa redefinir aqui */
}