:root{
  --bg:#fde4d9;              /* fundo da página */
  --text:#111827;            /* texto padrão */
  --divider:#e5e7eb;

  /* Card (container principal) */
  --card-header-bg:#fff8f3;  /* fundo do cabeçalho do card */
  --card-header-text:#0f172a;
  --card-body-bg:#ffffff;    /* fundo do conteúdo do card */
  --card-body-text:#111827;

  --primary:#0d6efd;
  --question:#0b3d91;
  --answer:#374151;

  /* Blocos de resultado por perfil */
  --a-bg:#e8f1ff; --a-text:#0b3d91;
  --b-bg:#fff3cd; --b-text:#7a5b00;
  --c-bg:#e8fff1; --c-text:#0b6b2a;
  --d-bg:#fce8f3; --d-text:#8a0b3d;

  /* Mensagem de empate */
  --tie-bg:#e2e3e5; --tie-text:#41464b;
}

html,body{ height:100%; }
body{
  background:var(--bg);
  color:var(--text);
  font-family:system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
}

/* Header global (imagem + título + subtítulo) */
.app-header{
  display:flex; flex-direction:column; align-items:center; gap:12px;
  padding:16px 16px 12px; margin-bottom:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.7));
  border:1px solid var(--divider); border-radius:12px;
}
.app-header img{
  width:min(100%, 1100px); height:auto; display:block;
  object-fit:contain; border-radius:8px;
}
.app-title{
  font-size:clamp(1.25rem, 1rem + 1vw, 1.6rem);
  font-weight:800; margin:4px 0 0; color:#0f172a; text-align:center;
}
.app-subtitle{
  margin:0; font-weight:700; color:var(--primary);
  font-size:clamp(1.15rem, .95rem + .9vw, 1.35rem);
}

/* Card (container principal com cabeçalho e conteúdo) */
.card-shell{
  background:var(--card-header-bg); color:var(--card-header-text);
  border:1px solid var(--divider); border-radius:12px; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.05); margin-bottom:28px;
}
.card-header{
  padding:14px 20px; font-weight:700; font-size:1.1rem;
}
.card-content{
  background:var(--card-body-bg); color:var(--card-body-text);
  padding:24px;
}

h2.page-title{ font-size:1.6rem; margin:0 0 14px; color:var(--primary); }
h3.step-title{ font-size:1.125rem; color:#111827; margin:0 0 10px; }
h4.question-title{ color:var(--question); margin:22px 0 10px; }

/* Espaço entre os campos iniciais e o título da 1ª pergunta */
.row.g-3 + .question-title{ margin-top:26px; }

/* Radios mais afastados e com espaçamento entre si */
.form-check{
  padding:0.7rem 1.15rem 0.7rem 1.25rem;
  margin:0 0 .65rem .1rem;
  border-radius:10px;
}
.form-check:hover{ background:#f3f4f6; }
.form-check-input{ margin-top:.45rem; }
.form-check-input:checked{ border-color:#10b981; background-color:#10b981; }

.btn{ min-width:120px; }
.small-muted{ color:#6b7280; font-size:.9rem; }

/* Resultado */
.tie-info{
  background:var(--tie-bg); color:var(--tie-text);
  border-radius:12px; padding:14px 16px; margin-bottom:14px;
  font-weight:700;
}
.result-block{ border-radius:12px; padding:18px; margin-bottom:14px; }
.result-a{ background:var(--a-bg); color:var(--a-text); }
.result-b{ background:var(--b-bg); color:var(--b-text); }
.result-c{ background:var(--c-bg); color:var(--c-text); }
.result-d{ background:var(--d-bg); color:var(--d-text); }
.result-text{ font-size:1.08rem; line-height:1.5; }

/* Responsivo */
@media (max-width: 576px){
  .card-content{ padding:18px; }
  .app-header img{ width:min(100%, 100%); }
}

/* Alterar cor de botoes */
.btn-primary {
    /* background-color: darkred; */
}
