/* Estilo geral */
body {
  font-family: "Apex New", sans-serif !important;
  margin: 0;
  padding: 0;
  background-color: #f4f4f4;
}
html{
  width: 100dvw;
}
.bg-form {
  background-color: #F1F3F4;
  align-items: flex-start; /* Alinha o conteúdo no topo */
  width: 100vw; /* Ocupa 100% da largura da janela */
  box-sizing: border-box; /* Inclui padding na largura total */
  margin-left: calc(50% - 50vw);
}
.disabledBtn {
  pointer-events: none;
  opacity: 0.6; 
}
/* Bloco de topo */
.top-block {
  max-width: 1170px;
  background-color: #F1F3F4;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto; /* Centraliza o bloco */
}

/* Estilo para o logo */
.top-block .logo {
  max-width: 72px;
  max-height: 72px;
}

/* Estilo para os textos à esquerda */
.top-block .text-content {
  flex: 1; /* Permite que o conteúdo de texto ocupe o espaço necessário */
  padding-right: 20px; /* Margem para separação do conteúdo */
  margin-left: auto;
  padding-left: 15px;
}

.text-content h1 {
  font-size: 24px;
  margin-bottom: 56px;
  margin-top: 32px;
  font-weight: 600;
  font-size: 30px;
  color: #000;
}
#edit-next:hover, #edit-submit:hover{
  background-color: #00365C !important;
  border: 2px solid #00365C !important;
  color: white !important;
}
#edit-prev:hover{
  background-color: white !important;
  color: black !important;
  border: 2px solid black !important;
}
#edit-entity, #edit-full-name, #edit-position, #edit-email, #edit-phone, #edit-password, #confirm-password-field, #password-field{
  color: #000 !important;
  outline: none !important;
  font-size: 16px !important;
}
#edit-entity:focus, #edit-full-name:focus, #edit-position:focus, #edit-email:focus, #edit-phone:focus, #password-field:focus, #confirm-password-field:focus{
  border: 1px solid #006EAB !important;
}
.text-content h2 {
  font-size: 24px;
  margin-bottom: 8px;
  font-weight: 550;
  color: #000;
}

.text-content p {
  font-size: 16px;
  font-weight: 400;
  color: #000;
}

/* Estilo para os passos à direita */
.steps {
  display: flex;
  align-items: center;
  justify-content: flex-end; /* Alinha ao final (direita) */
  padding-top: 10px;
}

.steps .step {
  display: flex;
  align-items: center;
  position: relative;
  margin-right: 12px;
  gap: 12px;
}

.steps .step .number {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: transparent;
  color: #6B7885;
  border-color: #6B7885;
  text-align: center;
  line-height: 25px;
  z-index: 1;
  border: 1px solid #6B7885;
  justify-content: center;
  align-items: center;
  display: flex;
}

.steps .step.active .number {
  border-color: #006EAB;
  color: #006EAB;
}

/* Linha que conecta os círculos */
.steps .step:not(:last-child)::after {
  content: '';
  position: static;
  top: 50%;
  left: 100%;
  width: 30px;
  height: 2px;
  background-color: #ddd;
  z-index: 0;
}

/* Bloco de formulário */
.form-block {
  background-color: #ffffff;
  padding: 20px;
  margin: 20px auto;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  align-items: flex-start; /* Alinha o conteúdo no topo */
  width: 100vw; /* Ocupa 100% da largura da janela */
  box-sizing: border-box; /* Inclui padding na largura total */
  margin-left: calc(50% - 50vw);
}

/* Estilos para os botões */
.form-block .actions {
  display: flex;
  justify-content: flex-end;
}

.form-block .actions input {
  margin-left: 10px;
  padding: 10px 20px;
  background-color: #007bff;
  color: #fff;
  border: none;
  cursor: pointer;
}

.form-block .actions input:hover {
  background-color: #0056b3;
}

.form-control {
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #ccc;
  width: 100%;
  box-sizing: border-box;
}

.custom-full-name {
  background-color: black;
}

form .form-item-entity{
  margin-top: 100px !important;
}

/* Estilo para os títulos dos campos */
form .form-item label {
  font-weight: 500;
  margin-bottom: 4px;
  display: block;
  font-size: 16px;
  color: #000;
}

/* Estilo para os campos de entrada */
form .form-item input[type="text"],
form .form-item input[type="email"],
form .form-item input[type="password"],
form .form-item input[type="tel"],
form .form-item select {
  width: 60%;
  height: 48px;
  padding: 0px 16px 0px 16px;
  margin-bottom: 44px;
  border-radius: 5px !important;
  border: 1px solid #B9CAD4;
  color: #5C6873;
}

form .form-item select.c-square {
  width: 35%;
  height: 48px;
  padding: 0px 16px 0px 16px;
  margin-bottom: 44px;
  border-radius: 5px !important;
  border: 1px solid #B9CAD4;
  color: #5C6873;
}

form .form-item-full-name{
  margin-top: 100px !important;
}

form .custom-position{
  border-radius: 5px !important;
  border: 1px solid #B9CAD4;
}

form .custom-nif{
  width: 35% !important
}
#edit-phone:focus {
  border: 0.5px solid #006EAB !important;
  outline: none !important;
}

/* Seta do dropdown menu*/

.select-container {
  position: relative;
  display: inline-block;
  width: 100%;
}

.custom-select-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.custom-select-wrapper label {
  display: inline;      
  white-space: nowrap;  
  width: fit-content;
  margin: 0;           
  padding: 0;           
}

#arrow-down-1 {
  position: absolute;
  top: 46%;
  left: 27%;            
  transform: translateY(-50%);
  pointer-events: none;     
  font-size: 20px;          
  color: #999;          
}
label[for="edit-position"]{
  pointer-events: none;
}
#edit-position{
  -webkit-appearance: none; 
  -moz-appearance: none;    
  appearance: none;       
  background: none;  
}
#edit-position{
  width: 30% !important;
}
@media (max-width: 1200px){
  #arrow-down-1{
      left:26%;
  }
}
@media (max-width: 768px){
  form .form-item select.c-square{
      width: 100% !important;
  }
  #arrow-down-1{
      margin-left: -35px;
      left: unset;
  }
}
.custom-input-divider{
  margin-top: 20px;
}
#edit-areas-of-interest--wrapper,
#edit-byproducts--wrapper,
#edit-high-value-products--wrapper,
#edit-areas-of-interest--wrapper .form-group,
#edit-byproducts--wrapper .form-group,
#edit-high-value-products--wrapper .form-group {
  display: inline-block !important;
}

/* Estilos para os botões */

.custom-input.btn {
  width: 137px;
  height: 40px;
  background-color: #006EAB !important;
  color: #fff;
  border-color: #006EAB !important;
  border: 2px solid #006EAB;
  border-radius: 5px !important;
  cursor: pointer;
  transition: 0.3s ease;
  margin-bottom: 111px;
  font-size: 16px;
  font-weight: 500 !important;
}

.custom-input.btn:hover {
  background: #00365C !important;
  border-color: #00365C !important;
}

.custom-input-1.btn {
  width: 137px;
  height: 40px;
  background-color: #fff !important;
  color: #006EAB !important;
  border-color: #006EAB !important;
  border: 2px solid #006EAB;
  border-radius: 5px !important;
  cursor: pointer;
  transition: 0.3s ease;
  margin-bottom: 111px;
  font-size: 16px;
  font-weight: 550 !important;
  text-transform: capitalize;
}

.custom-input-1.btn:hover {
  border-color: #000 !important;
  color: black !important;
}

.custom-title-info{
  font-weight: 550;
  font-size: 24px;
  margin-top: 100px;
  margin-bottom: 48px;
}

.custom-hr-divisor{
  border: 1px solid #CCE2EE;
  margin-top: 100px;
  margin-bottom: 100px;
  width: 70%;
  margin-left: 0;
}

.custom-input-divider{
  display: flex;
  gap: 24px;
}

form .custom-locality{
  width: 100% !important;
  flex-grow: 8;
}

form .custom-postal-code{
  width: 100% !important;
}

.custom-div{
  display: flex;
  gap: 24px;
  width: 60%;
}

.custom-div > div:nth-child(1) {
  flex-basis: 70%;
  flex-grow: 1;
}

.custom-div > div:nth-child(2) {
  flex-basis: 30%;
  flex-grow: 1;
}

form .custom-options-dropdowns{
  width: 60% !important
}

.js-form-item label.option {
  display: none !important;
}

/* Esconde a label duplicada gerada por 'form_element_label' */
.form-item-areas-of-interest-topic1 label.option {
  display: none !important;
}

.form-item-areas-of-interest-topic2 label.option {
  display: none !important;
}

.form-item-areas-of-interest-topic3 label.option {
  display: none !important;
}

.c-checkbox label > span.inc {
  display: none;
}

.c-checkbox label > span.check{
  display: none;
}

.c-checkbox label > span.box{
  display: none;
}

/* Esconde o checkbox padrão */
.custom-checkbox-buttons {
  position: relative;
}

.custom-checkbox-buttons input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

/* Estiliza a label que ficará visível */
.custom-checkbox-buttons label {
  display: inline-block !important;
  height: 40px;
  background-color: #fff;
  padding: 0px 20px !important;
  border: 1px solid #B9CAD4;
  border-radius: 5px;
  cursor: pointer;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #454E56 !important;
  transition: background-color 0.3s, border-color 0.3s;
  align-content: center;
  margin-right: 10px;
}

/* Estilo para checkbox selecionado */
.custom-checkbox-buttons input[type="checkbox"]:checked + label {
  background-color: #5CFFCD;
  color: black !important;
  border-color: #5CFFCD;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 500 !important;
}

.custom-interests-topic{
  font-weight: 550;
  font-size: 24px;
  margin-top: 100px;
  margin-bottom: 24px;
  color: #000;
}

/* Page success */

.registration-success-page {
  text-align: center;
  margin: 160px auto;
  max-width: 450px;
}

.registration-success-page .logo {
  max-width: 200px;
  margin-bottom: 56px;
}

.registration-success-page h1 {
  font-size: 24px;
  font-weight: 550;
  color: #000;
  margin-bottom: 8px;
}

.registration-success-page p {
  font-size: 16px;
  font-weight: 400;
  color: #000;
}

.registration-success-page .button {
  font-size: 16px;
  font-weight: 450;
  display: inline-block;
  margin-top: 56px;
  padding: 10px 20px;
  background-color: #006EAB;
  color: white;
  text-decoration: none;
  border-radius: 5px;
  border: 2px solid #006EAB;
  transition: 0.3s ease;
}

.registration-success-page .button:hover {
  background-color: #00365C !important;
  border: 2px solid #00365C !important;
}

/* .navbar{
  margin-top: -72px !important;
} */

.contextual-region{
  margin-top: 72px !important;
}

#block-breadcrumbswhite{
  margin-top: 72px !important;
}

.form-group.has-feedback {
  position: relative;
}

.form-group.has-feedback .password-toggle {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 2;
}

.form-group.has-feedback .password-field {
  padding-right: 40px; /* Adiciona espaço para o ícone */
  border-radius: 5px !important;
}

.field-password-div {
  width: 60%;
  margin-bottom: 44px;
}

.field-password-icon {
  height: 48px !important;
  margin-bottom: 44px;
  border-color: #B9CAD4;
  color: #5C6873 !important;
}


.password-toggle {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  margin-top: 10px;
}

.field-password-icon .custom-password-field {
  position: relative;
  padding-right: 30px; /* Dá espaço para o ícone */
  border: 1px solid #B9CAD4 !important;
}

.label-password {
  font-weight: 500;
  margin-bottom: 4px;
  display: block;
  font-size: 16px;
  color: #000;
}


@media (max-width: 768px) {
  #edit-position{
    width: 100% !important;
  }
  .top-block{
    width: fit-content;
    display: grid;
    justify-items: center;
    text-align: center;
    padding-top: 64px;
    padding-bottom: 38px;
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 60px;
  }

  form .form-item input[type="text"],
  form .form-item input[type="email"],
  form .form-item input[type="password"],
  form .form-item input[type="tel"],
  form .form-item select {
    width: 100%;
  }

  form .form-item select.c-square {
    width: 80%;
  }
  .custom-input-divider {
    flex-direction: column-reverse;
    gap: 0;
  }
  .custom-input-divider input{
    margin-bottom: 0 !important;
  }
  .custom-input.btn {
    width: 100%;
  }
  .custom-input-1.btn {
    width: 100%;
  }
 
  .custom-checkbox-buttons label {
    margin-bottom: 12px;
    margin-right: 7px;
  }
  .navbar {
      margin-top: 0px !important;
  }
  .field-password-div{
    width: 100%;
  }
  .user-data-title {
    margin-top: 80px;
    margin-bottom: 24px;
  }

  /* Page success */

  .registration-success-page {
      margin-left: auto;
      margin-right: auto;
      margin-top: 72px;
      margin-bottom: 0;
      padding-top: 60px;
  }

  .registration-success-page .logo {
      max-width: 80px;
      margin-bottom: 24px;
  }

}





