.elementor-1052 .elementor-element.elementor-element-dd287a2{--display:flex;--min-height:100vh;--flex-direction:column-reverse;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-1052 .elementor-element.elementor-element-dd287a2:not(.elementor-motion-effects-element-type-background), .elementor-1052 .elementor-element.elementor-element-dd287a2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-1052 .elementor-element.elementor-element-ca0eb38{--display:flex;--min-height:0px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1052 .elementor-element.elementor-element-a52a7ae img{width:48%;}.elementor-1052 .elementor-element.elementor-element-b9d7f6d{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:10px 10px 10px 10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1052 .elementor-element.elementor-element-b9d7f6d:not(.elementor-motion-effects-element-type-background), .elementor-1052 .elementor-element.elementor-element-b9d7f6d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1052 .elementor-element.elementor-element-f0c78b7{width:var( --container-widget-width, 100% );max-width:100%;padding:10px 10px 10px 10px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-1052 .elementor-element.elementor-element-f0c78b7.elementor-element{--align-self:center;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-1052 .elementor-element.elementor-element-f4b2a63{width:100%;max-width:100%;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1052 .elementor-element.elementor-element-f4b2a63 .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-1052 .elementor-element.elementor-element-f4b2a63 .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-1052 .elementor-element.elementor-element-f4b2a63 .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-1052 .elementor-element.elementor-element-f4b2a63 .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-1052 .elementor-element.elementor-element-f4b2a63 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1052 .elementor-element.elementor-element-f4b2a63 .elementor-icon-list-item > a{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-1052 .elementor-element.elementor-element-f4b2a63 .elementor-icon-list-text{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-1052 .elementor-element.elementor-element-f4b2a63 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#343E4A38;}@media(max-width:767px){.elementor-1052 .elementor-element.elementor-element-a52a7ae img{width:76%;}.elementor-1052 .elementor-element.elementor-element-f0c78b7{padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-1052 .elementor-element.elementor-element-ca0eb38{--width:100%;}.elementor-1052 .elementor-element.elementor-element-b9d7f6d{--width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-f0c78b7 */.elementor-element-f0c78b7 {
  display: flex;
  flex-direction:center;
  justify-content: center;
  align-items: center;
 
}


.elementor-element-f0c78b7 .subtitle, h2 {
    text-align: center;
}

/* 1. O Contêiner principal que controla a largura e o alinhamento */
.meu-cadastro-container {
    max-width: 1000px; /* << AUMENTE ESTE VALOR PARA DEIXAR MAIS LARGO (ex: 900px, 1000px, etc) */
    width: 100%;      /* Garante que ele seja responsivo em telas menores */
    margin-left: auto;  /* Centraliza na página */
    margin-right: auto; /* Centraliza na página */
    padding: 40px;      /* Espaçamento interno */
}

.meu-cadastro-container h2{
   margin-bottom: 50px;
   font-weight: 300;
   
}


/* 2. A estrutura que cria as duas colunas */
.cadastro-form .form-columns {
    display: flex;       /* Ativa o modo flexbox */
    flex-wrap: wrap;     /* Permite que as colunas quebrem em telas pequenas */
    gap: 30px;           /* Espaço entre as duas colunas */
}

/* 3. Define que cada coluna ocupa metade do espaço */
.cadastro-form .form-column {
    flex: 1;             /* Faz as colunas dividirem o espaço igualmente */
    min-width: 250px;    /* Largura mínima antes de quebrar a linha */
}

/* --- ESTILOS GERAIS DOS CAMPOS (mantém o que você já fez) --- */

.cadastro-form p {
   margin-bottom: 20px;
}

.cadastro-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600; /* Um pouco mais forte */
}

.cadastro-form input[type="text"],
.cadastro-form input[type="email"],
.cadastro-form input[type="password"] {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
}

.cadastro-form input[type="submit"] {
    background-color: #343E4A; 
    color: white;
    padding: 15px 30px;
    border: none;
    cursor: pointer;
    width: 100%;
    border-radius: 8px;
    font-size: 16px;
    font-weight: bold;
}
.cadastro-form input[type="submit"]:hover {
    background-color: #AB95A9; 
}


.password-hints {
    font-size: 13px;
    color: #666;
    list-style-type: none; /* Remove as bolinhas */
    padding-left: 0;
    margin-top: 10px;
    margin-bottom: 20px;
}

.password-hints li {
    margin-bottom: 5px;
}

.terms {
    font-size: 13px;
    text-align: center;
    opacity: 0.8;
}

/* --- ESTILOS DE ERRO --- */
.error-message {
    display: block;
    color: #d83131;
    font-size: 13px;
    font-weight: 500;
    margin-top: 6px;
}

.cadastro-form input.error {
    border-color: #d83131 !important;
    background-color: #fff8f8;
}

/* Contêiner de referência para o ícone */
.cadastro-form p.password-wrapper {
    position: relative !important;
}


/* O contêiner clicável continua o mesmo */
.password-wrapper .toggle-password {
    position: absolute !important;
    top: 30px !important; 
    right: 5px !important;
    padding: 10px !important;
    cursor: pointer !important;
    z-index: 10 !important;
    line-height: 1; 
}

/* Estiliza o ícone <span> DENTRO do span clicável */
.password-wrapper .toggle-password .material-symbols-outlined {
    font-size: 20px; /* Tamanho do ícone */
    vertical-align: middle;
    opacity: 0.6;
    color: #333;
    /* Previne que o usuário selecione o texto "visibility" */
    user-select: none;
}

/* A regra do padding-right no input continua a mesma */
.cadastro-form .password-wrapper input {
    padding-right: 45px !important;
}


/* Estilos atualizados para as dicas de senha */
.password-hints {
    list-style: none;
    padding-left: 0;
    margin-top: 10px;
}

.password-hints li {
    color: #666; /* Cor padrão do texto */
    margin-bottom: 5px;
    transition: color 0.3s ease;
}

/* Classe que será adicionada via JS quando a regra for cumprida */
.password-hints li.valid-hint {
    color: green; /* Muda a cor do texto da dica para verde */
    font-weight: 500;
}

/* A MÁGICA ACONTECE AQUI! */
/* Cria um "elemento virtual" ANTES do texto da dica, mas SÓ se a classe .valid-hint estiver presente */
.password-hints li.valid-hint::before {
    content: '✔ '; /* O conteúdo a ser exibido: o check e um espaço */
    color: green;
    font-weight: bold;
}



/* Solução definitiva via CSS: Limita a largura do widget do Elementor */
.elementor-element.elementor-element-f0c78b7 .elementor-shortcode {
    max-width: 80%; /* << Defina a largura máxima que você quer */
    width: 100%;
    margin-left: auto !important;   /* Força a centralização */
    margin-right: auto !important;  /* Força a centralização */
}/* End custom CSS */