* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {
	--primario: #ab0000;
	--primario-escuro: #550101;
	--primario-claro: #7a2f2d;
	--primario-alternativo :#7a0000;

	--secundario: #007D94;
	--secundario-escuro: #014555;
	--secundario-claro: #33BBD3;
	--secundario-alternativo: #fff0c2; /*#fe876e #fea56e*/

	--branco: #FDFCF9;
	--preto: #1A1A1A;
	--cinza-escuro: #343a49;
	--cinza-medio: #C8C0AB;
	--cinza-claro: #EDE8DC;
	
	--highlight:#e04242;
	--mark:#ffe6aa;/*#ecc*/
	
	/* Estados */
	--edit: #EDE8DC;
	--wait: #727272;
	--warn: #ffdc71;
	--error: #FF8D8D;
	--sent: #069DC0;
	--pause: #069DC0;
	--success: #01B659;
	
	/* LGPD */
	--risco-seg: #7B1D1D; --risco-seg-bg: rgba(123,29,29,0.07);
    --sensivel: #5B21B6; --sensivel-bg: rgba(91,33,182,0.07);
    --terceiro: #92400E; --terceiro-bg: rgba(146,64,14,0.07);
    --inst: #1B4332; --inst-bg: rgba(27,67,50,0.07);
    --honra: #B45309; --honra-bg: rgba(180,83,9,0.08);
}

body {
	font-family: 'Source Sans 3', sans-serif;
	background: var(--branco);
	min-height: 100vh;
	color: var(--preto);
}

ul, ol {
	margin: 0;
	padding: 7px 0 0 20px;
}

.p-0 {
	padding:0 !important;
}
.pt-0 {
	padding-top:0 !important;
}
.pe-0 {
	padding-right:0 !important;
}
.pb-0 {
	padding-bottom:0 !important;
}
.ps-0 {
	padding-left:0 !important;
}

.m-0 {
	margin:0 !important;
}
.mt-0 {
	margin-top:0 !important;
}
.me-0 {
	margin-right:0 !important;
}
.mb-0 {
	margin-bottom:0 !important;
}
.ms-0 {
	margin-left:0 !important;
}

.d-none {
	display: none !important;
}
.d-none-mobile {
	display: block !important;
}
.d-none-desktop {
	display: none !important;
}

@media (max-width: 992px) {
	.d-none-mobile {
		display: none !important;
	}
	.d-none-desktop {
		display: block !important;
	}
}

mark{
	padding: .1875em;
	background-color: var(--mark);

	/*width: max-content;*/
	background-size: 200% auto; 
	background-image: linear-gradient(to right,var(--branco) 50%,var(--mark) 50%);
	background-position: 0% 0;
	animation-duration: 1.2s;
	animation-delay: 0s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}
mark.active{
	animation-name: marktext;
}
h1 mark, h2 mark, h3 mark, h4 mark, h4 mark, h5 mark {
	font-size: smaller;
	vertical-align: bottom;
	display: inline-block;
	margin-left: 3px;
	font-weight: normal;
	padding-left:5px;
	padding-right:5px;
}
@keyframes marktext {
	from {background-position: 0% 0;}
	to {background-position: -100% 0;}
}

/* --------------- */
/* --- INICIAL --- */
/* --------------- */
#tela-login {
	display: flex;
	justify-content: center;
	width: 100%;
	min-height: 100vh;
}

.login-esquerda {
	position: relative;
	width: 55%;
	background: var(--primario-escuro);
	/*background: #7B0031;
	background: linear-gradient(0deg, rgba(114, 10, 34, 1) 0%, rgba(108, 0, 0, 1) 100%);*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	padding-top:30px;
	padding-bottom:30px;
}

.login-esquerda-container {
	max-width: calc(640px + 6%);
	margin-right: 10%;
	margin-bottom: 2rem;
	margin-left: auto;
	padding-left: 6%;
}

.logo {
	width: auto;
	height: 64px;
	margin-bottom: 2rem;
	margin-left: -10px;
}

.logo img {
	height: 100%
}

.login-titulo {
	font-family: 'Poppins', serif;
	font-size: 28px;
	font-weight: 500;
	color: var(--secundario-alternativo);
	line-height: 1.3;
	margin-bottom: .5rem;
	text-transform: uppercase;
}

.login-subtitulo {
	font-size: 15px;
	color: var(--branco);
	line-height: 1.7;
	margin-bottom: 2.3rem;
	font-weight: 300;
}

.login-subtitulo ul {}

.info-card {
	background: #ffffff14;
	border-radius: 10px;
	padding: 1rem 1.25rem;
	margin-bottom: 0.75rem;
	font-size: 14px;
	color: rgba(247, 243, 236, 0.8);
	line-height: 1.5;
}

.info-card strong {
	color: var(--secundario-alternativo);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 3px;
}

.info-card ul {}

.info-card a {
	/*color: var(--branco);*/
	color: rgba(247, 243, 236, 1);
	font-weight: 500;
	letter-spacing: 0.06em;
	margin-bottom: 3px;
}

.end-info {
	color: var(--secundario-alternativo);
	font-size: 12px;
	margin-top: 1.5rem;
	opacity: 0.85;
}

.end-info a {
	color: var(--secundario-alternativo);
	text-decoration: none;
	transition: opacity 0.2s;
}

.end-info a:hover {
	opacity: 1;
}

.login-direita {
	position: relative;
	width: 45%;
	background: var(--branco);
	display: flex;
	align-items: center;
	justify-content: center;
}

.login-direita-form {
	width: 100%;
	max-width: 380px;
	margin-left:10%;
	margin-right:auto;
}

.login-direita-form h2 {
	font-family: 'Poppins', serif;
	font-size: 26px;
	font-weight: 600;
	color: var(--primario);
	margin-bottom: 6px;
}

.login-direita-form p {
	font-size: 15px;
	color: var(--cinza-escuro);
	margin-bottom: 2rem;
}

.campo-label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--primario);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 6px;
}

.campo-input {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid #D8D3CB;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	color: var(--preto);
	background: var(--branco);
	margin-bottom: 1.25rem;
	transition: border-color 0.2s;
	outline: none;
}

.campo-input:focus {
	border-color: var(--primario-claro);
}

.campo-input::placeholder {
	color: #BBBBB0;
}

.btn-entrar {
	width: 100%;
	padding: 13px;
	background: var(--secundario);
	color: var(--branco);
	border: none;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	transition: background 0.2s, transform 0.1s;
	margin-top: 0.25rem;
}

.btn-entrar:hover {
	background: var(--primario);
}

.btn-entrar:active {
	transform: scale(0.99);
}

.btn-voltar {
	width: 100%;
	padding: 13px;
	background: var(--branco);
	color: var(--primario);
	border: none;
	border-radius: 0;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	margin-top: 0.25rem;
	text-transform: uppercase;
}


p.link-suporte {
	display: block;
	text-align: center;
	margin-top: 1.25rem;
	font-size: 13px;
	color: var(--cinza-escuro);
}

p.link-suporte b {
	opacity:.8;
}

p.link-suporte a {
	color: var(--primario);
	cursor: pointer;
	text-decoration: none;
}

.login-direita-alerta {
	margin-top: 1.5rem;
	padding: 1rem;
	background: var(--cinza-claro);
	border-radius: 8px;
	border: 1px solid #E0EBE5;
}

.login-direita-alerta strong {
	font-size: 13px;
	color: var(--secundario);
	font-weight: 500;
	margin-bottom: 5px;
	display: block;
	text-transform: uppercase;
}

.login-direita-alerta p {
	font-size: 13px;
	color: var(--cinza-escuro);
	line-height: 1.5;
	margin-bottom: 0;
}

.login-rodape {
	padding: 1rem;
	font-size: 14px;
	color: var(--branco);
	line-height: 140%;
	font-weight: 300;
	text-align: left;
	width: 100%;
	bottom: 0;
	background: var(--primario-escuro);
}

.login-rodape-content {
	max-width: 75vw;
	margin: 30px auto 20px auto;
}

.login-rodape-content strong {
	margin:15px 0 0 0;
	display:block;
	
	color: var(--secundario-alternativo);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 3px;
}

.login-rodape-content a {
	color: var(--branco);
	text-decoration:underline;
}

.adm-btn {
	position: fixed;
	bottom: 7px;
	right: 8px;
	background: var(--cinza-escuro);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.03em;
	color: var(--branco);
	padding: 3px 10px;
	border-radius: 4px;
	text-decoration:none;
	border:2px solid #FDFCF930;
}

@media (max-width: 992px) {
	#tela-login {
		flex-direction: column;
		justify-content: inherit;
	}

	.login-esquerda,
	.login-direita {
		width: 100%;
	}
	
	.login-direita {
		flex-grow: 1;
	}

	.login-esquerda-container,
	.login-direita-form {
		position: relative;
		right: initial;
		left: initial;
		max-width: 75vw;
		margin:35px auto 50px auto;
	}
	.login-subtitulo {
		margin-bottom:0;
	}
	.adm-btn {
		display:none;
	}
}


/* --------------------------- */
/* --- COMPONENTES: GERAIS --- */
/* --------------------------- */
.divisor {
	height: 1px;
	background: var(--cinza-medio);
	margin: 1.5rem 0;
	opacity: .8;
}

.btn {
	padding:10px 15px;
	background: var(--secundario);
	color: var(--branco);
	border: none;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	transition: background 0.2s, transform 0.1s;
	margin-top: 0.25rem;
}

.btn:hover {
	background: var(--primario);
}

.btn:active {
	transform: scale(0.99);
}

.btn-group {
	display: flex;
}

.btn-group .btn {
	border-radius:0;
}

.btn-group .btn:first-child {
	border-radius:0;
	border-top-left-radius: 9px;
	border-bottom-left-radius: 9px;
}

.btn-group .btn:last-child {
	border-radius:0;
	border-top-right-radius: 9px;
	border-bottom-right-radius: 9px;
	margin-left:1px;
}

#btn-teste {
	position:fixed; z-index:1;
	right:10px;
	bottom:100px;
	line-height:100%;
	user-select:none;
	padding:13px 15px 10px 15px;
	text-align:center;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	transition: background 0.2s, transform 0.1s;
	margin-top: 0.25rem;
	text-decoration:none;
	color: var(--preto);
	background: var(--branco);
	border:2px solid var(--highlight);
}

#btn-teste.active {	
	background: var(--highlight);
	color: var(--branco);
	border:2px solid var(--highlight);
}

#btn-teste small {
	font-size: 10px;
	text-transform: uppercase;
	opacity: .7;
}

.tooltip-teste {
	position:absolute;
	background-color:var(--highlight);
	color: var(--preto);
	text-align:center;
	padding:5px 3px 5px 8px;
	transform: rotate(6deg);
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 600;
	margin:-9px 0 0 -66px;
	font-weight: bold;
	white-space: nowrap;

}
.tooltip-teste:after {
	color: var(--highlight);
	border-left: 22px solid;
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	display: inline-block;
	content: '';
	position: absolute;
	right: -20px;
	top: -5px;
}

	.tooltip-teste.end {
		transform: rotate(-6deg);
		padding:5px 9px 5px 3px;
		margin: -12px 0 0 164px;
	}

	.tooltip-teste.end:after {
		border-left: 18px solid transparent;
		border-right: 22px solid;
		border-top: 18px solid transparent;
		border-bottom: 18px solid transparent;
		left: -38px;
		right:initial;
}

.badge {
	display: inline-block;
	font-size: 11px !important;
	padding: 2px 8px;
	border-radius: 4px;
	font-weight: 500 !important;
	vertical-align:middle;
}

.badge-primario {
	background: var(--primario);
	color: var(--branco);
}

.badge-primario-alt {
	background: #f8ece8;
	color: var(--primario);
}

.badge-secundario {
	background: var(--secundario);
	color: var(--branco);
}

.badge-secundario-alt {
	background: var(--cinza-claro); /*#f6f1e1*/
	color: var(--secundario);
}

.badge-highlight {
	background: var(--highlight);
	color: var(--branco);
}

.badge-dark {
	background: #151b29;
	color: var(--branco);
}

.opcional-tag { font-size: 12px; color: var(--cinza-escuro); font-weight: 400; text-transform: none; letter-spacing: 0; margin-left: 4px; font-style: italic; opacity:.7; }

/* Status gerais */
.status-dot {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	justify-content: center;
	text-align: center;
	
	height: 19px;
	width:auto;
	padding:3px 10px 3px 6px;
	
	border-radius: 20px;
	line-height: 100%;
	
	font-size: 11px;
	font-weight: 600;
	
	/*border:1px solid rgba(247, 243, 236, 0.3) !important;
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4); 
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4);*/
	
	background: var(--cinza-claro);
	color: var(--cinza-escuro);
}
.status-dot::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	
	background-color: currentColor;
	
	mask-repeat: no-repeat;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	
	mask-image: url("icons/edit.svg");
	-webkit-mask-image: url("icons/edit.svg");
}

.status-dot.large {
	height: 30px;
	padding: 3px 16px 3px 13px;
	gap:6px;
	font-size: 15px;
}
	.status-dot.large::before {
		width: 20px;
		height: 20px;
	}

.edit { /* disponível (nao iniciado e em preenchimento) */
	background: var(--edit) !important;
	color: var(--cinza-escuro) !important;
}
	.status-dot.edit::before {
		mask-image: url("icons/edit.svg");
		-webkit-mask-image: url("icons/edit.svg");
	}
	.status-dot.edit::after {
		content:"Disponível";
	}

.wait { /* indisponivel */
	background: var(--wait) !important;
	color: var(--branco) !important;
}
	.status-dot.wait::before {
		mask-image: url("icons/wait.svg");
		-webkit-mask-image: url("icons/wait.svg");
	}
	.status-dot.wait::after {
		content:"Indisponível";
	}

.warn { /* pendente (em correcao) */
	background: var(--warn) !important;
	color: var(--preto) !important;
}
	.status-dot.warn::before {
		mask-image: url("icons/warn.svg");
		-webkit-mask-image: url("icons/warn.svg");
	}
	.status-dot.warn::after {
		content:"Pendências";
	}

.error { /* erro */
	background: var(--error) !important;
	color: var(--preto) !important;
}
	.status-dot.error::before {
		mask-image: url("icons/error.svg");
		-webkit-mask-image: url("icons/error.svg");
	}
	.status-dot.error::after {
		content:"Erro";
	}

.sent { /* concluído */
	background: var(--sent) !important;
	color: var(--branco) !important;
}
	.status-dot.sent::before {
		mask-image: url("icons/sent.svg");
		-webkit-mask-image: url("icons/sent.svg");
	}
	.status-dot.sent::after {
		content:"Enviado";
	}

.pause { /* aguardando/em análise */
	background: var(--pause) !important;
	color: var(--branco) !important;
}
	.status-dot.pause::before {
		mask-image: url("icons/pause.svg");
		-webkit-mask-image: url("icons/pause.svg");
	}
	.status-dot.pause::after {
		content:"Em análise";
	}

.success { /* completo/concluído */
	background: var(--success) !important;
	color: var(--branco) !important;
}
	.status-dot.success::before {
		mask-image: url("icons/success.svg");
		-webkit-mask-image: url("icons/success.svg");
	}
	.status-dot.success::after {
		content:"Validado";
	}

/* Legenda LGPD */
  .lgpd-legenda { display: flex; flex-wrap: wrap; gap: 8px; margin-top: .5rem; }
  .lgpd-tag { display: none; /*inline-flex*/ align-items: center; gap: 5px; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 20px; text-transform: initial; }
  .lgpd-tag.inst { background: var(--inst-bg); color: var(--inst); }
  .lgpd-tag.sensivel { background: var(--sensivel-bg); color: var(--sensivel); }
  .lgpd-tag.seg { background: var(--risco-seg-bg); color: var(--risco-seg); }
  .lgpd-tag.honra { background: var(--honra-bg); color: var(--honra); }
  .lgpd-tag.terceiro { background: var(--terceiro-bg); color: var(--terceiro); }


/* ---------------------- */
/* --- GERAL INTERNAS --- */
/* ---------------------- */
#tela-interna {
	min-height: 100vh;
	background: #f3f3f2;
}

#tela-formulario {
	min-height: 100vh;
	background: #f3f3f2;
}

.header {
	position: sticky;
	top: 0;
	z-index:2;
}

#tela-formulario .header {
	/*box-shadow:0px 4px 8px 0px rgba(0,0,0,0.4);*/
}

.top-bar {
	background: var(--primario-alternativo);
	padding: 0 2.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 68px; /* header-height */
	overflow:hidden;
	user-select: none; 
	border-bottom: 1px solid #FFFFFF87;
}

.top-bar-name {
	flex-grow: 1;
	cursor: pointer;
	line-height: 100%;
}

.top-bar-name div {
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 600;
	font-family: 'Poppins', serif;
	color: var(--secundario-alternativo);
}

.top-bar-name span {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 13px;
	font-weight: 300;
	color: var(--branco);
}

.top-bar-logo {
	flex-grow: 1;
	cursor: pointer;
	width: auto;
	height: 43px;
	text-align: center;
}
	#tela-interna .top-bar-logo {
		margin-left:0;
	}
	#tela-formulario .top-bar-logo {
		margin-left:6rem;
	}

.top-bar-logo img {
	height: 100%
}

.top-bar-usuario {
	flex-grow: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 14px;
}

.top-bar-usuario .top-bar-usuario-user {
	display: flex;
	align-items: center;
	gap: 10px;
}

.avatar {
	width: 32px;
	height: 32px;
	background: rgba(212, 175, 55, 0.2);
	border: 1px solid rgba(212, 175, 55, 0.4);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 600;
	color: var(--secundario-alternativo);
}

.usuario-nome {
	font-size: 13px;
	color: rgba(247, 243, 236, 0.85);
	
	display: flex;
	flex-direction: column;
}

.usuario-nome span{
}

.usuario-nome b{
	font-size:11px;
	font-weight:normal;
	color:var(--secundario-alternativo);
}

.btn-sair {
	background: var(--primario);
	border: 1px solid rgba(247, 243, 236, 0.25);
	color: var(--branco);
	border-radius: 6px;
	padding: 5px 12px;
	font-size: 12px;
	cursor: pointer;
	font-family: 'Source Sans 3', sans-serif;
	transition: all 0.2s;
}

.btn-sair:hover {
	background: var(--primario-escuro);
	color: var(--branco);
}

.conteudo {
	display:flex;
}

.submenu {
	position:relative;
	z-index:1;
	height: auto;
	min-width: auto;
	background-color: var(--cinza-escuro);
	user-select: none;
	/*box-shadow: 4px 0px 8px 0px rgba(0,0,0,0.4);*/
}

.submenu-container {	
	position: sticky;
	top: 70px; /* header-height */
	height: auto;
	min-width: 180px;
	padding-top:15px;
}

.submenu-container b {
	font-family: 'Poppins', serif;
	display: block;
	color: var(--secundario-alternativo);
	margin: 0 18px 10px 0;
	padding-top:25px;
	text-align: right;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 500;
}

.submenu-container a {
	display: flex;
	align-items:center;
	color: rgba(247, 243, 236, 0.85);/*#FDFCF991*/
	font-size: 13px;
	/*text-transform: uppercase;*/
	letter-spacing: .03em;
	text-decoration: none;
	padding:8px 15px 8px 20px;
	margin:0;
	justify-content: flex-end;
	
	/*border-radius: 6px;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;*/
	
	white-space: nowrap;
}

.submenu-container a.link-intro {
	font-weight:normal;
	padding: 7px 15px 7px 20px;
}

.submenu-container a.link-intro::after {
	content: "";
	display: inline-block;
	width: 17px;
	height: 17px;
	margin-left:5px;
	background-color: currentColor;
	
	mask-repeat: no-repeat;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	
	mask-image: url("icons/info.svg");
	-webkit-mask-image: url("icons/info.svg");
}
	.submenu-container a.link-intro-info::after {
		mask-image: url("icons/info.svg");
		-webkit-mask-image: url("icons/info.svg");
	}
	.submenu-container a.link-intro-dep::after {
		mask-image: url("icons/user.svg");
		-webkit-mask-image: url("icons/user.svg");
	}
	.submenu-container a.link-intro-gab::after {
		mask-image: url("icons/group.svg");
		-webkit-mask-image: url("icons/group.svg");
	}

.submenu-container a.active {
	background-color: #FFFFFF21;
	padding-top: 12px;
	padding-bottom: 12px;
	font-weight: 500;
	color:var(--branco);
}

.submenu-container a.disabled-link {
	pointer-events: none; /* Impede o clique */
	color: #848484; /* Estiliza como desabilitado */
	text-decoration: none;
}

.submenu-container a .status-dot {
	margin:0 0 0 7px;
	opacity:.9;
	font-size:11px;
}

.submenu-container a.active .status-dot {
	opacity:1;
}

.submenu-container.icon-hide .status-dot {
	font-size:0 !important;
	width:19px;
	height:19px;
	position:relative;
}
	.submenu-container.icon-hide .status-dot::before {
		position: absolute;
		left:50%;
		margin-left:-8px;
	}
	.submenu-container.icon-hide a.active .status-dot {
		width:auto;
		font-size:11px !important;
	}
	.submenu-container.icon-hide a.active .status-dot::before {
		position: relative;
		left:initial;
		margin-left:0;
	}

.conteudo-miolo {
	position:relative;
	width:100%;
	
}

.conteudo-miolo-wrap {
	max-width: 960px;
	margin: 0 auto;
	padding: 2rem 2.5rem;
	min-height:87vh;
}


.barra-acoes {
	position: sticky;
	z-index:1;
	bottom: 0;
	background: var(--branco);
	border-top: 1px solid var(--cinza-medio);
	padding: 1rem 2.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:1rem;
}


.barra-acoes-container {
	display: flex;
	gap: 10px;
	margin:0 0 0 auto;
}

.progress-info {
	font-size: 13px;
	color: var(--cinza-escuro);
	display: flex;
	align-items: center;
	gap: 10px;
}

.btn-action {
	padding: 10px 24px;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--branco);
	cursor: pointer;
	transition: background 0.15s;
	display: flex;
	align-items: center;
	gap: 8px;
}

.btn-action.btn-action-save {
	background: none;
	border: 1.5px solid var(--cinza-claro);
	font-weight: 500;
	color: var(--cinza-escuro);
}

.btn-action.btn-action-save:hover {
	border-color: var(--primario);
	color: var(--primario);
}

.btn-action.btn-action-send {
	background: var(--primario);
	border: none;
	font-weight: 600;
	color: var(--branco);
}

.btn-action.btn-action-send:hover {
	background: var(--primario-claro);
}

@media (max-width: 992px) {
	.top-bar-logo {
		margin-left:0 !important;
	}

	.usuario-nome {
		display: none;
	}
	
	.menu {
		/*flex-direction: column;*/
		flex-wrap: wrap;
		height: auto;
		padding: 0 1.5rem;
		padding-top: 8px;
		justify-content: flex-start;
	}

	.menu-item {
		min-height: 40px;
		margin-bottom: 8px;
		border-radius: 6px;
		padding:10px 15px 8px 15px;
		font-weight:600;
	}

	.menu-item.active {
		border-bottom-color: transparent;
		background: #ffffff1c;
	}
	
	.menu-item::before {
		display:none !important;
	}
	
	.conteudo {
		flex-direction:column;
	}

	.submenu {
		padding-top:5px;
	}
	
	.submenu-container {
		position:relative;
		display: flex;
		flex-wrap: wrap;
		height: auto;
		padding: 0 1.5rem;
		padding-top: 2px;
		justify-content: flex-start;
		top:0;
	}
	
	.submenu-container b {
		display: none;
	}
	
	.submenu-container a {
		margin-bottom: 10px;
		border-radius: 6px;
		padding:10px 15px 10px 15px;
		/*flex-direction: row-reverse;*/
	}
	
	/*
	.submenu-container a .status-dot {
		margin: 0 7px 0 0;
	}
	*/
	
	.submenu-container a.active {
		border-bottom-color: transparent;
		background: #ffffff1c;
		padding:11px 15px 11px 15px;
	}
	
	.submenu-container a .status-dot {
		/*display:none;*/
	}
}


/* ----------------------------- */
/* --- COMPONENTES: INTERNAS --- */
/* ----------------------------- */
.cabecalho-secao {
	padding-top: 2.5rem;
	padding-bottom: .3rem;
	/*border-bottom: 1px solid var(--cinza-claro);*/
}

.cabecalho-secao h1 {
	font-family: 'Poppins', serif;
	font-size: 24px;
	color: var(--secundario);
	font-weight: 600;
	margin-bottom: 4px;
}

.cabecalho-secao h2 {
	font-family: 'Poppins', serif;
	font-size: 20px;
	color: var(--secundario);
	font-weight: 600;
	margin-bottom: 4px;
}

.cabecalho-secao p {
	font-size: 14px;
	color: var(--cinza-escuro);
	margin-bottom: .8rem;
}

.card {
	background: var(--branco);
	border: 1px solid var(--cinza-claro);
	border-radius: 12px;
	padding: 1.75rem;
	margin-bottom: 1.25rem;
}

.grid-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 2.5rem;
}

.card-titulo {
	font-size: 12px;
	font-weight: 600;
	color: var(--primario);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	gap: 8px;
}

.card-titulo::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--cinza-medio);
}

.card-subtitulo {
	font-size: 14px;
	color: var(--cinza-escuro);
	line-height: 1.3;
	margin:0 0 15px 0;
}

.card p {
	font-size: 14px;
	color: var(--cinza-escuro);
	line-height: 1.6;
}

.card ul, .card ol {
	font-size: 14px;
	color: var(--cinza-escuro);
	line-height: 1.6;
}

.grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom:1rem;
}

.grid-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
	margin-bottom:1rem;
}

.grid-4 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1rem;
	margin-bottom:1rem;
}

.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }
.span-4 { grid-column: span 4; }

.alerta-info {
	background: rgba(27, 67, 50, 0.06);
	border: 1px solid rgba(27, 67, 50, 0.15);
	border-left: 3px solid var(--primario-claro);
	border-radius: 0 8px 8px 0;
	padding: 0.9rem 1rem;
	font-size: 14px;
	color: var(--cinza-escuro);
	margin-bottom: 1.25rem;
	line-height: 1.6;
}

.alerta-info.error {
	border-color: var(--error);
	background-color: var(--secundario-alternativo) !important;
}

.alerta-info strong {
	color: var(--secundario);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: block;
	margin-bottom: 3px;
}

.timeline {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.timeline-item {
	cursor:pointer;
	user-select: none;
	display: flex;
	position:relative;
	gap: 1.25rem;
	padding: 1.1rem .8rem;
	border-bottom: 1px solid #D1CFCA;
	align-items: flex-start;
	
	font-size: 14px;
	color: var(--cinza-escuro);
}

.timeline-item:last-child {
	border-bottom: none;
	/*padding-bottom: .5rem;*/
}

.timeline-item.current {
	/*background-color:var(--cinza-claro);*/
}

.timeline-num {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	flex-shrink: 0;
	background: var(--cinza-medio);
	color: var(--preto);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 600;
	margin-top: 10px;
}

/*
.timeline-item.current .timeline-num {
	background: var(--highlight);
	color: var(--branco);
}
*/

.timeline-info h4 {
	font-size: 17px;
	font-weight: 600;
	color:var(--preto);
	margin-top: 2px;
	margin-bottom: 3px;
}

.timeline-info p {
	line-height: 1.6;
}

.timeline-info b {
	color: var(--preto);
}

.timeline-item a {
	color: var(--primario);
	text-decoration:underline;
}

.timeline-info ul, .timeline-info ol {
	padding:.15rem 1rem 1rem 1rem;
}

.timeline-info-desc {
	line-height: 1.3;
	padding:.3rem 0 0 0;
	font-size: 14px;
}
	.timeline-item[onclick*="toggleAccordion"]::before {
		border-style: solid;
		border-color:var(--primario);
		border-width: 3px 3px 0 0;
		content: '';
		display: inline-block;
		height: 10px;
		width: 10px;
		vertical-align: sub;
		transform: rotate(135deg);
		position: absolute;
		top: 0;
		right: 0;
		margin: 40px 20px 0 0;
	}
	.timeline-item[onclick*="toggleAccordion"].active::before {
		transform: rotate(-45deg);
	}
	.timeline-item[onclick*="toggleAccordion"] .timeline-info-desc {
		display:none;
		padding-right:3rem;
	}
	.timeline-item[onclick*="toggleAccordion"].active .timeline-info-desc {
		display:block;
	}

	

.call-to-action {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--branco);
	border: 1.5px solid #DDD8CF;
	border-radius: 9px;
	padding: 0.9rem 1.1rem;
	transition: all 0.15s;
	cursor: pointer;
}

.call-to-action:hover {
	background: var(--cinza-claro);
}

.call-to-action-icon {
	width: 38px;
	height: 44px;
	background: #C0392B;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	position: relative;
	font-size: 10px;
	font-weight: 700;
	color: white;
	letter-spacing: 0.03em;
}

.call-to-action-icon::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	border-style: solid;
	border-width: 0 8px 8px 0;
	border-color: transparent rgba(255, 255, 255, 0.25) transparent transparent;
}

.call-to-action-info {
	flex: 1;
}

.call-to-action-nome {
	font-size: 14px;
	font-weight: 500;
	color: var(--preto);
	margin-bottom: 2px;
}

.call-to-action-meta {
	font-size: 12px;
	color: var(--primario);
	display: flex;
	gap: 12px;
}

.call-to-action-btn {
	background: var(--primario);
	color: var(--secundario-alternativo);
	border: none;
	border-radius: 6px;
	padding: 7px 14px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	font-family: 'Source Sans 3', sans-serif;
	display: flex;
	align-items: center;
	gap: 5px;
	transition: background 0.15s;
	white-space: nowrap;
}

.call-to-action-btn:hover {
	background: var(--primario-claro);
}

.acordion-lista {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom:1.25rem;
}

.acordion-item {
	width:100%;
	background: var(--branco);
	border: 1.5px solid #DDD8CF;
	border-radius: 9px;
	overflow: hidden;
}

.acordion-trigger {
	padding: 1rem 1.25rem;
	font-size: 14px;
	font-weight: 600;
	color: var(--primario-escuro);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background 0.15s;
	user-select: none;
}

.acordion-trigger:hover {
	background: var(--cinza-claro) !important;
}
	.acordion-item.active .acordion-trigger {
		background: #EDE8DC80;
	}

.acordion-seta {
	position: relative;
	color: var(--secundario);
	transition: transform 0.2s;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	overflow:hidden;
}

.acordion-seta::after {
	border-style: solid;
	border-width: 3px 3px 0 0;
	content: '';
	display: inline-block;
	height: 10px;
	width: 10px;
	vertical-align: sub;
	transform: rotate(135deg);
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -9px 0 0 -6px;
}
	.acordion-item.active .acordion-seta {
		transform: rotate(180deg);
	}

.acordion-content {
	display: none;
	padding: 0 1.25rem 1rem;
	font-size: 13px;
	color: var(--cinza-escuro);
	line-height: 1.7;
	border-top: 1px solid var(--cinza-claro);
	padding-top: 0.85rem;
}
	.acordion-item.active .acordion-content {
		display: block;
	}

@media (max-width: 992px) {
	.grid-cards {
		grid-template-columns: initial;
	}
}

/* -------------------------------- */
/* --- COMPONENTES: ORIENTACOES --- */
/* -------------------------------- */
.hero {
	background: var(--cinza-escuro);
	padding: 2.1rem 2.5rem;
	position: relative;
	overflow: hidden;
	/*box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.4);*/
}

.hero-inner {
	max-width: 860px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.hero-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--secundario);
	border-radius: 20px;
	padding: 4px 12px;
	font-size: 12px;
	color: var(--branco);
	margin-bottom: 1rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.hero h1 {
	font-family: 'Poppins', serif;
	font-size: 30px;
	font-weight: 600;
	color: var(--branco);
	line-height: 1.25;
	margin-bottom: 0.1rem;
}

.hero-sub {
	margin-top: 18px;
	font-size: 15px;
	color: rgba(247, 243, 236, 0.65);
	font-weight: 300;
	line-height: 1.7;
}

.hero-sub p {
	margin:0;
	/*max-width: 580px;*/
}

.hero-actions{
	margin-top: 18px;
}

.hero-actions b {
	display:block;
	color:var(--branco);
	padding:10px 0;
}

.hero-actions .btn {
	background: var(--branco);
	color: var(--terceiro);
	text-transform: uppercase;
	font-size: 12px;
	display:flex;
	align-items:center;
}

.hero-actions .btn::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right:6px;
	
	background-color: currentColor;
	
	mask-repeat: no-repeat;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	
	mask-image: url("icons/user.svg");
	-webkit-mask-image: url("icons/user.svg");
}

.hero-actions .btn:first-child::before {
	-webkit-mask: url(icons/user.svg) no-repeat center;
	mask: url(icons/user.svg) no-repeat center;
}

.hero-actions .btn:last-child::before {
	-webkit-mask: url(icons/group.svg) no-repeat center;
	mask: url(icons/group.svg) no-repeat center;
}

.hero-meta {
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-meta strong {	
	display: block;
	font-size: 15px;
	color: rgba(247, 243, 236, 0.65);
	font-weight: 300;
	line-height: 1.7;
	max-width: 580px;
	margin-bottom: 1rem;
}

.hero-meta-content {
	display: flex;
	flex-direction:row;
	gap: 2rem;
}

.hero-meta-item {
	font-size: 13px;
	color: rgba(247, 243, 236, 0.5);
	display: flex;
	flex-direction:column;
	align-items: flex-start;
	gap: 15px;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	padding-right: 25px;
	/*flex-grow: 1;*/
}

	.hero-meta-item:first-of-type {
		padding-right: 85px;
	}

	.hero-meta-item:last-child {
		border-right:0;
		padding-right: 0;
	}
	
.hero-meta-item .badge {
	margin-bottom:-12px
}

.hero-meta-item b {
	font-family: 'Poppins', serif;
	display: block;
	color: var(--secundario-alternativo);
	margin: 5px 0;
	padding:0;
	text-align: right;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 500;
}

	.hero-meta-item:last-child b {
		margin: 5px 0 -5px 0;
	}

.hero-meta-item a {
	display: flex;
	flex-direction:row;
	align-items: center;
	color: rgba(247, 243, 236, 0.85);
	font-weight: 500;
	text-decoration:none;
	gap: 10px;
}

.hero-meta-item a::before {
	content:"";
	display: inline-flex;
	
	height:7px;
	width:7px;
	margin-right:0;
	margin-left: 3px;
	
	background: var(--secundario);
	border-radius: 20px;
}

.hero-meta-item a.disabled-link {
	pointer-events: none; /* Impede o clique */
	color: #848484; /* Estiliza como desabilitado */
	text-decoration: none;
}

/* PIP */
.pip-container {
	position: fixed;
	bottom: 76px;   /* acima da barra de ações */
	right: 24px;
	width: 300px;
	z-index: 500;
	user-select: none;
}

.pip-shell {
	background: #111;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 12px 40px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.08);
	transition: box-shadow .2s, transform .2s;
}
.pip-shell:hover { box-shadow: 0 16px 50px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.14); }

/* Tela do vídeo (frame preto) */
.pip-screen {
	width: 100%; aspect-ratio: 16/9;
	background: #0a0a0a;
	position: relative;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
	overflow: hidden;
}

/* Scan-lines decorativas */
.pip-screen::before {
	content: '';
	position: absolute; inset: 0;
	background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255,255,255,.012) 2px, rgba(255,255,255,.012) 4px);
	pointer-events: none;
	z-index: 1;
}

/* Vinheta */
.pip-screen::after {
	content: '';
	position: absolute; inset: 0;
	background: radial-gradient(ellipse at center, transparent 60%, rgba(0,0,0,.6) 100%);
	pointer-events: none;
	z-index: 2;
}

/* Placeholder de frame de vídeo */
.pip-frame-bg {
	position: absolute; inset: 0;
	background: linear-gradient(135deg, #1B4332 0%, #0D2218 50%, #132E22 100%);
	opacity: .35;
}

/* Logo watermark */
.pip-watermark {
	position: absolute; bottom: 8px; left: 10px; z-index: 4;
	font-size: 9px; font-weight: 700; letter-spacing: .08em;
	color: rgba(255,255,255,.2); text-transform: uppercase;
}

/* Timecode */
.pip-timecode {
	position: absolute; bottom: 8px; right: 10px; z-index: 4;
	font-size: 10px; font-family: 'Source Code Pro', monospace;
	color: rgba(255,255,255,.35);
	background: rgba(0,0,0,.4); border-radius: 3px; padding: 1px 6px;
}

/* Botão play central */
.pip-play-btn {
	position: relative; z-index: 5;
	width: 44px; height: 44px; border-radius: 50%;
	background: rgba(255,255,255,.15);
	border: 1.5px solid rgba(255,255,255,.45);
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; transition: all .2s;
}
.pip-play-btn:hover { background: rgba(255,255,255,.28); border-color: var(--branco); transform: scale(1.08); }
.pip-play-btn svg { width: 18px; height: 18px; fill: var(--branco); margin-left: 2px; }

/* Overlay de pausa (oculto por padrão) */
.pip-pause-overlay {
	position: absolute; inset: 0; z-index: 5;
	background: rgba(0,0,0,.5);
	display: none; align-items: center; justify-content: center;
	cursor: pointer;
}
.pip-pause-overlay.visivel { display: flex; }
.pip-pause-icon { width: 44px; height: 44px; border-radius: 50%; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; }
.pip-pause-icon span { font-size: 20px; color: white; }

/* Barra de controles */
.pip-controls {
	background: #1a1a1a;
	padding: 8px 10px 8px;
	border-top: 1px solid rgba(255,255,255,.06);
}

/* Progress bar do vídeo */
.pip-progress-track {
	height: 3px; background: rgba(255,255,255,.12); border-radius: 2px;
	margin-bottom: 8px; cursor: pointer; position: relative; overflow: hidden;
}
.pip-progress-fill {
	height: 100%; background: var(--primario); border-radius: 2px;
	width: 22%; transition: width .5s linear;
}
.pip-progress-buffer {
	position: absolute; top: 0; left: 0; height: 100%;
	background: rgba(255,255,255,.18); border-radius: 2px; width: 55%;
}

/* Linha de controles */
.pip-ctrl-row { display: flex; align-items: center; justify-content: space-between; }
.pip-ctrl-left { display: flex; align-items: center; gap: 8px; }
.pip-ctrl-right { display: flex; align-items: center; gap: 6px; }

.pip-btn { background: none; border: none; cursor: pointer; color: rgba(255,255,255,.55); padding: 3px; border-radius: 4px; display: flex; align-items: center; justify-content: center; transition: color .15s, background .15s; font-size: 13px; }
.pip-btn:hover { color: rgba(255,255,255,.9); background: rgba(255,255,255,.06); }
.pip-btn.active { color: var(--branco); }

.pip-time { font-size: 10px; color: rgba(255,255,255,.4); font-family: 'Source Code Pro', monospace; }
.pip-sep { color: rgba(255,255,255,.2); font-size: 10px; }

/* Volume slider mini */
.pip-vol { display: flex; align-items: center; gap: 5px; }
.pip-vol-track { width: 40px; height: 3px; background: rgba(255,255,255,.15); border-radius: 2px; cursor: pointer; }
.pip-vol-fill { height: 100%; width: 75%; background: rgba(255,255,255,.5); border-radius: 2px; }

/* Cabeçalho do PiP */
.pip-header {
	background: #141414;
	padding: 7px 10px;
	display: flex; align-items: center; justify-content: space-between;
	border-bottom: 1px solid rgba(255,255,255,.06);
	cursor: move;
}
.pip-title { font-size: 10.5px; color: rgba(255,255,255,.5); font-weight: 500; display: flex; align-items: center; gap: 6px; }
.pip-title-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--primario); flex-shrink: 0; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }
.pip-header-btns { display: flex; gap: 4px; }
.pip-hbtn { width: 20px; height: 20px; border-radius: 4px; border: none; cursor: pointer; font-size: 11px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.06); color: rgba(255,255,255,.4); transition: all .15s; }
.pip-hbtn:hover { background: rgba(255,255,255,.12); color: rgba(255,255,255,.8); }
.pip-hbtn.close:hover { background: rgba(220,38,38,.3); color: #f87171; }

/* Resize handle */
.pip-resize { position: absolute; bottom: 0; left: 0; width: 16px; height: 16px; cursor: sw-resize; display: flex; align-items: flex-end; justify-content: flex-start; padding: 2px; }
.pip-resize svg { width: 8px; height: 8px; opacity: .25; }

/* Estado minimizado */
.pip-container.minimized .pip-screen,
.pip-container.minimized .pip-controls { display: none; }
.pip-container.minimized .pip-shell { border-radius: 8px; }
.pip-container.minimized .pip-header { border-bottom: none; }

/* Sombra de drag ativo */
.pip-container.dragging .pip-shell { box-shadow: 0 20px 60px rgba(0,0,0,.6), 0 0 0 1.5px rgba(212,175,55,.3); transform: scale(1.01); }

/* Tooltip */
.pip-tooltip {
	position: absolute; bottom: calc(100% + 8px); right: 0;
	background: rgba(20,20,20,.95); border: 1px solid rgba(255,255,255,.1);
	color: rgba(255,255,255,.8); font-size: 11px; padding: 5px 10px;
	border-radius: 6px; white-space: nowrap; pointer-events: none;
	opacity: 0; transform: translateY(4px); transition: all .2s;
	backdrop-filter: blur(6px);
}
.pip-container:hover .pip-tooltip { opacity: 1; transform: translateY(0); }

/* Badge PiP */
.docs-lista {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.contato-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: .8rem;
	margin-top:15px;
}
	.contato-grid.contato-grid-group {
		gap:0;
	}
	.contato-grid.mini {
		gap: .5rem;
	}

.contato-card {
	display: flex;
	flex-grow: 1;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background: var(--secundario-escuro);
	border-radius: 10px;
	padding: 1.25rem;
	text-align: center;
}
	.contato-grid.contato-grid-group .contato-card {
		border-radius:0;
		margin:0 .01rem;
	}
	.contato-grid.contato-grid-group .contato-card:first-child {
		border-radius:0;
		border-top-left-radius: 10px;
		border-bottom-left-radius: 10px;
	}
	.contato-grid.contato-grid-group .contato-card:last-child {
		border-radius:0;
		border-top-right-radius: 10px;
		border-bottom-right-radius: 10px;
	}
	.contato-grid.mini .contato-card {
		flex-direction: row;
		gap:1rem;
		background: var(--cinza-escuro);
	}

.contato-icone {
	font-size: 0;
	margin-bottom: 8px;
	color: #fff;
}
	.contato-grid.mini .contato-card .contato-icone {
		margin-bottom:0;
		font-size: initial;
	}

.contato-card h4 {
	font-size: 13px;
	font-weight: 600;
	color: var(--branco);
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.contato-card p {
	font-size: 14px;
	color: var(--branco);
	font-weight: 500;
	opacity: .8;
}

.contato-card a {
	font-size: 14px;
	color: var(--branco);
	font-weight: 500;
	word-wrap: anywhere;
	overflow-wrap: anywhere;
}

.contato-card small {
	font-size: 12px;
	color: var(--cinza-claro);
	display: block;
	margin-top: 2px;
	opacity: .55;
}
	.contato-grid.mini .contato-card h4, .contato-grid.mini .contato-card small {
		display:none;
	}


@media (max-width: 992px) {
	.contato-grid {
		grid-template-columns: initial;
	}
	
	.hero-meta-content {
		flex-direction:column;
		gap: 1.1rem;
	}
	.hero-meta-item {
		border-right: 0;
		padding-right: 0 !important;
		padding-bottom: 1.7rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	}
	.hero-meta-item:last-child {
		border-bottom:0;
	}
}

/* ------------------------------- */
/* --- COMPONENTES: FORMULARIO --- */
/* ------------------------------- */
.campo-grupo {
	margin-bottom: 0;
}

.campo-label-form {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--cinza-escuro);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 5px;
}

.req {
	color: #C0392B;
	margin-left: 2px;
}

.campo-input-form {
	width: 100%;
	padding: 10px 13px;
	border: 1.5px solid #DDD8CF;
	border-radius: 7px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 14px;
	color: var(--preto);
	background: var(--branco);
	transition: border-color 0.2s;
	outline: none;
}

.campo-input-form.error {
	border-color: var(--error);
	background-color: var(--secundario-alternativo) !important;
}

.campo-input-form:focus {
	border-color: var(--primario-claro);
	box-shadow: 0 0 0 3px rgba(64, 145, 108, 0.08);
}

select.campo-input-form {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%235C5C5C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 32px;
}

.radio-grupo {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-top: 2px;
}

.radio-opcao {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	color: var(--preto);
	cursor: pointer;
	padding: 8px 14px;
	border: 1.5px solid #DDD8CF;
	border-radius: 7px;
	transition: all 0.15s;
}

.radio-opcao:hover {
	border-color: var(--primario-claro);
}

.radio-opcao input {
	accent-color: var(--primario);
}

.checkbox-opcao {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	color: var(--preto);
	cursor: pointer;
	padding: 10px 14px;
	border: 1.5px solid #DDD8CF;
	border-radius: 7px;
	transition: all 0.15s;
	margin-bottom: 6px;
}

.checkbox-opcao:hover {
	border-color: var(--primario-claro);
}

.checkbox-opcao input {
	accent-color: var(--primario);
	margin-top: 2px;
	flex-shrink: 0;
}

textarea.campo-input-form {
	resize: vertical;
	min-height: 80px;
	line-height: 1.5;
}

.endereco-bloco {
	margin-top:25px;
	position:relative;
}

button, input[type='submit'], input[type="file"]::file-selector-button {
	padding:10px 15px;
	background: var(--secundario);
	color: var(--branco);
	border: none;
	border-radius: 8px;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 0.03em;
	transition: background 0.2s, transform 0.1s;
	margin-top:0;
	vertical-align:middle;
}
	input[type="file"]::file-selector-button {
		padding:3px 8px;
		font-size:10px;
		border-radius: 3px;
	}

button:hover, input[type='submit']:hover, input[type="file"]::file-selector-button:hover {
	background: var(--primario);
}

button:active, input[type='submit']:active, input[type="file"]::file-selector-button:active {
	transform: scale(0.99);
}

btn.disabled, button[disabled], input[type='submit'][disabled]{
	opacity:.3;
	pointer-events: none; /* Impede o clique */
}

input[disabled], select[disabled], label[disabled] {
	background: var(--cinza-claro) !important;
	user-select: none;
	color: #777;
}

input[readonly], select[readonly], label[readonly] {
	background: var(--cinza-claro) !important;
	user-select: none;
	color: #777;
}