/* Segóvia RH — formulário público.
   Não define cor de fundo nem de texto: herda do tema, então funciona igual
   no modo claro e no escuro. Só o destaque é fixo (e trocável pelo shortcode). */

.sgrh-wrap {
	--sgrh-accent: #c2603f;
	--sgrh-line: rgba(128, 128, 128, .40);
	--sgrh-line-soft: rgba(128, 128, 128, .22);
	--sgrh-fill: rgba(128, 128, 128, .10);
	--sgrh-fill-soft: rgba(128, 128, 128, .05);

	max-width: 820px;
	margin: 0 auto;
	color: inherit;
	font-size: 16px;
	line-height: 1.5;
}

.sgrh-wrap *,
.sgrh-wrap *::before,
.sgrh-wrap *::after { box-sizing: border-box; }

/* As regras de display abaixo têm especificidade maior que o atributo hidden
   do navegador. Sem esta linha, campo escondido continua aparecendo. */
.sgrh-wrap [hidden] { display: none !important; }

/* ---------- cabeçalho ---------- */

.sgrh-wrap .sgrh-head { margin-bottom: 22px; }

.sgrh-wrap .sgrh-head h2 {
	margin: 0 0 6px;
	color: inherit;
	font-size: clamp( 25px, 4vw, 34px );
	line-height: 1.15;
}

.sgrh-wrap .sgrh-head p {
	margin: 0;
	max-width: 52ch;
	font-size: 16px;
	opacity: .75;
}

/* ---------- progresso ---------- */

.sgrh-progresso { margin-bottom: 22px; }

.sgrh-barra {
	height: 6px;
	border-radius: 3px;
	background: var(--sgrh-fill);
	overflow: hidden;
}

.sgrh-barra-fill {
	display: block;
	width: 20%;
	height: 100%;
	background: var(--sgrh-accent);
	transition: width .3s ease;
}

.sgrh-wrap .sgrh-progresso-txt {
	margin: 8px 0 0;
	font-size: 13px;
	letter-spacing: .02em;
}
.sgrh-progresso-etapa { color: var(--sgrh-accent); }
.sgrh-progresso-nome { opacity: .75; }

/* ---------- etapa ---------- */

.sgrh-step {
	padding: 24px 22px;
	border: 1px solid var(--sgrh-line-soft);
	background: var(--sgrh-fill-soft);
}
.sgrh-step + .sgrh-step { margin-top: 16px; }
.sgrh-js .sgrh-step + .sgrh-step { margin-top: 0; }

.sgrh-step-head { margin-bottom: 20px; }

.sgrh-wrap .sgrh-step-head h3 {
	margin: 0;
	color: inherit;
	font-size: 22px;
	line-height: 1.25;
}

.sgrh-wrap .sgrh-sub {
	margin: 24px 0 12px;
	color: inherit;
	font-size: 15px;
	font-weight: 700;
}
.sgrh-wrap .sgrh-step-head + .sgrh-cond > .sgrh-sub:first-child,
.sgrh-wrap .sgrh-step-head + .sgrh-sub { margin-top: 0; }

.sgrh-wrap .sgrh-ajuda {
	margin: 6px 0 14px;
	font-size: 14px;
	opacity: .75;
}

/* ---------- cartões de perfil ---------- */

.sgrh-perfis {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}
@media ( min-width: 620px ) {
	.sgrh-perfis { grid-template-columns: 1fr 1fr; }
}

.sgrh-wrap label.sgrh-perfil {
	display: block;
	margin: 0;
	cursor: pointer;
}
.sgrh-perfil input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.sgrh-perfil-corpo {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 76px;
	padding: 14px 16px;
	border: 1px solid var(--sgrh-line);
	background: var(--sgrh-fill-soft);
	transition: border-color .15s ease, background .15s ease;
}
.sgrh-perfil:hover .sgrh-perfil-corpo { border-color: var(--sgrh-accent); }

.sgrh-perfil.is-marcada .sgrh-perfil-corpo,
.sgrh-perfil:has( input:checked ) .sgrh-perfil-corpo {
	border-color: var(--sgrh-accent);
	box-shadow: inset 3px 0 0 var(--sgrh-accent);
	background: var(--sgrh-fill);
}
.sgrh-perfil input:focus-visible + .sgrh-perfil-corpo {
	outline: 2px solid var(--sgrh-accent);
	outline-offset: 2px;
}

.sgrh-icone {
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	opacity: .85;
}
.sgrh-perfil.is-marcada .sgrh-icone,
.sgrh-perfil:has( input:checked ) .sgrh-icone { color: var(--sgrh-accent); opacity: 1; }

.sgrh-perfil-txt { display: block; }
.sgrh-perfil-txt strong {
	display: block;
	font-size: 17px;
	line-height: 1.2;
}
.sgrh-perfil-txt small {
	display: block;
	margin-top: 3px;
	font-size: 13px;
	line-height: 1.35;
	opacity: .7;
}

.sgrh-escape {
	margin: 18px 0 0;
	font-size: 14px;
	opacity: .8;
}
.sgrh-escape a { color: var(--sgrh-accent); }

/* ---------- opções marcáveis ---------- */

.sgrh-opcoes {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin-bottom: 8px;
}
@media ( min-width: 560px ) {
	.sgrh-opcoes { grid-template-columns: 1fr 1fr; }
	.sgrh-opcoes-2 { grid-template-columns: 1fr 1fr; }
}
@media ( min-width: 860px ) {
	.sgrh-opcoes { grid-template-columns: 1fr 1fr 1fr; }
	.sgrh-opcoes-2 { grid-template-columns: 1fr 1fr; }
}

.sgrh-wrap label.sgrh-opcao {
	display: flex;
	align-items: center;
	gap: 11px;
	min-height: 52px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--sgrh-line-soft);
	background: var(--sgrh-fill-soft);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.3;
	cursor: pointer;
	transition: border-color .15s ease;
}
.sgrh-wrap label.sgrh-opcao:hover { border-color: var(--sgrh-accent); }

.sgrh-wrap label.sgrh-opcao input {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--sgrh-accent);
}

.sgrh-wrap label.sgrh-opcao.is-marcada,
.sgrh-wrap label.sgrh-opcao:has( input:checked ) {
	border-color: var(--sgrh-accent);
	background: var(--sgrh-fill);
	font-weight: 600;
}

.sgrh-opcao-txt { flex: 1; }

/* ---------- campos ---------- */

.sgrh-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin-bottom: 16px;
}
@media ( min-width: 620px ) {
	.sgrh-row { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
	.sgrh-row .sgrh-col-2 { grid-column: span 2; }
}

.sgrh-wrap label {
	display: block;
	color: inherit;
	font-size: 14px;
	font-weight: 600;
}
.sgrh-wrap label.sgrh-grande { margin-bottom: 16px; }
.sgrh-wrap label em { color: var(--sgrh-accent); font-style: normal; }
.sgrh-wrap label small {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	font-weight: 400;
	opacity: .7;
}

.sgrh-wrap input[type="text"],
.sgrh-wrap input[type="email"],
.sgrh-wrap input[type="tel"],
.sgrh-wrap input[type="url"],
.sgrh-wrap input[type="date"],
.sgrh-wrap input[type="file"],
.sgrh-wrap select,
.sgrh-wrap textarea {
	display: block;
	width: 100%;
	margin-top: 7px;
	padding: 13px 14px;
	border: 1px solid var(--sgrh-line);
	border-radius: 0;
	background: var(--sgrh-fill-soft);
	color: inherit;
	font-family: inherit;
	font-size: 16px; /* 16px evita o zoom automático no iPhone */
	font-weight: 400;
	line-height: 1.35;
	appearance: none;
}

.sgrh-wrap select {
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 19px) 55%, calc(100% - 14px) 55%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 38px;
}

.sgrh-wrap select option {
	background-color: #ffffff;
	color: #16191c;
}

.sgrh-wrap textarea { resize: vertical; }
.sgrh-wrap input::placeholder,
.sgrh-wrap textarea::placeholder { color: inherit; opacity: .45; }

.sgrh-wrap input:focus-visible,
.sgrh-wrap select:focus-visible,
.sgrh-wrap textarea:focus-visible,
.sgrh-wrap button:focus-visible {
	outline: 2px solid var(--sgrh-accent);
	outline-offset: 2px;
}

.sgrh-wrap label.sgrh-livre {
	margin: 10px 0 4px;
	font-size: 13px;
	font-weight: 400;
	opacity: .85;
}

.sgrh-arquivo input[type="file"] { padding: 11px 14px; }

.sgrh-wrap .sgrh-detalhes {
	margin: 4px 0 0;
	padding: 12px 14px;
	border: 1px dashed var(--sgrh-line-soft);
}
.sgrh-wrap .sgrh-detalhes summary {
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.sgrh-wrap .sgrh-detalhes[open] summary { margin-bottom: 12px; }

/* ---------- erros ---------- */

.sgrh-wrap label.sgrh-invalido input,
.sgrh-wrap label.sgrh-invalido select,
.sgrh-wrap label.sgrh-invalido textarea { border-color: #d64530; }
.sgrh-wrap label.sgrh-opcao.sgrh-invalido { border-color: #d64530; }

.sgrh-msg {
	display: block;
	margin-top: 6px;
	color: #d64530;
	font-size: 13px;
	font-weight: 600;
}

.sgrh-erro,
.sgrh-ok {
	margin: 0 0 20px;
	padding: 16px 18px;
	border: 1px solid var(--sgrh-line);
	border-left: 4px solid var(--sgrh-accent);
	background: var(--sgrh-fill);
}
.sgrh-erro ul { margin: 8px 0 0; padding-left: 20px; }
.sgrh-wrap .sgrh-ok h3 { margin: 0 0 6px; color: inherit; }
.sgrh-wrap .sgrh-ok p { margin: 0; }

/* ---------- LGPD e botões ---------- */

.sgrh-wrap label.sgrh-lgpd {
	align-items: flex-start;
	margin-top: 20px;
	padding: 14px 16px;
	border: 1px solid var(--sgrh-line-soft);
	border-left: 3px solid var(--sgrh-accent);
	font-size: 14px;
	line-height: 1.45;
}
.sgrh-wrap label.sgrh-lgpd input { margin-top: 2px; }

.sgrh-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

.sgrh-wrap .sgrh-btn {
	min-height: 54px;
	padding: 15px 30px;
	border: 1px solid var(--sgrh-accent);
	border-radius: 0;
	background: var(--sgrh-accent);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	cursor: pointer;
	transition: opacity .15s ease;
}
.sgrh-wrap .sgrh-btn:hover:not(:disabled) { opacity: .88; }
.sgrh-wrap .sgrh-btn:disabled { opacity: .55; cursor: default; }

.sgrh-wrap .sgrh-btn-voltar {
	background: transparent;
	border-color: var(--sgrh-line);
	color: inherit;
	font-weight: 600;
}

.sgrh-nav .sgrh-btn-avancar,
.sgrh-nav .sgrh-btn-enviar { margin-left: auto; }

@media ( max-width: 560px ) {
	.sgrh-step { padding: 20px 15px; }
	.sgrh-wrap .sgrh-btn { flex: 1 1 140px; padding: 15px 16px; }
	.sgrh-nav .sgrh-btn-avancar,
	.sgrh-nav .sgrh-btn-enviar { margin-left: 0; }
}

/* Sem JavaScript: mostra tudo. */
.sgrh-wrap:not(.sgrh-js) .sgrh-cond { display: block !important; }
.sgrh-wrap:not(.sgrh-js) label.sgrh-cond { display: block !important; }
.sgrh-wrap:not(.sgrh-js) .sgrh-revela { display: block !important; }
.sgrh-wrap:not(.sgrh-js) .sgrh-btn-avancar,
.sgrh-wrap:not(.sgrh-js) .sgrh-btn-voltar { display: none; }

.sgrh-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media ( prefers-reduced-motion: reduce ) {
	.sgrh-wrap * { transition: none !important; }
}

/* ---------- painel do candidato ---------- */

.sgrh-wrap .sgrh-resumo {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}
.sgrh-wrap .sgrh-resumo strong {
	display: inline-block;
	margin-bottom: 4px;
	padding: 3px 10px;
	border: 1px solid var(--sgrh-accent);
	color: var(--sgrh-accent);
	font-size: 13px;
}

.sgrh-wrap a.sgrh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.sgrh-wrap #loginform label {
	display: block;
	margin-bottom: 14px;
}
.sgrh-wrap #loginform input[type="text"],
.sgrh-wrap #loginform input[type="password"] {
	display: block;
	width: 100%;
	margin-top: 7px;
	padding: 13px 14px;
	border: 1px solid var(--sgrh-line);
	background: var(--sgrh-fill-soft);
	color: inherit;
	font-family: inherit;
	font-size: 16px;
}
.sgrh-wrap #loginform .login-remember label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
}
.sgrh-wrap #loginform .login-remember input { width: 18px; height: 18px; accent-color: var(--sgrh-accent); }
.sgrh-wrap #loginform input[type="submit"] {
	min-height: 54px;
	padding: 15px 30px;
	border: 1px solid var(--sgrh-accent);
	background: var(--sgrh-accent);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	cursor: pointer;
}
.sgrh-wrap .sgrh-ajuda a { color: var(--sgrh-accent); }

.sgrh-wrap .sgrh-foto-atual {
	display: block;
	width: 110px;
	height: 110px;
	margin-bottom: 14px;
	object-fit: cover;
	border: 1px solid var(--sgrh-line);
}
