/* ==========================================================================
   VistoFácil — Tela de acesso (escolha de perfil) — TEMA CLARO
   Solicitante (laranja) / Vistoriador (azul)
   ========================================================================== */

body.ent {
  background: var(--vf-bg);
  background-image: var(--vf-bg-grad);
  background-attachment: fixed;
  min-height: 100vh; position: relative; overflow-x: hidden;
}

.ent-escolha { position: relative; min-height: 100vh; display: flex; flex-direction: column; }

/* ---------- Decorações ---------- */
.ent-blob-tl {
  position: absolute; top: -70px; left: -70px; width: 210px; height: 210px; z-index: 0;
  background: linear-gradient(135deg, #ffae5c, #f57c2f);
  border-radius: 52% 48% 62% 38% / 50% 60% 40% 50%;
  opacity: .95;
}
.ent-circle-r {
  position: absolute; top: 320px; right: -95px; width: 190px; height: 190px; border-radius: 50%; z-index: 0;
  background: linear-gradient(135deg, #ffae5c, #f57c2f); opacity: .9;
}
.ent-dots {
  position: absolute; top: 92px; right: 26px; width: 92px; height: 60px; z-index: 0; opacity: .6;
  background-image: radial-gradient(#f3cdaa 1.7px, transparent 1.8px);
  background-size: 13px 13px;
}

/* ---------- Conteúdo ---------- */
.ent-wrap { position: relative; z-index: 2; width: 100%; max-width: 560px; margin: 0 auto; padding: 40px 22px 0; flex: 1; }

.ent-logo { text-align: center; }
.ent-logo img { height: 48px; width: auto; }
.ent-wordmark { font-size: 2.7rem; font-weight: 800; letter-spacing: -1.2px; margin-top: 4px; color: var(--vf-texto); line-height: 1; }
.ent-wordmark span { color: var(--vf-laranja); }

.ent-titulo { text-align: center; font-size: 1.55rem; font-weight: 800; margin-top: 22px; }
.ent-sub { text-align: center; color: var(--vf-texto-fraco); font-size: 1rem; line-height: 1.5; margin: 8px auto 0; max-width: 440px; }

/* ---------- Cards ---------- */
.ent-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 28px; }
.ent-card { background: var(--vf-surface); border: 1px solid var(--vf-borda); border-radius: 22px; padding: 22px 16px; display: flex; flex-direction: column; }
.ent-card__ico { width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 16px; }
.ent-card__ico svg { width: 36px; height: 36px; }
.ent-card h3 { text-align: center; font-size: 1.3rem; font-weight: 800; }
.ent-card > p { text-align: center; color: var(--vf-texto-fraco); font-size: .9rem; line-height: 1.45; margin: 7px 0 16px; }

.ent-lista { border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 13px; margin-bottom: 18px; }
.ent-item { display: flex; gap: 10px; font-size: .85rem; line-height: 1.35; color: var(--vf-texto-suave); }
.ent-item svg { width: 19px; height: 19px; flex: 0 0 auto; margin-top: 1px; }
.ent-item b { color: var(--vf-texto); font-weight: 700; }

.ent-btn { margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 8px; border: none; cursor: pointer; padding: 14px; border-radius: 13px; font-family: inherit; font-weight: 700; font-size: .94rem; color: #fff; width: 100%; transition: transform .12s ease, box-shadow .15s ease; }
.ent-btn:active { transform: scale(.98); }
.ent-btn svg { width: 18px; height: 18px; }

/* tema Solicitante (laranja) */
.ent-card--sol .ent-card__ico { background: #ffeede; color: var(--vf-laranja); }
.ent-card--sol h3 span { color: var(--vf-laranja); }
.ent-card--sol .ent-lista { background: #fff6ee; }
.ent-card--sol .ent-item svg { color: var(--vf-laranja); }
.ent-card--sol .ent-btn { background: linear-gradient(135deg, #ff8b1c, #f5621f); box-shadow: 0 8px 18px rgba(245, 98, 31, .32); }

/* tema Vistoriador (azul) */
.ent-card--vis .ent-card__ico { background: #e7effe; color: #2563eb; }
.ent-card--vis h3 span { color: #2563eb; }
.ent-card--vis .ent-lista { background: #eef4fe; }
.ent-card--vis .ent-item svg { color: #2563eb; }
.ent-card--vis .ent-btn { background: linear-gradient(135deg, #3b82f6, #2563eb); box-shadow: 0 8px 18px rgba(37, 99, 235, .32); }

/* ---------- Banner de segurança ---------- */
.ent-seg { display: flex; align-items: center; gap: 14px; background: #f6f7f9; border: 1px solid var(--vf-borda); border-radius: 16px; padding: 16px; margin-top: 20px; }
.ent-seg__ico { color: var(--vf-laranja); flex: 0 0 auto; }
.ent-seg__ico svg { width: 36px; height: 36px; }
.ent-seg__txt strong { display: block; font-size: .94rem; }
.ent-seg__txt span { font-size: .82rem; color: var(--vf-texto-fraco); line-height: 1.4; }
.ent-seg__lock { margin-left: auto; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--vf-borda); display: grid; place-items: center; color: var(--vf-texto-mute); flex: 0 0 auto; }
.ent-seg__lock svg { width: 20px; height: 20px; }

/* ---------- Criar conta ---------- */
.ent-criar { margin-top: 24px; }
.ent-divisor { display: flex; align-items: center; gap: 14px; color: var(--vf-texto-fraco); font-size: .86rem; }
.ent-divisor::before, .ent-divisor::after { content: ""; flex: 1; height: 1px; background: var(--vf-borda); }
.ent-criar__btn { display: block; width: 100%; text-align: center; margin-top: 14px; padding: 15px; border-radius: 13px; border: 1.5px solid var(--vf-borda-laranja); background: #fff; color: var(--vf-laranja); font-family: inherit; font-weight: 700; font-size: .95rem; cursor: pointer; }
.ent-criar__btn:hover { background: #fff6ef; }

/* ---------- Cidade (decoração inferior) ---------- */
.ent-cidade { margin-top: 26px; width: 100%; line-height: 0; position: relative; z-index: 1; }
.ent-cidade svg { width: 100%; height: auto; display: block; }

/* ---------- Voltar (na tela do formulário) ---------- */
.ent-voltar { display: inline-flex; align-items: center; gap: 6px; background: none; border: none; cursor: pointer; color: var(--vf-texto-fraco); font-weight: 600; font-size: .9rem; margin-bottom: 6px; }
.ent-voltar svg { width: 18px; height: 18px; }

/* ========================================================================
   MEDIA QUERIES
   ======================================================================== */
@media (max-width: 600px) {
  .ent-wrap { padding-top: 32px; }
  .ent-wordmark { font-size: 2.3rem; }
  .ent-titulo { font-size: 1.35rem; }
  .ent-card { padding: 18px 12px; }
  .ent-card__ico { width: 64px; height: 64px; }
  .ent-card__ico svg { width: 30px; height: 30px; }
  .ent-card h3 { font-size: 1.12rem; }
}
@media (max-width: 380px) {
  .ent-cards { grid-template-columns: 1fr; }
}
