/* ============================================================================
   PORTAL DE ROMARIAS — SAHOST  ·  Criar acesso (mesmo padrão do login)
   ========================================================================== */

/* cabeçalho do cartão de cadastro */
.romarias-card-cad { max-width: 540px; }
.romarias-cad-eyebrow {
  font-size: 10px; font-weight: 800; letter-spacing: .22em;
  text-transform: uppercase; color: #9a6600;
  background: rgba(244,199,92,.24); border-radius: 999px;
  padding: 4px 11px; display: inline-block; margin-bottom: 12px;
}

/* seções do formulário */
.romarias-bloco { margin-bottom: 22px; min-width: 0; }
.romarias-grid > * { min-width: 0; }
.romarias-campo { min-width: 0; }
.romarias-field .romarias-input { max-width: 100%; }
.romarias-bloco-cab {
  display: flex; align-items: center; gap: 9px;
  margin-bottom: 13px;
}
.romarias-passo {
  width: 23px; height: 23px; border-radius: 50%; flex: none;
  display: grid; place-items: center;
  background: var(--navy); color: #fff;
  font-size: 11px; font-weight: 800;
}
.romarias-bloco-cab b {
  font-size: 12px; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase; color: #395779;
}
.romarias-bloco-cab .linha {
  flex: 1; height: 1px; background: linear-gradient(90deg, #dce5f0, transparent);
}

/* grade do formulário */
.romarias-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 13px; }
.romarias-grid .full { grid-column: 1 / -1; }

/* validação ao vivo */
.romarias-ok-ic {
  position: absolute; right: 13px; top: 50%; transform: translateY(-50%);
  color: #149b69; display: none;
}
.romarias-field.valid .romarias-input { border-color: #7fd4ae; background: #f6fdfa; }
.romarias-field.valid .romarias-ok-ic { display: block; }
.romarias-field.invalid .romarias-input { border-color: #e5a5a0; background: #fff8f7; }
.romarias-ajuda { font-size: 11px; color: #8798ae; margin: -14px 0 16px; line-height: 1.4; }
.romarias-ajuda.erro { color: #b42318; }

/* força da senha */
.romarias-forca { display: flex; gap: 4px; margin: -12px 0 16px; }
.romarias-forca i {
  flex: 1; height: 3px; border-radius: 2px; background: #e4ecf6;
  transition: background .25s;
}
.romarias-forca.f1 i:nth-child(1) { background: #e36a5c; }
.romarias-forca.f2 i:nth-child(-n+2) { background: #e8b13c; }
.romarias-forca.f3 i:nth-child(-n+3) { background: #149b69; }

/* select */
select.romarias-input {
  padding: 0 40px 0 46px;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232d679d' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  cursor: pointer;
}

/* rodapé do cartão */
.romarias-cad-acoes { display: flex; gap: 10px; margin-top: 6px; }
.romarias-cad-acoes .romarias-primary { flex: 1; }
.romarias-voltar {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 54px; padding: 0 20px; border-radius: 11px;
  border: 1px solid #cfdeee; background: #fff; color: var(--blue);
  font-size: 13.5px; font-weight: 800; cursor: pointer;
  transition: background .15s, border-color .15s;
}
.romarias-voltar:hover { background: #f7fbff; border-color: #a9c6e6; }

.romarias-jatem {
  text-align: center; margin-top: 16px; font-size: 12.5px; color: var(--muted);
}
.romarias-jatem button {
  background: none; border: 0; color: #2865a1; font-weight: 800;
  font-size: 12.5px; cursor: pointer; padding: 0 2px;
}
.romarias-jatem button:hover { text-decoration: underline; }

/* lista de benefícios no cartão */
.romarias-cad-notas {
  display: grid; gap: 8px; margin: 0 0 20px;
  padding: 13px 15px; border-radius: 11px;
  background: #f7faff; border: 1px solid #e2ecf9;
}
.romarias-cad-notas div {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 11.5px; color: #4c6482; line-height: 1.45;
}
.romarias-cad-notas svg { color: #149b69; flex: none; margin-top: 1px; }

@media (max-width: 760px) {
  .romarias-card-cad {
    max-width: 430px; padding: 12px 15px 13px;
    margin: 24px auto 0; border-radius: 16px;
  }
  /* cabeçalho compacto: logo menor, sem selo grande */
  .romarias-card-cad .romarias-card-logo { height: 32px; margin-bottom: 4px; }
  .romarias-cad-eyebrow {
    font-size: 8px; padding: 2px 8px; margin-bottom: 5px; letter-spacing: .16em;
  }
  .romarias-card-cad h2 { font-size: 16px; margin-bottom: 1px; }
  .romarias-card-cad .romarias-subtitle { font-size: 10.5px; margin-bottom: 8px; }

  /* blocos */
  .romarias-bloco { margin-bottom: 9px; }
  .romarias-bloco-cab { margin-bottom: 6px; gap: 6px; }
  .romarias-passo { width: 18px; height: 18px; font-size: 9.5px; }
  .romarias-bloco-cab b { font-size: 9.5px; letter-spacing: .04em; }
  .romarias-grid { grid-template-columns: minmax(0,1fr); gap: 0; }

  .romarias-card-cad .romarias-campo { margin-bottom: 0; }
  .romarias-card-cad .romarias-label { font-size: 9px; margin-bottom: 3px; }
  .romarias-card-cad .romarias-field { margin-bottom: 7px; }
  .romarias-card-cad .romarias-input { height: 40px; font-size: 16px; border-radius: 9px; }
  .romarias-card-cad .romarias-field svg.field-icon { width: 15px; height: 15px; left: 12px; }
  .romarias-card-cad .romarias-input { padding: 0 40px; }

  .romarias-forca { margin: -4px 0 5px; }
  .romarias-ajuda { font-size: 9.5px; margin: -2px 0 7px; }

  /* esconde as notas de confianca no mobile (economiza altura) */
  .romarias-cad-notas { display: none; }

  .romarias-cad-acoes { flex-direction: row; gap: 7px; margin-top: 3px; }
  .romarias-cad-acoes .romarias-primary { height: 44px; font-size: 13px; border-radius: 9px; }
  .romarias-voltar { height: 44px; width: auto; padding: 0 14px; font-size: 12px; border-radius: 9px; }
  .romarias-jatem { margin-top: 7px; font-size: 10.5px; }
  .romarias-jatem button { font-size: 10.5px; }
  .romarias-card-cad .romarias-security { margin-top: 7px; font-size: 9.5px; }
}

/* telas baixinhas */
@media (max-width: 760px) and (max-height: 700px) {
  .romarias-card-cad { padding: 10px 13px 11px; margin-top: 20px; }
  .romarias-card-cad .romarias-card-logo { height: 26px; }
  .romarias-cad-eyebrow { display: none; }
  .romarias-card-cad h2 { font-size: 15px; }
  .romarias-card-cad .romarias-subtitle { display: none; }
  .romarias-bloco { margin-bottom: 7px; }
  .romarias-card-cad .romarias-input { height: 38px; }
  .romarias-cad-acoes .romarias-primary, .romarias-voltar { height: 41px; }
  .romarias-ajuda { display: none; }
  .romarias-forca { margin: -2px 0 4px; }
}

/* ---- confirmação do e-mail ---- */
.romarias-cod-info {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 11.5px; line-height: 1.5; color: #194180;
  background: #eaf1fd; border: 1px solid #c8dcf7;
  border-radius: 9px; padding: 9px 11px; margin: 0 0 11px;
}
.romarias-cod-info svg { flex: none; margin-top: 1px; }
.romarias-input-cod {
  font-family: ui-monospace, 'Courier New', monospace;
  font-size: 22px !important; font-weight: 800;
  letter-spacing: 8px; text-align: center;
  padding: 0 12px !important; color: #102b4e;
}
.romarias-input-cod::placeholder { letter-spacing: 8px; color: #c3d2e4; }

@media (max-width: 760px) {
  .romarias-cod-info { font-size: 10.5px; padding: 7px 9px; margin-bottom: 8px; }
  .romarias-input-cod { font-size: 20px !important; letter-spacing: 7px; height: 46px !important; }
  #bloco-codigo .romarias-cad-acoes { flex-direction: row; }
  #bloco-codigo .romarias-voltar { padding: 0 11px; font-size: 11.5px; }
}
