:root{
  --gold:#AD7D41;
  --black:#000000;
  --glass: rgba(255,255,255,0.92);
  --text:#0e0e0e;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;
  color:var(--text);
}

/* ===== Fundo ===== */
.bg-evento{
  background:url('https://i.imgur.com/zhdTieS.png') center/cover fixed no-repeat var(--black);
}
@media (max-width:768px){
  .bg-evento{
    background:url('https://i.imgur.com/gMP3iBa.png') center/cover fixed no-repeat var(--black);
  }
}

.container{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  padding:24px;
}

.card{
  width:100%;
  max-width:880px;
  background:var(--glass);
  border-radius:18px;
  padding:48px 40px;
  border:2px solid var(--gold);
  backdrop-filter: blur(6px) saturate(120%);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}

.logo-wrap{text-align:center;margin-bottom:18px}
.logo{width:160px;height:auto}
.title{margin:8px 0 10px;text-align:center;font-size:1.8rem;color:#111}
.sub{margin:0 0 42px;text-align:center;color:#333;line-height:1.5}

/* ===== FORM ===== */
.form{
  display:flex;
  flex-direction:column;
  gap:36px; /* espaço entre os blocos de perguntas */
}

/* Cada pergunta é um bloco */
.block{
  background:#fff;
  border-radius:14px;
  padding:26px 24px;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  border:1px solid rgba(173,125,65,.15);
  transition:box-shadow .2s;
}
.block:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}

/* ===== Labels e Inputs ===== */
.label{
  display:block;
  font-weight:600;
  margin-bottom:10px;
  font-size:1rem;
}

.input{
  width:100%;
  padding:14px 16px;
  border:2px solid var(--gold);
  border-radius:12px;
  background:#fff;
  outline:none;
  transition: box-shadow .2s, transform .02s;
}
.input:focus{
  box-shadow:0 0 0 5px rgba(173,125,65,.25);
}

.hint{
  margin:6px 0 14px;
  color:#444;
  font-size:.94rem;
  line-height:1.4;
}

/* ===== Radios e Checkboxes ===== */
.group-inline{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:6px;
}
.group-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
  gap:10px 14px;
  margin-top:6px;
}

.radio, .checkbox{
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid #ddd;
  border-radius:10px;
  padding:10px 12px;
  transition:border .2s, box-shadow .2s;
}
.radio:hover, .checkbox:hover{
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(173,125,65,.15);
}

/* ===== Botões ===== */
.btn, .btn-secondary{
  display:inline-block;
  margin-top:30px;
  padding:14px 20px;
  border-radius:12px;
  font-weight:700;
  text-decoration:none;
  text-align:center;
  transition: filter .15s, transform .02s;
  cursor:pointer;
}

.btn{
  background:var(--gold);
  color:#fff;
  border:2px solid var(--gold);
}
.btn:hover{filter:brightness(1.05)}
.btn:active{transform:translateY(1px)}

.btn-secondary{
  background:#000;
  color:#fff;
  border:2px solid var(--gold);
  margin-left:10px;
}
.btn-secondary:hover{filter:brightness(1.08)}
.btn-secondary:active{transform:translateY(1px)}

/* ===== Mensagem ===== */
.msg{
  margin-top:32px;
  padding:16px;
  border-radius:10px;
  display:block;
}
.msg.ok{
  background:#e8f7ee;
  border:1px solid #27ae60;
  color:#0d6b3e;
}
.msg.err{
  background:#fdeaea;
  border:1px solid #e53935;
  color:#7f1d1d;
}

/* ===== Responsivo ===== */
@media (max-width:800px){
  .card{padding:36px 24px}
  .form{gap:28px}
  .block{padding:22px 20px}
  .btn-secondary{display:block;margin-left:0;margin-top:10px}
}

#bloco-idades {
  transition: all 0.3s ease;
  overflow: hidden;
}
