html,body{
	margin:0;
	padding:0;
	overflow-x:hidden;
}

*{
	box-sizing:border-box;
}

.container_membro{
	max-width:980px;
	margin:20px auto 28px auto;
	padding:0 16px;
	font-family:Arial, Helvetica, sans-serif;
}

.titulo_membro{
	font-size:30px;
	font-weight:800;
	margin:0 0 14px 0;
	color:#1a3e6e;
	text-align:center;
	line-height:1.15;
}

.box_membro{
	background:#fff;
	padding:22px;
	border-radius:16px;
	box-shadow:0 8px 25px rgba(0,0,0,0.08);
	border:1px solid #e3eaf3;
}

.texto_intro_membro{
	font-size:14px;
	line-height:1.6;
	color:#52657e;
	text-align:center;
	margin:0 0 18px 0;
}

.form_membro{
	display:flex;
	flex-direction:column;
	gap:12px;
}

.grid_dupla{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px 14px;
}

.grid_cep_end_num{
	display:grid;
	grid-template-columns:120px 1fr 90px;
	gap:10px 12px;
}

.grid_bairro_cidade_estado{
	display:grid;
	grid-template-columns:1.1fr 1fr 90px;
	gap:10px 12px;
}

.form_membro label.lbl{
	display:block;
	font-weight:700;
	font-size:13px;
	color:#2c4668;
	margin-bottom:5px;
}

.form_membro input[type="text"],
.form_membro input[type="email"],
.form_membro input[type="password"]{
	width:100%;
	height:36px;
	padding:0 10px;
	border:1px solid #cfd9e5;
	border-radius:8px;
	font-size:13px;
	background:#fff;
}

.form_membro input:focus{
	outline:none;
	border-color:#5b87b5;
	box-shadow:0 0 0 3px rgba(91,135,181,0.12);
}

.linha_data_idade{
	display:grid;
	grid-template-columns:1fr 120px;
	gap:10px;
	align-items:center;
}

.idade_box{
	height:36px;
	border:1px solid #cfd9e5;
	border-radius:8px;
	background:#f8fbff;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	font-size:12px;
	color:#2c4668;
}

.idade_box strong{
	font-size:14px;
	color:#1a3e6e;
}

.linha_senha_dupla{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px 14px;
}

.campo_senha_box{
	display:flex;
	align-items:center;
	gap:8px;
}

.campo_senha_box input[type="password"],
.campo_senha_box input[type="text"]{
	height:32px !important;
	font-size:12px;
	padding:0 8px;
}

.exibir_inline{
	display:flex;
	align-items:center;
	gap:4px;
	white-space:nowrap;
	font-size:12px;
	color:#314b6c;
	min-width:52px;
}

.exibir_inline input{
	width:13px;
	height:13px;
	margin:0;
}

.check_item_youtube{
	margin-top:12px;
	background:#f8fbff;
	border:1px solid #d8e4f0;
	border-radius:10px;
	padding:8px 10px;
	display:flex;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
}

.bloco_checks_linha3{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:8px 10px;
	margin-top:8px;
}

.check_item{
	background:#f8fbff;
	border:1px solid #d8e4f0;
	border-radius:10px;
	padding:8px 10px;
	min-height:38px;
	display:flex;
	align-items:center;
}

.check_label{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:12px;
	color:#314b6c;
	line-height:1.2;
	margin:0;
	cursor:pointer;
}

.check_label input{
	margin:0;
	width:14px;
	height:14px;
	flex:0 0 auto;
}

.box_youtube_inline{
	display:none;
	align-items:center;
	gap:8px;
	flex:1;
	min-width:280px;
}

.box_youtube_inline.visivel{
	display:flex;
}

.lbl_youtube_inline{
	white-space:nowrap;
	font-size:12px;
	font-weight:700;
	color:#2c4668;
	margin:0;
}

#nome_conta_youtube{
	height:34px;
	flex:1;
	min-width:180px;
}

.linha_consentimentos{
	display:grid;
	grid-template-columns:1fr;
	gap:10px;
}

.consent_box{
	background:#f8fbff;
	border:1px solid #d8e4f0;
	border-radius:10px;
	padding:6px 8px;
	min-height:38px;
	display:flex;
	align-items:center;
}

.consent_box_regra{
	background:#fffdf4;
	border:1px solid #f0e0a6;
	justify-content:space-between;
	gap:10px;
}

.consent_texto{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:12.5px;
	color:#314b6c;
	line-height:1.25;
}

.consent_texto input{
	margin:0;
	width:14px;
	height:14px;
	flex:0 0 auto;
}

.botao_membro_inline{
	height:30px;
	padding:0 14px;
	background:#f39c12;
	color:#fff;
	border:0;
	border-radius:18px;
	cursor:pointer;
	font-size:12px;
	font-weight:700;
	white-space:nowrap;
	box-shadow:0 3px 10px rgba(243,156,18,0.25);
}

.botao_membro_inline:disabled{
	background:#d8dee8;
	color:#7b8798;
	cursor:not-allowed;
	box-shadow:none;
}

.popup_overlay{
	display:none;
	position:fixed;
	inset:0;
	background:rgba(10,18,30,0.58);
	z-index:99999;
	align-items:center;
	justify-content:center;
	padding:20px;
}

.popup_overlay.visivel{
	display:flex;
}

.popup_box{
	width:100%;
	max-width:420px;
	background:#fff;
	border-radius:16px;
	box-shadow:0 18px 45px rgba(0,0,0,0.25);
	border:1px solid #dfe7f2;
	overflow:hidden;
}

.popup_topo{
	padding:14px 18px;
	font-size:16px;
	font-weight:800;
	color:#fff;
}

.popup_topo.erro{
	background:linear-gradient(135deg,#c0392b,#e74c3c);
}

.popup_topo.sucesso{
	background:linear-gradient(135deg,#1f8f4d,#27ae60);
}

.popup_conteudo{
	padding:18px;
	font-size:14px;
	line-height:1.55;
	color:#334155;
}

.popup_acoes{
	padding:0 18px 18px 18px;
	display:flex;
	justify-content:flex-end;
}

.popup_btn{
	min-width:92px;
	height:36px;
	border:0;
	border-radius:10px;
	font-size:13px;
	font-weight:700;
	cursor:pointer;
	background:#1a3e6e;
	color:#fff;
}

body.modo-escuro .box_membro,
body.modo-escuro .check_item,
body.modo-escuro .check_item_youtube,
body.modo-escuro .consent_box{
	background:#182230;
	border-color:#2b3a4d;
	color:#e7eef7;
}

body.modo-escuro .titulo_membro,
body.modo-escuro .form_membro label.lbl,
body.modo-escuro .lbl_youtube_inline{
	color:#e7eef7;
}

body.modo-escuro .texto_intro_membro,
body.modo-escuro .check_label,
body.modo-escuro .consent_texto,
body.modo-escuro .exibir_inline{
	color:#b8c6d6;
}

body.modo-escuro .form_membro input{
	background:#101923;
	border-color:#32465d;
	color:#e5edf6;
}

body.modo-escuro .idade_box{
	background:#101923;
	border-color:#32465d;
	color:#dce6f1;
}

body.modo-escuro .idade_box strong{
	color:#ffffff;
}

@media(max-width:900px){
	.bloco_checks_linha3{
		grid-template-columns:1fr;
	}
}

@media(max-width:700px){
	.container_membro{
		max-width:100%;
		margin:18px auto 26px auto;
		padding:0 10px;
	}

	.grid_dupla,
	.grid_cep_end_num,
	.grid_bairro_cidade_estado,
	.linha_senha_dupla,
	.linha_data_idade{
		grid-template-columns:1fr;
	}

	.check_item_youtube{
		flex-direction:column;
		align-items:flex-start;
	}

	.box_youtube_inline,
	.box_youtube_inline.visivel{
		width:100%;
		min-width:100%;
		flex-direction:column;
		align-items:flex-start;
	}

	#nome_conta_youtube{
		width:100%;
		min-width:100%;
	}

	.consent_box_regra{
		flex-direction:column;
		align-items:flex-start;
	}

	.botao_membro_inline{
		width:100%;
		height:36px;
	}

	.titulo_membro{
		font-size:24px;
	}

	.box_membro{
		padding:16px;
	}

	.campo_senha_box{
		flex-direction:column;
		align-items:flex-start;
	}

	.exibir_inline{
		min-width:auto;
	}
}