/* Correções finais de composição da identidade Lírio. */
.hero h1 br{display:block}.hero h1{max-width:760px;word-spacing:normal}.hero main{max-width:820px}.hero nav{padding-inline:clamp(1.25rem,5vw,7rem)}
.auth{width:min(100% - 40px,1020px)!important;min-height:100vh!important;margin:auto!important;padding:clamp(34px,7vw,88px)!important;display:grid!important;align-content:center!important;grid-template-columns:minmax(0,1fr) minmax(340px,430px)!important;gap:clamp(42px,8vw,120px)!important;background:transparent!important;box-shadow:none!important;border:0!important;position:relative}.auth:before{content:"PORTAL LÍRIO\A Uma comunidade para caminhar junto.";white-space:pre-line;display:flex;align-items:flex-end;padding:42px;background:linear-gradient(145deg,#111 0%,#171717 64%,#00af69 64%,#00af69 100%);color:#fff;font:800 clamp(34px,4vw,62px)/.9 Manrope,Arial,sans-serif;letter-spacing:-.075em;text-transform:uppercase;min-height:500px}.auth .brand,.auth>.eyebrow,.auth>h1,.auth>p,.auth>form,.auth>.text-link{grid-column:2}.auth .brand{position:absolute;top:42px;right:0;color:#111!important;font-size:14px!important;letter-spacing:.08em}.auth .brand small{color:#00af69}.auth>.eyebrow{color:#00af69!important;font-size:10px!important;letter-spacing:.14em;margin:0 0 8px!important;font-weight:800}.auth>h1{font-size:clamp(38px,4vw,54px)!important;line-height:.92!important;letter-spacing:-.075em!important;text-transform:uppercase;margin:0!important;max-width:430px}.auth>p:not(.eyebrow):not(.error):not(.auth-help){font-size:13px!important;line-height:1.65!important;color:#6c6c6c!important;margin:12px 0 18px!important;max-width:390px}.auth form{display:grid;gap:14px;background:#fff;padding:0!important}.auth label{font-size:12px!important;font-weight:800!important}.auth input{height:48px!important;border:1px solid #cfd7d1!important;background:#fff!important;border-radius:0!important;font-size:14px!important}.auth .btn{height:50px!important;background:#00af69!important;color:#062e1d!important;border:0!important;letter-spacing:.12em!important}.auth .auth-help{font-size:11px!important;line-height:1.6!important;margin:0!important}.auth .text-link{color:#00af69!important;font-size:11px!important;font-weight:800!important;margin-top:18px!important}@media(max-width:760px){.auth{display:block!important;width:100%!important;padding:30px 24px 48px!important;min-height:100vh!important}.auth:before{display:none}.auth .brand{position:static;display:block;margin-bottom:65px!important}.auth>h1{font-size:42px!important;max-width:330px}.auth form{margin-top:20px}.auth .auth-help{margin-top:18px!important}}
.auth.auth{display:block!important;width:min(100% - 40px,440px)!important;min-height:auto!important;margin:0 calc((100vw - 1020px)/2) 0 auto!important;padding:92px 0 72px!important;background:transparent!important}.auth.auth:before{position:fixed;left:max(32px,calc((100vw - 1020px)/2));top:88px;width:300px;height:560px;min-height:0;padding:36px;box-sizing:border-box;font-size:43px!important;z-index:-1}.auth.auth .brand{position:static!important;display:inline-flex!important;margin-bottom:72px!important}.auth.auth>.eyebrow,.auth.auth>h1,.auth.auth>p,.auth.auth>form,.auth.auth>.text-link{display:block!important}.auth.auth>h1{font-size:46px!important;max-width:380px}.auth.auth form{margin-top:22px!important}.auth.auth .text-link{display:inline-block!important}@media(max-width:1080px){.auth.auth{margin:auto!important}}@media(max-width:760px){.auth.auth{width:100%!important;padding:30px 24px 48px!important}.auth.auth:before{display:none}.auth.auth .brand{margin-bottom:62px!important}.auth.auth>h1{font-size:40px!important}}
.auth .password-control{position:relative!important;display:block!important;width:100%!important}.auth .password-toggle{right:14px!important;top:50%!important;z-index:2}.auth .password-control input{box-sizing:border-box!important;padding-right:7.5rem!important}

/* Refinamento da tela de login: evita estouro do texto no card lateral e melhora o toggle de senha. */
@media(min-width:1081px){
  .auth.auth{
    width:min(100% - 40px,520px)!important;
    margin:0 max(72px,calc((100vw - 1180px)/2)) 0 auto!important;
  }
  .auth.auth:before{
    left:max(64px,calc((100vw - 1180px)/2))!important;
    width:430px!important;
    height:560px!important;
    padding:52px 42px!important;
    font-size:48px!important;
    line-height:.92!important;
    overflow:hidden!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

@media(min-width:1081px) and (max-width:1320px){
  .auth.auth:before{
    width:360px!important;
    font-size:42px!important;
    padding:44px 36px!important;
  }
  .auth.auth{
    width:min(100% - 40px,470px)!important;
  }
}

.auth .password-control{
  position:relative!important;
}

.auth .password-toggle{
  right:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:86px!important;
  height:32px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#eef7f2!important;
  color:#008a55!important;
  text-decoration:none!important;
  box-shadow:0 0 0 1px rgba(0,175,105,.08)!important;
  white-space:nowrap!important;
}

.auth .password-toggle:hover,
.auth .password-toggle:focus-visible{
  background:#00af69!important;
  color:#062e1d!important;
  text-decoration:none!important;
}

.auth:not(.signup-auth) form{
  gap:18px!important;
  background:#fff!important;
  padding:0!important;
}

.auth:not(.signup-auth) label{
  display:grid!important;
  gap:8px!important;
  color:#111!important;
  font-size:12px!important;
  font-weight:800!important;
}

.auth:not(.signup-auth) input{
  box-sizing:border-box!important;
  width:100%!important;
  height:56px!important;
  min-height:56px!important;
  margin:0!important;
  border:1px solid #d7ded9!important;
  background:#fff!important;
  color:#111!important;
  padding:0 16px!important;
  font:700 15px/1.2 Manrope,Arial,sans-serif!important;
  box-shadow:none!important;
}

.auth .password-control{
  position:relative!important;
  display:block!important;
  width:100%!important;
  margin-top:8px!important;
}

.auth .password-control input{
  height:56px!important;
  min-height:56px!important;
  padding-right:118px!important;
  margin-top:0!important;
}

.auth .password-toggle{
  right:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  min-width:92px!important;
  height:34px!important;
  border:0!important;
  background:#eef7f2!important;
  color:#008a55!important;
  font:900 11px/1 Manrope,Arial,sans-serif!important;
  letter-spacing:.08em!important;
}

.auth .field-feedback{
  min-height:0!important;
  margin:7px 0 0!important;
  color:#b3261e!important;
  font:800 12px/1.35 Manrope,Arial,sans-serif!important;
}

.auth .field-feedback:empty{
  display:none!important;
}

.auth input.is-invalid{
  border-color:#d0382f!important;
  box-shadow:0 0 0 3px rgba(208,56,47,.12)!important;
}

.signup-auth form{
  gap:20px!important;
  width:100%!important;
  padding:24px!important;
  border:1px solid #e1e7e3!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(16,16,16,.06)!important;
}

.signup-auth label,
.signup-ministry-field legend,
.signup-terms-field legend{
  display:block!important;
  color:#111!important;
  margin:0!important;
}

.signup-auth input,
.signup-auth select{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:50px!important;
  border:1px solid #d7ded9!important;
  background:#fff!important;
  color:#111!important;
  padding:0 15px!important;
  font:700 15px/1.2 Manrope,Arial,sans-serif!important;
  box-shadow:none!important;
  margin-top:8px!important;
}

.signup-auth input,
.signup-auth select,
.signup-auth .password-control,
.signup-auth .signup-ministry-field,
.signup-auth .signup-terms-field,
.signup-auth .form-note,
.signup-auth .consent-field{
  max-width:100%!important;
}

.signup-auth select{
  appearance:none!important;
  background-image:linear-gradient(45deg,transparent 50%,#111 50%),linear-gradient(135deg,#111 50%,transparent 50%)!important;
  background-position:calc(100% - 19px) 22px,calc(100% - 13px) 22px!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
  padding-right:42px!important;
}

.signup-auth input:focus,
.signup-auth select:focus{
  border-color:#00af69!important;
  outline:3px solid rgba(0,175,105,.18)!important;
  outline-offset:0!important;
}

.signup-auth .signup-photo-field{
  padding:15px!important;
  border:1px solid #d9ebe2!important;
  background:#f7f8f6!important;
}

.signup-auth .signup-photo-field input[type=file]{
  display:block!important;
  height:auto!important;
  min-height:48px!important;
  padding:12px!important;
  background:#fff!important;
}

.signup-auth .signup-photo-field small{
  display:block!important;
  margin-top:8px!important;
  color:#66716b!important;
  font:700 12px/1.45 Manrope,Arial,sans-serif!important;
}

.signup-ministry-field,
.signup-terms-field{
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:grid!important;
  gap:12px!important;
}

.signup-ministry-field legend,
.signup-terms-field legend{
  padding:0!important;
  font-size:12px!important;
  font-weight:800!important;
}

.signup-ministry-field legend span,
.signup-auth label span{
  color:#66716b!important;
  font-weight:700!important;
}

.signup-ministry-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  max-height:245px!important;
  overflow:auto!important;
  padding:10px!important;
  border:1px solid #d7ded9!important;
  background:#f7f8f6!important;
  scrollbar-gutter:stable!important;
}

.signup-auth .form-note{
  margin:0!important;
  padding:14px 16px!important;
  border-left:4px solid #00af69!important;
  background:#f1faf6!important;
  color:#506158!important;
  font:700 13px/1.55 Manrope,Arial,sans-serif!important;
}

.signup-auth .form-note + label,
.signup-auth .password-control + .field-feedback + label{
  margin-top:6px!important;
}

.signup-auth label:has(.password-control){
  margin-top:2px!important;
}

.signup-auth label:has(.password-control) + label:has(.password-control){
  margin-top:8px!important;
}

.signup-auth .signup-choice{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:54px!important;
  padding:12px 14px!important;
  border:1px solid #e3e8e4!important;
  background:#fff!important;
  cursor:pointer!important;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease!important;
}

.signup-auth .signup-choice input{
  appearance:none!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #aebbb3!important;
  border-radius:50%!important;
  background:#fff!important;
}

.signup-auth .signup-choice input:checked{
  border-color:#00af69!important;
  background:#00af69!important;
  box-shadow:inset 0 0 0 4px #fff!important;
}

.signup-auth .signup-choice:has(input:checked){
  border-color:#00af69!important;
  background:#effaf5!important;
}

.signup-auth .signup-choice span{
  color:#17231c!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.25!important;
}

.signup-auth .consent-field{
  display:grid!important;
  grid-template-columns:22px 1fr!important;
  align-items:start!important;
  gap:12px!important;
  margin:2px 0 0!important;
  padding:16px!important;
  border:1px solid #d9ebe2!important;
  border-left:4px solid #00af69!important;
  background:#f1faf6!important;
  color:#17231c!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.45!important;
}

.signup-auth .consent-field input{
  appearance:none!important;
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:1px 0 0!important;
  padding:0!important;
  border:1px solid #8e9b93!important;
  background:#fff!important;
}

.signup-auth .consent-field input:checked{
  border-color:#00af69!important;
  background:#00af69!important;
  box-shadow:inset 0 0 0 4px #fff!important;
}

.signup-auth .field-feedback:empty{
  display:none!important;
}

.signup-auth .btn{
  width:min(100%,220px)!important;
  margin-top:2px!important;
}

@media(max-width:760px){
  .signup-auth form{
    padding:18px!important;
    gap:18px!important;
  }

  .signup-ministry-grid{
    grid-template-columns:1fr!important;
    max-height:310px!important;
  }
}

/* E2E mobile: login e cadastro com alvo confortavel e leitura maior. */
@media(max-width:760px){
  .auth.auth{padding:28px 22px 52px!important}
  .auth.auth .brand{
    min-height:44px!important;
    display:inline-flex!important;
    align-items:center!important;
    margin-bottom:46px!important;
    font-size:15px!important;
  }
  .auth.auth>h1{font-size:clamp(38px,11vw,46px)!important;line-height:.96!important}
  .auth.auth>p:not(.eyebrow):not(.error):not(.auth-help),
  .auth.auth .auth-help{font-size:15px!important;line-height:1.6!important}
  .auth.auth label{font-size:14px!important;line-height:1.35!important}
  .auth.auth input,.auth.auth select{
    min-height:50px!important;
    height:auto!important;
    padding:13px 14px!important;
    font-size:16px!important;
    line-height:1.35!important;
  }
  .auth.auth .btn,.auth.auth button[type=submit]{
    min-height:50px!important;
    height:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:14px 16px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  .auth.auth .text-link{
    min-height:42px!important;
    display:inline-flex!important;
    align-items:center!important;
    font-size:13px!important;
    line-height:1.3!important;
  }
  .auth.auth .password-toggle{
    min-width:44px!important;
    min-height:42px!important;
  }
}

/* E2E mobile: radios e consentimento com alvo real de toque. */
@media(max-width:760px){
  .signup-auth .signup-choice{
    min-height:58px!important;
  }
  .signup-auth .signup-choice input{
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border:0!important;
    background:radial-gradient(circle at center,#fff 0 8px,transparent 9px),#fff!important;
    box-shadow:inset 0 0 0 1px #aebbb3!important;
  }
  .signup-auth .signup-choice input:checked{
    background:radial-gradient(circle at center,#00af69 0 8px,#fff 9px 14px,transparent 15px),#fff!important;
    box-shadow:inset 0 0 0 1px #00af69!important;
  }
  .signup-auth .consent-field{
    grid-template-columns:44px 1fr!important;
    align-items:center!important;
    min-height:64px!important;
  }
  .signup-auth .consent-field input{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:linear-gradient(#fff,#fff) center/22px 22px no-repeat!important;
    box-shadow:inset 0 0 0 1px #8e9b93!important;
  }
  .signup-auth .consent-field input:checked{
    background:linear-gradient(#00af69,#00af69) center/22px 22px no-repeat!important;
    box-shadow:inset 0 0 0 1px #00af69!important;
  }
  .auth.auth .text-link,
  .signup-auth .text-link{
    min-height:44px!important;
  }
}
