

/*  RESET BÁSICO --------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:#f5f7fb;color:#222;line-height:1.5;-webkit-font-smoothing:antialiased}
input,select,textarea,button{font:inherit;color:inherit}
img{max-width:100%;display:block}
a{color:#0366d6;text-decoration:none}
a:hover{text-decoration:underline}

/*  WRAPPER GERAL -------------------------------------------------- */
.wprir-wrapper{max-width:1080px;margin:2rem auto;padding:0 1rem}

/*  ETAPAS (cards) ------------------------------------------------- */
.step{
  background:#fff;border:1px solid #e2e8f0;border-radius:8px;
  padding:2rem;margin-bottom:2.5rem;
  box-shadow:0 2px 4px rgba(0,0,0,.04)}
.step-title{
  font-size:clamp(1.4rem,4vw,2rem);font-weight:600;
  margin-bottom:1.75rem;position:relative}
.step-title::before{
  content:"";position:absolute;left:-1rem;top:.3rem;width:3px;height:80%;
  background:#0061ff;border-radius:2px}

/*  GRID genérico -------------------------------------------------- */
.row{display:flex;flex-wrap:wrap;gap:1rem}
.col{flex:1 1 0}
.col-33{flex:1 1 33%}
.col-50{flex:1 1 48%}
.col-66{flex:1 1 66%}
@media(max-width:600px){
  .row{flex-direction:column}
  .col,.col-33,.col-50,.col-66{flex:1 1 100%}
}

/*  CAMPOS --------------------------------------------------------- */
label{display:block;font-weight:500;margin:.75rem 0 .35rem}
.required::after{content:"*";color:#e11d48;margin-left:2px}

input[type=text],input[type=url],input[type=email],input[type=file],
select,textarea{
  width:100%;padding:.65rem .75rem;border:1px solid #cbd5e1;
  border-radius:4px;background:#fefefe;transition:border-color .15s}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:#0061ff;box-shadow:0 0 0 2px rgba(0,97,255,.15)}

textarea{min-height:120px;resize:vertical}

/*  GRID DE GÊNEROS ----------------------------------------------- */
.wprir-checkboxes{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:.25rem 1rem;margin-top:.75rem}
.wprir-checkboxes label{
  display:flex;align-items:center;font-weight:400;margin:0;font-size:.93rem}
.wprir-checkboxes input{margin-right:.35rem}

/*  HELP / INFO ---------------------------------------------------- */
.help{font-size:.875rem;color:#475569;margin-top:.25rem}
.well{
  background:#fff9db;border:1px solid #fef3c7;border-radius:6px;
  padding:1.25rem;margin:1rem 0}
.well h4{color:#b45309;font-size:1.05rem;margin-bottom:.5rem}

/*  BOTÕES --------------------------------------------------------- */
.actions{
  display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem}
.btn{
  padding:.65rem 1.25rem;border:1px solid transparent;border-radius:4px;
  font-weight:500;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s}
.btn-primary{background:#0061ff;color:#fff}
.btn-primary:hover{background:#0052d1}
.btn-reset{background:#e2e8f0;color:#1e293b}
.btn-reset:hover{background:#cbd5e1}

/*  LINHA DIVISÓRIA ------------------------------------------------ */
hr{border:none;border-top:1px solid #e2e8f0;margin:1.75rem 0}




