/* Formulários públicos compartilhados (Fale conosco + modais do perfil). */
.cf-form-publico{font-family:Montserrat,system-ui,sans-serif;color:#1f2937}
.cf-form-publico .form-group{margin-bottom:16px}
.cf-form-publico .form-group > label,
.cf-form-publico fieldset > label{
  display:block;
  margin:0 0 6px;
  font-weight:600;
  font-size:14px;
  color:#1d2b4f;
}
.cf-form-publico .cf-kicker{
  margin:8px 0 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#5b6474;
}
.cf-form-publico input[type=text],
.cf-form-publico input[type=tel],
.cf-form-publico input[type=email],
.cf-form-publico textarea,
.cf-form-publico select,
.cf-form-publico .form-control{
  display:block;
  width:100%;
  height:48px;
  padding:0 14px;
  border:1px solid #d7ddea;
  border-radius:12px;
  font-size:16px;
  line-height:1.5;
  color:#1f2937;
  background:#f9fafc;
  box-shadow:none!important;
  box-sizing:border-box;
  margin:0;
}
.cf-form-publico textarea,
.cf-form-publico textarea.form-control{
  height:auto;
  min-height:140px;
  padding:12px 14px;
  resize:vertical;
}
.cf-form-publico select.form-control{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%235b6474' d='M1.2 1.2L6 6l4.8-4.8'/></svg>");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:40px;
}
.cf-form-publico input:focus,
.cf-form-publico textarea:focus,
.cf-form-publico select:focus,
.cf-form-publico .form-control:focus{
  outline:none;
  border-color:#324673;
  box-shadow:0 0 0 3px rgba(50,70,115,.15)!important;
  background:#fff;
}
.cf-form-publico .ts-wrapper.form-control{
  padding:0!important;
  border:0!important;
  height:auto!important;
  min-height:0!important;
  background:none!important;
  box-shadow:none!important;
}
.cf-form-publico .ts-wrapper.single .ts-control{
  min-height:48px;
  padding:8px 36px 8px 14px;
  border:1px solid #d7ddea;
  border-radius:12px;
  background:#f9fafc;
  box-shadow:none;
  font-size:16px;
  font-weight:400;
  color:#1f2937;
}
.cf-form-publico .ts-wrapper.focus .ts-control,
.cf-form-publico .ts-wrapper.single.focus .ts-control{
  border-color:#324673;
  box-shadow:0 0 0 3px rgba(50,70,115,.15);
  background:#fff;
}
.cf-form-publico .ts-wrapper .ts-control input{
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  background:transparent!important;
  font-size:16px!important;
  font-weight:400!important;
}
.cf-check{display:flex;align-items:flex-start;gap:10px}
.cf-check input[type=checkbox]{margin-top:5px;flex:0 0 auto}
.cf-check label,
.cf-form-publico .cf-check label{
  margin:0;
  font-weight:500;
  font-size:14px;
  line-height:1.5;
  color:#1f2937;
  display:block;
}
.cf-check a,
.cf-form-publico .cf-check a{color:#324673;font-weight:600}

.cf-form-publico .rating{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:4px;
  align-items:center;
}
.cf-form-publico .rating input[type=radio]{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  margin:0;
  pointer-events:none;
}
.cf-form-publico .rating label{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  cursor:pointer;
  border-radius:10px;
  line-height:1;
}
.cf-form-publico .rating label i.opcao.fa::before,
.cf-form-publico .rating label i.fa::before{
  font-size:28px;
  color:#d0d5dd;
}
.cf-form-publico .rating:has(#star-1:checked) label[for="star-1"] i::before,
.cf-form-publico .rating:has(#star-2:checked) label[for="star-1"] i::before,
.cf-form-publico .rating:has(#star-2:checked) label[for="star-2"] i::before,
.cf-form-publico .rating:has(#star-3:checked) label[for="star-1"] i::before,
.cf-form-publico .rating:has(#star-3:checked) label[for="star-2"] i::before,
.cf-form-publico .rating:has(#star-3:checked) label[for="star-3"] i::before,
.cf-form-publico .rating:has(#star-4:checked) label[for="star-1"] i::before,
.cf-form-publico .rating:has(#star-4:checked) label[for="star-2"] i::before,
.cf-form-publico .rating:has(#star-4:checked) label[for="star-3"] i::before,
.cf-form-publico .rating:has(#star-4:checked) label[for="star-4"] i::before,
.cf-form-publico .rating:has(#star-5:checked) label[for="star-1"] i::before,
.cf-form-publico .rating:has(#star-5:checked) label[for="star-2"] i::before,
.cf-form-publico .rating:has(#star-5:checked) label[for="star-3"] i::before,
.cf-form-publico .rating:has(#star-5:checked) label[for="star-4"] i::before,
.cf-form-publico .rating:has(#star-5:checked) label[for="star-5"] i::before,
.cf-form-publico .rating:has(label[for="star-1"]:hover) label[for="star-1"] i::before,
.cf-form-publico .rating:has(label[for="star-2"]:hover) label[for="star-1"] i::before,
.cf-form-publico .rating:has(label[for="star-2"]:hover) label[for="star-2"] i::before,
.cf-form-publico .rating:has(label[for="star-3"]:hover) label[for="star-1"] i::before,
.cf-form-publico .rating:has(label[for="star-3"]:hover) label[for="star-2"] i::before,
.cf-form-publico .rating:has(label[for="star-3"]:hover) label[for="star-3"] i::before,
.cf-form-publico .rating:has(label[for="star-4"]:hover) label[for="star-1"] i::before,
.cf-form-publico .rating:has(label[for="star-4"]:hover) label[for="star-2"] i::before,
.cf-form-publico .rating:has(label[for="star-4"]:hover) label[for="star-3"] i::before,
.cf-form-publico .rating:has(label[for="star-4"]:hover) label[for="star-4"] i::before,
.cf-form-publico .rating:has(label[for="star-5"]:hover) label[for="star-1"] i::before,
.cf-form-publico .rating:has(label[for="star-5"]:hover) label[for="star-2"] i::before,
.cf-form-publico .rating:has(label[for="star-5"]:hover) label[for="star-3"] i::before,
.cf-form-publico .rating:has(label[for="star-5"]:hover) label[for="star-4"] i::before,
.cf-form-publico .rating:has(label[for="star-5"]:hover) label[for="star-5"] i::before{
  color:#f26e35;
}
.cf-form-publico .rating label:hover,
.cf-form-publico .rating label:focus-visible{
  background:#fff1ea;
}
.cf-form-publico .rating input[type=radio]:focus-visible + label{
  outline:2px solid #324673;
  outline-offset:2px;
}

.cf-enviar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:52px;
  border:0;
  border-radius:999px;
  background:#f26e35;
  color:#fff;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
  font-family:inherit;
  line-height:1;
}
.cf-enviar:hover{filter:brightness(.93);color:#fff;text-decoration:none}
.cf-enviar:disabled{opacity:.7;cursor:default;filter:none}
.cf-enviar:focus-visible{outline:2px solid #324673;outline-offset:2px}

/* Acima do header fixo (.cf-hdr z-index 10000) para o título não ficar cortado. */
.modal.cf-modal{z-index:10050}
body:has(.modal.cf-modal.show) .modal-backdrop{z-index:10040}

.cf-modal .modal-dialog{
  margin:calc(var(--cf-h, 64px) + 12px) 12px 12px;
  max-width:500px;
  max-height:calc(100vh - var(--cf-h, 64px) - 24px);
  max-height:calc(100dvh - var(--cf-h, 64px) - 24px);
}
@media (min-width:576px){
  .cf-modal .modal-dialog{
    margin-left:auto;
    margin-right:auto;
  }
}
.cf-modal .modal-dialog-centered{
  min-height:calc(100% - var(--cf-h, 64px) - 24px);
  min-height:calc(100dvh - var(--cf-h, 64px) - 24px);
  align-items:center;
}
.cf-modal .modal-dialog-centered::before{
  height:calc(100vh - var(--cf-h, 64px) - 24px);
  height:calc(100dvh - var(--cf-h, 64px) - 24px);
}
.cf-modal .modal-content{
  border:1px solid #e5e8ef;
  border-radius:18px;
  box-shadow:0 16px 36px rgba(31,45,77,.16);
  overflow:hidden;
  background:#fff;
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - var(--cf-h, 64px) - 24px);
  max-height:calc(100dvh - var(--cf-h, 64px) - 24px);
}
.cf-modal .modal-header,
.cf-modal .modal-footer{flex:0 0 auto}
.cf-modal .modal-header{
  border-bottom:1px solid #eef1f6;
  padding:20px 20px 14px 24px;
  align-items:flex-start;
}
.cf-modal .cf-modal__titulos{flex:1 1 auto;min-width:0;padding-right:8px}
.cf-modal .modal-title{
  font-size:22px;
  font-weight:700;
  color:#324673;
  margin:0 0 6px;
  letter-spacing:-.3px;
  line-height:1.3;
}
.cf-modal .cf-sub{color:#5b6474;margin:0;font-size:14px;font-weight:500;line-height:1.45}
.cf-modal .cf-modal__fechar,
.cf-modal .modal-header .close{
  margin:-2px -2px 0 8px;
  padding:0;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:transparent!important;
  box-shadow:none!important;
  font-size:28px;
  line-height:44px;
  font-weight:400;
  color:#5b6474;
  opacity:1;
  text-shadow:none;
  flex:0 0 44px;
}
.cf-modal .cf-modal__fechar:hover,
.cf-modal .modal-header .close:hover{
  color:#1f2937;
  opacity:1;
  background:#f3f4f8!important;
}
.cf-modal .modal-body{
  flex:1 1 auto;
  min-height:0;
  padding:8px 24px 20px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  max-height:none;
}
.cf-modal .modal-footer{
  border-top:1px solid #eef1f6;
  padding:16px 24px calc(16px + env(safe-area-inset-bottom, 0px));
  justify-content:stretch;
  background:#fff;
}
.cf-modal .modal-footer .cf-enviar{width:100%}
.cf-form-publico .form-group:last-child{margin-bottom:0}
@media (max-width:575px){
  .cf-modal .modal-dialog{margin:calc(var(--cf-h, 64px) + 8px) 12px 12px}
  .cf-modal .modal-header{padding:14px 12px 12px 18px}
  .cf-modal .modal-body,
  .cf-modal .modal-footer{padding-left:18px;padding-right:18px}
  .cf-modal .modal-body{padding-top:6px;padding-bottom:8px}
  .cf-modal .modal-title{font-size:18px}
  .cf-form-publico .form-group{margin-bottom:12px}
  .cf-form-publico textarea,
  .cf-form-publico textarea.form-control{min-height:96px}
}
