/**
 * Gerenciador de Carreiras — estilos públicos.
 *
 * Tudo escopado em .gc-wrapper. A cor de destaque vem de --gc-primary
 * (definida nas configurações do plugin); as demais cores são neutras.
 * Para usar a fonte do tema, redefina --gc-font e --gc-font-cond.
 */

/* ---------- Tokens ---------- */

.gc-wrapper {
	--gc-primary: #0b5563;
	--gc-primary-strong: color-mix(in srgb, var(--gc-primary) 80%, #000);
	--gc-primary-soft: color-mix(in srgb, var(--gc-primary) 9%, #fff);
	--gc-ink: #15242c;
	--gc-steel: #5a6a72;
	--gc-mist: #eef2f3;
	--gc-line: #d5dde0;
	--gc-signal: #e3a21a;
	--gc-signal-soft: #fdf3dc;
	--gc-signal-ink: #6b4700;
	--gc-danger: #b42318;
	--gc-danger-soft: #fdeceb;
	--gc-radius: 10px;
	--gc-radius-sm: 6px;
	--gc-font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--gc-font-cond: "IBM Plex Sans Condensed", var(--gc-font);

	--bs-body-font-family: var(--gc-font);
	--bs-body-color: var(--gc-ink);
	--bs-body-bg: transparent;
	--bs-border-color: var(--gc-line);
	--bs-form-invalid-color: var(--gc-danger);
	--bs-form-invalid-border-color: var(--gc-danger);

	box-sizing: border-box;
	font-family: var(--gc-font);
	font-size: 1rem;
	line-height: 1.55;
	color: var(--gc-ink);
	background: transparent;
	text-align: left;
}

.gc-wrapper .gc-mod-onshore { --gc-mod: var(--gc-primary); }
.gc-wrapper .gc-mod-offshore { --gc-mod: var(--gc-signal); }
.gc-wrapper .gc-mod-ambas { --gc-mod: linear-gradient(90deg, var(--gc-primary) 50%, var(--gc-signal) 50%); }

/* ---------- Base e Bootstrap ---------- */

.gc-wrapper a:not(.btn):not(.page-link) {
	color: var(--gc-primary);
	text-underline-offset: 0.18em;
}

.gc-wrapper :focus-visible {
	outline: 2px solid var(--gc-primary);
	outline-offset: 2px;
}

.gc-wrapper .btn {
	--bs-btn-font-weight: 600;
	--bs-btn-padding-x: 1.4rem;
	--bs-btn-border-radius: var(--gc-radius-sm);
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.gc-wrapper .btn:focus-visible {
	box-shadow: none;
	outline: 2px solid var(--gc-primary);
	outline-offset: 2px;
}

.gc-wrapper .btn-primary {
	--bs-btn-bg: var(--gc-primary);
	--bs-btn-border-color: var(--gc-primary);
	--bs-btn-hover-bg: var(--gc-primary-strong);
	--bs-btn-hover-border-color: var(--gc-primary-strong);
	--bs-btn-active-bg: var(--gc-primary-strong);
	--bs-btn-active-border-color: var(--gc-primary-strong);
	--bs-btn-disabled-bg: var(--gc-primary);
	--bs-btn-disabled-border-color: var(--gc-primary);
}

.gc-wrapper .btn-outline-primary {
	--bs-btn-color: var(--gc-primary);
	--bs-btn-border-color: var(--gc-primary);
	--bs-btn-hover-bg: var(--gc-primary);
	--bs-btn-hover-border-color: var(--gc-primary);
	--bs-btn-active-bg: var(--gc-primary-strong);
	--bs-btn-active-border-color: var(--gc-primary-strong);
}

.gc-wrapper .btn-outline-secondary {
	--bs-btn-color: var(--gc-ink);
	--bs-btn-border-color: var(--gc-line);
	--bs-btn-hover-color: var(--gc-ink);
	--bs-btn-hover-bg: var(--gc-mist);
	--bs-btn-hover-border-color: var(--gc-steel);
	--bs-btn-active-color: var(--gc-ink);
	--bs-btn-active-bg: var(--gc-mist);
	--bs-btn-active-border-color: var(--gc-steel);
}

.gc-wrapper .form-label {
	font-weight: 500;
	font-size: 0.9375rem;
	margin-bottom: 0.4rem;
	color: var(--gc-ink);
}

.gc-wrapper .form-control,
.gc-wrapper .form-select {
	min-height: 48px;
	border-color: var(--gc-line);
	border-radius: var(--gc-radius-sm);
	font-size: 1rem;
	color: var(--gc-ink);
	background-color: #fff;
}

.gc-wrapper .form-control::placeholder { color: #7d8a90; }

.gc-wrapper .form-control:focus,
.gc-wrapper .form-select:focus {
	border-color: var(--gc-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gc-primary) 22%, transparent);
}

.gc-wrapper .form-control[readonly] {
	background-color: var(--gc-mist);
	color: var(--gc-ink);
}

.gc-wrapper .form-text {
	color: var(--gc-steel);
	font-size: 0.8125rem;
}

.gc-wrapper .form-check-input:checked {
	background-color: var(--gc-primary);
	border-color: var(--gc-primary);
}

.gc-wrapper .form-check-input:focus {
	border-color: var(--gc-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gc-primary) 22%, transparent);
}

.gc-wrapper .pagination {
	--bs-pagination-color: var(--gc-ink);
	--bs-pagination-hover-color: var(--gc-primary);
	--bs-pagination-active-bg: var(--gc-primary);
	--bs-pagination-active-border-color: var(--gc-primary);
	--bs-pagination-focus-box-shadow: 0 0 0 3px color-mix(in srgb, var(--gc-primary) 22%, transparent);
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}

.gc-wrapper .page-link {
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--gc-radius-sm) !important;
}

/* ---------- Marcador de modalidade ---------- */

.gc-wrapper .gc-mod-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.2rem 0.65rem 0.2rem 0.55rem;
	border-radius: 999px;
	background: var(--gc-mist);
	color: var(--gc-ink);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
}

.gc-wrapper .gc-mod-badge::before {
	content: "";
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: var(--gc-mod, var(--gc-steel));
}

.gc-wrapper .gc-mod-onshore .gc-mod-badge,
.gc-wrapper .gc-mod-onshore.gc-mod-badge {
	background: var(--gc-primary-soft);
	color: var(--gc-primary);
}

.gc-wrapper .gc-mod-offshore .gc-mod-badge {
	background: var(--gc-signal-soft);
	color: var(--gc-signal-ink);
}

/* ---------- Filtros ---------- */

.gc-wrapper .gc-filtros {
	display: grid;
	gap: 16px;
	padding: 20px;
	margin-bottom: 8px;
	border-radius: var(--gc-radius);
	background: var(--gc-mist);
}

/* O layout dos filtros depende da largura do container (o tema pode limitar o conteúdo). */
.gc-wrapper.gc-vagas { container-type: inline-size; }

@container (min-width: 520px) {
	.gc-wrapper .gc-filtros {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: end;
	}

	.gc-wrapper .gc-filtros__busca,
	.gc-wrapper .gc-filtros__modalidade { grid-column: 1 / -1; }
	.gc-wrapper .gc-filtros__acoes { grid-column: 1 / -1; justify-self: end; }
}

@container (min-width: 900px) {
	.gc-wrapper .gc-filtros { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
	.gc-wrapper .gc-filtros__busca { grid-column: auto; }
	.gc-wrapper .gc-filtros__modalidade { grid-column: 1 / 3; }
	.gc-wrapper .gc-filtros__acoes { grid-column: 3; }
}

@container (min-width: 520px) and (max-width: 899.98px) {
	.gc-wrapper .gc-filtros__modalidade { grid-column: 1 / 2; }
	.gc-wrapper .gc-filtros__acoes { grid-column: 2; align-self: end; }
}

.gc-wrapper .gc-filtros fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.gc-wrapper .gc-filtros legend {
	float: none;
	width: auto;
}

.gc-wrapper .gc-segmented {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
}

.gc-wrapper .gc-segmented__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

.gc-wrapper .gc-segmented__label {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 44px;
	padding: 0 1rem;
	border: 1px solid var(--gc-line);
	border-radius: 999px;
	background: #fff;
	font-size: 0.9375rem;
	font-weight: 500;
	cursor: pointer;
	user-select: none;
}

.gc-wrapper .gc-segmented__label[class*="gc-mod-"]::before {
	content: "";
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--gc-mod);
}

.gc-wrapper .gc-segmented__label:hover { border-color: var(--gc-steel); }

.gc-wrapper .gc-segmented__input:checked + .gc-segmented__label {
	border-color: var(--gc-ink);
	background: var(--gc-ink);
	color: #fff;
}

.gc-wrapper .gc-segmented__input:focus-visible + .gc-segmented__label {
	outline: 2px solid var(--gc-primary);
	outline-offset: 2px;
}

/* ---------- Resultados ---------- */

.gc-wrapper .gc-vagas__resultados {
	transition: opacity 0.15s linear;
}

.gc-wrapper .gc-vagas__resultados[aria-busy="true"] {
	opacity: 0.5;
	pointer-events: none;
}

.gc-wrapper .gc-vagas__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin: 20px 0 12px;
}

.gc-wrapper .gc-vagas__count {
	margin: 0;
	color: var(--gc-steel);
	font-size: 0.9375rem;
}

.gc-wrapper .gc-link-limpar { font-size: 0.9375rem; }

.gc-wrapper .gc-vagas__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}

.gc-wrapper .gc-vagas__grid > li { display: flex; }

/* ---------- Card de vaga ---------- */

.gc-wrapper .gc-vaga-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	padding: 22px 20px 18px;
	border: 1px solid var(--gc-line);
	border-radius: var(--gc-radius);
	background: #fff;
	overflow: hidden;
}

.gc-wrapper .gc-vaga-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: var(--gc-mod, var(--gc-line));
}

.gc-wrapper .gc-vaga-card:hover { border-color: var(--gc-steel); }

.gc-wrapper .gc-vaga-card:focus-within {
	outline: 2px solid var(--gc-primary);
	outline-offset: 2px;
}

.gc-wrapper .gc-vaga-card .stretched-link:focus-visible { outline: none; }

.gc-wrapper .gc-vaga-card__topo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}

.gc-wrapper .gc-vaga-card__area {
	color: var(--gc-steel);
	font-size: 0.8125rem;
}

.gc-wrapper .gc-vaga-card__titulo {
	margin: 2px 0 0;
	font-family: var(--gc-font-cond);
	font-size: 1.3125rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.005em;
}

.gc-wrapper .gc-vaga-card__titulo a {
	color: var(--gc-ink) !important;
	text-decoration: none;
}

.gc-wrapper .gc-vaga-card:hover .gc-vaga-card__titulo a { text-decoration: underline; }

.gc-wrapper .gc-vaga-card__resumo {
	margin: 0;
	color: var(--gc-steel);
	font-size: 0.9375rem;
}

.gc-wrapper .gc-vaga-card__prazo {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--gc-steel);
}

.gc-wrapper .gc-vaga-card__prazo--urgente {
	color: var(--gc-signal-ink);
	font-weight: 600;
}

.gc-wrapper .gc-vaga-card__prazo--pausada { font-weight: 600; }

/* Ficha técnica (chave/valor). */
.gc-wrapper .gc-ficha {
	margin: 0;
}

.gc-wrapper .gc-ficha dt {
	font-weight: 400;
	font-size: 0.8125rem;
	color: var(--gc-steel);
}

.gc-wrapper .gc-ficha dd {
	margin: 0;
	font-weight: 500;
}

.gc-wrapper .gc-ficha--compacta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--gc-mist);
	font-size: 0.9375rem;
}

/* ---------- Imagem no card ---------- */

.gc-wrapper .gc-vaga-card {
	gap: 0;
	padding: 0;
}

.gc-wrapper .gc-vaga-card__imagem {
	margin: 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--gc-mist);
}

.gc-wrapper .gc-vaga-card__imagem img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.gc-wrapper .gc-vaga-card__corpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	padding: 22px 20px 18px;
}

/* A faixa de modalidade fica no topo do corpo (abaixo da foto, quando houver).
   Borda em vez de pseudo-elemento: o corpo não pode ser posicionado, senão o
   stretched-link deixaria a foto fora da área clicável. */
.gc-wrapper .gc-vaga-card::before { content: none; }

.gc-wrapper .gc-vaga-card__corpo { border-top: 4px solid var(--gc-line); }
.gc-wrapper .gc-mod-onshore .gc-vaga-card__corpo { border-top-color: var(--gc-primary); }
.gc-wrapper .gc-mod-offshore .gc-vaga-card__corpo { border-top-color: var(--gc-signal); }
.gc-wrapper .gc-mod-ambas .gc-vaga-card__corpo { border-image: linear-gradient(90deg, var(--gc-primary) 50%, var(--gc-signal) 50%) 1; }

/* ---------- Grid de áreas ---------- */

.gc-wrapper.gc-areas {
	container-type: inline-size;
	margin: 0 0 48px;
}

.gc-wrapper .gc-areas__cabecalho {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 16px;
	margin-bottom: 16px;
}

.gc-wrapper .gc-areas__titulo {
	margin: 0;
	font-family: var(--gc-font-cond);
	font-size: clamp(1.375rem, 1.1rem + 1cqi, 1.75rem);
	font-weight: 600;
	line-height: 1.2;
}

.gc-wrapper .gc-areas__sub {
	margin: 0;
	color: var(--gc-steel);
	font-size: 0.9375rem;
}

.gc-wrapper .gc-areas__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gc-wrapper .gc-areas__grid > li { margin: 0; }

.gc-wrapper .gc-area-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 4 / 3;
	padding: 18px;
	border-radius: 14px;
	background: linear-gradient(150deg, var(--gc-primary) 0%, var(--gc-primary-strong) 100%);
	color: #fff !important;
	text-decoration: none !important;
	overflow: hidden;
	isolation: isolate;
}

.gc-wrapper .gc-area-card__imagem {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.gc-wrapper .gc-area-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(6, 18, 24, 0) 30%, rgba(6, 18, 24, 0.82) 100%);
}

.gc-wrapper .gc-area-card:hover::after { background: linear-gradient(180deg, rgba(6, 18, 24, 0.1) 20%, rgba(6, 18, 24, 0.9) 100%); }

.gc-wrapper .gc-area-card:focus-visible {
	outline: 3px solid var(--gc-primary);
	outline-offset: 3px;
}

.gc-wrapper .gc-area-card__texto {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.gc-wrapper .gc-area-card__nome {
	font-family: var(--gc-font-cond);
	font-size: 1.3125rem;
	font-weight: 600;
	line-height: 1.15;
	text-wrap: balance;
}

.gc-wrapper .gc-area-card__total {
	font-size: 0.875rem;
	opacity: 0.85;
}

.gc-wrapper .gc-area-card__filtro {
	position: absolute;
	top: 12px;
	right: 12px;
	display: none;
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	background: #fff;
	color: var(--gc-primary);
	font-size: 0.75rem;
	font-weight: 600;
}

.gc-wrapper .gc-area-card.is-ativa {
	outline: 3px solid var(--gc-primary);
	outline-offset: 3px;
}

.gc-wrapper .gc-area-card.is-ativa .gc-area-card__filtro { display: inline-block; }

/* ---------- Paginação ---------- */

.gc-wrapper .gc-paginacao {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid var(--gc-mist);
}

.gc-wrapper .gc-paginacao__info {
	margin: 0;
	color: var(--gc-steel);
	font-size: 0.9375rem;
}

.gc-wrapper .page-link--texto { padding: 0 14px; }

.gc-wrapper .page-item.disabled .page-link { color: #a3afb4; }

.gc-wrapper .gc-paginacao__reticencias {
	display: flex;
	align-items: center;
	min-width: 28px;
	justify-content: center;
	color: var(--gc-steel);
}

/* ---------- Estado vazio ---------- */

.gc-wrapper .gc-vazio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 32px 28px;
	border: 1px dashed var(--gc-line);
	border-radius: var(--gc-radius);
}

.gc-wrapper .gc-vazio p {
	margin: 0;
	max-width: 56ch;
	color: var(--gc-steel);
}

.gc-wrapper .gc-vazio__titulo {
	margin: 0;
	font-family: var(--gc-font-cond);
	font-size: 1.375rem;
	font-weight: 600;
}

.gc-wrapper .gc-vazio .btn { margin-top: 4px; }


/* ---------- Página da vaga ---------- */

.gc-wrapper.gc-vaga { container-type: inline-size; }

/* Topo: foto da vaga com o título por cima; sem foto, um painel claro. */
.gc-wrapper .gc-vaga__topo {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 260px;
	margin: 0 0 40px;
	padding: clamp(24px, 5cqi, 56px);
	border-radius: 16px;
	background: var(--gc-primary-soft);
	overflow: hidden;
	isolation: isolate;
}

.gc-wrapper .gc-vaga__topo--imagem {
	min-height: clamp(360px, 46cqi, 520px);
	color: #fff;
	background: #0a1d24;
}

.gc-wrapper .gc-vaga__topo-imagem {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

/* Escurece a base da foto para o texto manter contraste. */
.gc-wrapper .gc-vaga__topo--imagem::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(6, 18, 24, 0.15) 0%, rgba(6, 18, 24, 0.55) 45%, rgba(6, 18, 24, 0.92) 100%);
}

.gc-wrapper .gc-vaga__topo-conteudo {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
	max-width: 900px;
}

.gc-wrapper .gc-vaga__voltar {
	align-self: flex-start;
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
}

.gc-wrapper .gc-vaga__voltar::before { content: "\2190\00a0"; }

.gc-wrapper .gc-vaga__voltar:hover { text-decoration: underline; }

.gc-wrapper .gc-vaga__topo--imagem a.gc-vaga__voltar { color: rgba(255, 255, 255, 0.85) !important; }

.gc-wrapper .gc-vaga__selos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gc-wrapper .gc-selo {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.7rem;
	border: 1px solid var(--gc-line);
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.4;
}

.gc-wrapper .gc-vaga__topo--imagem .gc-selo {
	border-color: rgba(255, 255, 255, 0.35);
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
}

.gc-wrapper .gc-vaga__topo--imagem .gc-mod-badge {
	background: rgba(255, 255, 255, 0.95);
	color: var(--gc-ink);
}

.gc-wrapper .gc-vaga__titulo {
	margin: 0;
	color: inherit;
	font-family: var(--gc-font-cond);
	font-size: clamp(2rem, 1.2rem + 3.4cqi, 3.75rem);
	font-weight: 600;
	line-height: 1.04;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.gc-wrapper .gc-vaga__destaques {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 32px;
	margin: 4px 0 0;
}

.gc-wrapper .gc-vaga__destaque dt {
	font-size: 0.8125rem;
	font-weight: 400;
	opacity: 0.75;
}

.gc-wrapper .gc-vaga__destaque dd {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 600;
}

.gc-wrapper .gc-vaga__chamada {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-top: 8px;
}

.gc-wrapper .gc-vaga__topo--imagem .gc-vaga__cta {
	--bs-btn-bg: #fff;
	--bs-btn-color: var(--gc-ink);
	--bs-btn-border-color: #fff;
	--bs-btn-hover-bg: color-mix(in srgb, #fff 85%, var(--gc-primary));
	--bs-btn-hover-color: var(--gc-ink);
	--bs-btn-hover-border-color: transparent;
	--bs-btn-active-bg: color-mix(in srgb, #fff 78%, var(--gc-primary));
	--bs-btn-active-color: var(--gc-ink);
}

.gc-wrapper .gc-vaga__topo--imagem .gc-vaga__cta:focus-visible { outline-color: #fff; }

.gc-wrapper .gc-vaga__prazo { font-size: 0.9375rem; opacity: 0.9; }

.gc-wrapper .gc-vaga__prazo--urgente {
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	background: var(--gc-signal-soft);
	color: var(--gc-signal-ink);
	font-weight: 600;
	opacity: 1;
}

.gc-wrapper .gc-aviso {
	margin: 0 0 28px;
	padding: 18px 20px;
	border-left: 4px solid var(--gc-signal);
	border-radius: var(--gc-radius-sm);
	background: var(--gc-signal-soft);
}

.gc-wrapper .gc-aviso p { margin: 0 0 8px; }
.gc-wrapper .gc-aviso p:last-child { margin-bottom: 0; }
.gc-wrapper .gc-aviso .btn { margin-top: 6px; }

.gc-wrapper .gc-aviso--encerrada {
	border-left-color: var(--gc-steel);
	background: var(--gc-mist);
}

.gc-wrapper .gc-aviso__titulo {
	font-weight: 600;
	font-size: 1.0625rem;
}

.gc-wrapper .gc-vaga__corpo {
	display: grid;
	gap: 32px;
}

@container (min-width: 820px) {
	.gc-wrapper .gc-vaga__corpo {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 56px;
		align-items: start;
	}

	.gc-wrapper .gc-vaga__ficha {
		position: sticky;
		top: 24px;
	}
}

.gc-wrapper .gc-vaga__texto { min-width: 0; }

/* Texto corrido com medida confortável; o formulário usa a coluna inteira. */
.gc-wrapper .gc-vaga__secao { max-width: 72ch; }

.gc-wrapper .gc-vaga__candidatura .gc-form,
.gc-wrapper .gc-vaga__candidatura .gc-sucesso { max-width: none; }

.gc-wrapper .gc-vaga__secao + .gc-vaga__secao {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid var(--gc-mist);
}

.gc-wrapper .gc-vaga__secao h2 {
	margin: 0 0 16px;
	font-family: var(--gc-font-cond);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.25;
}

.gc-wrapper .gc-vaga__descricao { font-size: 1.0625rem; line-height: 1.7; }

.gc-wrapper .gc-vaga__descricao > :first-child { margin-top: 0; }

/* Requisitos com marca de checagem; diferenciais com um "+". */
.gc-wrapper .gc-checklist {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gc-wrapper .gc-checklist li {
	position: relative;
	margin: 0;
	padding: 10px 14px 10px 46px;
	border: 1px solid var(--gc-line);
	border-radius: var(--gc-radius-sm);
	background: #fff;
}

.gc-wrapper .gc-checklist li::before,
.gc-wrapper .gc-checklist li::after {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	border-radius: 50%;
}

.gc-wrapper .gc-checklist li::before { background: var(--gc-primary-soft); }

/* O ícone usa máscara para seguir a cor de destaque configurada. */
.gc-wrapper .gc-checklist li::after {
	background: var(--gc-primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat;
}

.gc-wrapper .gc-checklist--bonus li::before { background: var(--gc-signal-soft); }

.gc-wrapper .gc-checklist--bonus li::after {
	background: var(--gc-signal-ink);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 5.5v9M5.5 10h9' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 5.5v9M5.5 10h9' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.gc-wrapper .gc-vaga__ficha {
		position: sticky;
		top: 24px;
	}
}

.gc-wrapper .gc-vaga__texto { max-width: 70ch; }

.gc-wrapper .gc-vaga__secao + .gc-vaga__secao {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid var(--gc-mist);
}

.gc-wrapper .gc-vaga__secao h2 {
	margin: 0 0 16px;
	font-family: var(--gc-font-cond);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.25;
}

.gc-wrapper .gc-vaga__descricao { font-size: 1.0625rem; line-height: 1.7; }

.gc-wrapper .gc-vaga__descricao > :first-child { margin-top: 0; }

/* Requisitos com marca de checagem; diferenciais com um "+". */
.gc-wrapper .gc-checklist {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gc-wrapper .gc-checklist li {
	position: relative;
	margin: 0;
	padding: 10px 14px 10px 46px;
	border: 1px solid var(--gc-line);
	border-radius: var(--gc-radius-sm);
	background: #fff;
}

.gc-wrapper .gc-checklist li::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	border-radius: 50%;
	background: var(--gc-primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%230b5563' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat;
}

.gc-wrapper .gc-checklist--bonus li::before {
	background: var(--gc-signal-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 5.5v9M5.5 10h9' fill='none' stroke='%236b4700' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center / 20px no-repeat;
}

.gc-wrapper .gc-vaga__ficha {
	padding: 24px;
	border: 1px solid var(--gc-line);
	border-radius: 14px;
	background: #fff;
}

.gc-wrapper .gc-vaga__ficha-titulo {
	margin: 0 0 12px;
	font-family: var(--gc-font-cond);
	font-size: 1.125rem;
	font-weight: 600;
}

.gc-wrapper .gc-vaga__ficha .gc-ficha { margin-bottom: 20px; }

.gc-wrapper .gc-vaga__ficha .gc-ficha > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid var(--gc-mist);
}

.gc-wrapper .gc-vaga__ficha .gc-ficha > div:first-child { padding-top: 0; }

.gc-wrapper .gc-vaga__ficha .gc-ficha dt { font-size: 0.875rem; }

.gc-wrapper .gc-vaga__ficha .gc-ficha dd {
	text-align: right;
	font-size: 0.9375rem;
}

.gc-wrapper .gc-vaga__candidatura {
	margin-top: 64px;
	scroll-margin-top: 24px;
}

/* ---------- Trabalhe Conosco ---------- */

.gc-wrapper.gc-banco {
	container-type: inline-size;
	display: grid;
	gap: 32px;
}

@container (min-width: 880px) {
	.gc-wrapper .gc-banco__lado { position: sticky; top: 24px; }
}

@media (min-width: 1000px) {
	.gc-wrapper.gc-banco {
		grid-template-columns: minmax(280px, 1fr) minmax(0, 2fr);
		gap: 56px;
		align-items: start;
	}

	.gc-wrapper .gc-banco__lado { position: sticky; top: 24px; }
}

.gc-wrapper .gc-banco__form .gc-form,
.gc-wrapper .gc-banco__form .gc-sucesso { max-width: none; }

.gc-wrapper .gc-banco__titulo {
	margin: 0 0 12px;
	font-family: var(--gc-font-cond);
	font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.gc-wrapper .gc-banco__lead {
	margin: 0 0 28px;
	color: var(--gc-steel);
	font-size: 1.0625rem;
	max-width: 46ch;
}

.gc-wrapper .gc-banco__subtitulo {
	margin: 0 0 14px;
	font-family: var(--gc-font-cond);
	font-size: 1.125rem;
	font-weight: 600;
}

/* Etapas: a linha vertical liga os números, como um fluxo. */
.gc-wrapper .gc-banco__etapas {
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	counter-reset: gc-etapa;
}

.gc-wrapper .gc-banco__etapas li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0 0 20px 48px;
	counter-increment: gc-etapa;
}

.gc-wrapper .gc-banco__etapas li::before {
	content: counter(gc-etapa);
	position: absolute;
	left: 0;
	top: -2px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--gc-primary);
	color: #fff;
	font-family: var(--gc-font-cond);
	font-weight: 600;
}

.gc-wrapper .gc-banco__etapas li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 15px;
	top: 32px;
	bottom: 2px;
	width: 2px;
	background: var(--gc-line);
}

.gc-wrapper .gc-banco__etapas strong { font-weight: 600; }

.gc-wrapper .gc-banco__etapas span {
	color: var(--gc-steel);
	font-size: 0.9375rem;
}

.gc-wrapper .gc-banco__vagas {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 24px;
	padding: 16px 18px;
	border: 1px solid var(--gc-line);
	border-radius: 12px;
	background: #fff;
	color: var(--gc-ink) !important;
	text-decoration: none !important;
}

.gc-wrapper .gc-banco__vagas:hover { border-color: var(--gc-primary); }

.gc-wrapper .gc-banco__vagas-numero {
	color: var(--gc-primary);
	font-family: var(--gc-font-cond);
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.gc-wrapper .gc-banco__vagas-texto {
	display: flex;
	flex-direction: column;
}

.gc-wrapper .gc-banco__vagas-texto span {
	color: var(--gc-primary);
	font-size: 0.9375rem;
}

.gc-wrapper .gc-banco__vagas:hover .gc-banco__vagas-texto span { text-decoration: underline; }

.gc-wrapper .gc-banco__privacidade {
	margin: 0;
	color: var(--gc-steel);
	font-size: 0.875rem;
	max-width: 46ch;
}

/* ---------- Formulário ---------- */

.gc-wrapper.gc-candidatura {
	container-type: inline-size;
	--gc-form-topo: color-mix(in srgb, var(--gc-primary) 62%, #061218);
	--gc-campo-bg: #f3f6f7;
	--gc-campo-borda: #e1e8ea;
}

.gc-wrapper .gc-form,
.gc-wrapper .gc-sucesso {
	max-width: 880px;
	border: 1px solid var(--gc-line);
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}

/* Cabeçalho escuro com título e progresso. */
.gc-wrapper .gc-form__cabecalho {
	padding: clamp(24px, 5cqi, 40px) clamp(20px, 5cqi, 40px) clamp(20px, 4cqi, 28px);
	background: var(--gc-form-topo);
	color: #fff;
}

.gc-wrapper .gc-form__titulo {
	margin: 0 0 6px;
	color: inherit;
	font-family: var(--gc-font-cond);
	font-size: clamp(1.625rem, 1.2rem + 1.6cqi, 2.125rem);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.gc-wrapper .gc-form__contexto {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	max-width: 60ch;
}

.gc-wrapper .gc-form__contexto strong { color: #fff; }

.gc-wrapper .gc-req {
	color: var(--gc-danger);
	font-weight: 600;
}

/* Progresso: um segmento por etapa. Os rótulos ficam para leitores de tela. */
.gc-wrapper .gc-stepper {
	display: flex;
	gap: 6px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.gc-wrapper .gc-stepper__item {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}

.gc-wrapper .gc-stepper__no {
	display: block;
	width: 100%;
	padding: 8px 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.gc-wrapper .gc-stepper__no:disabled { cursor: default; }

.gc-wrapper .gc-stepper__no::before {
	content: "";
	display: block;
	height: 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.2);
	transition: background-color 0.3s ease;
}

.gc-wrapper .gc-stepper__item.is-done .gc-stepper__no::before { background: rgba(255, 255, 255, 0.8); }

.gc-wrapper .gc-stepper__item.is-done .gc-stepper__no:hover::before { background: #fff; }

.gc-wrapper .gc-stepper__item.is-current .gc-stepper__no::before { background: var(--gc-signal); }

.gc-wrapper .gc-stepper__no:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.gc-wrapper .gc-stepper__num,
.gc-wrapper .gc-stepper__rotulo {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.gc-wrapper .gc-stepper-compacto { margin: 6px 0 0; }

.gc-wrapper .gc-stepper-compacto__texto {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
}

/* O nome da etapa já aparece como título no corpo do formulário. */
.gc-wrapper .gc-stepper-compacto__texto strong,
.gc-wrapper .gc-stepper-compacto__trilho { display: none; }

/* Corpo. */
.gc-wrapper .gc-form__corpo { padding: clamp(24px, 5cqi, 40px) clamp(20px, 5cqi, 40px) 8px; }

.gc-wrapper .gc-form__nota {
	margin: 0 0 20px;
	font-size: 0.8125rem;
	color: var(--gc-steel);
}

/* Campos preenchidos: fundo suave, branco ao focar. */
.gc-wrapper.gc-candidatura .form-control,
.gc-wrapper.gc-candidatura .form-select {
	min-height: 52px;
	border-color: var(--gc-campo-borda);
	border-radius: 10px;
	background-color: var(--gc-campo-bg);
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.gc-wrapper.gc-candidatura .form-control:hover,
.gc-wrapper.gc-candidatura .form-select:hover { border-color: #c7d2d5; }

.gc-wrapper.gc-candidatura .form-control:focus,
.gc-wrapper.gc-candidatura .form-select:focus {
	border-color: var(--gc-primary);
	background-color: #fff;
}

.gc-wrapper.gc-candidatura .form-control[readonly] {
	border-style: dashed;
	background-color: #fff;
}

.gc-wrapper.gc-candidatura .form-label {
	font-size: 0.9375rem;
	font-weight: 600;
}

/* Etapas */
.gc-wrapper .gc-etapa {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.gc-wrapper .gc-etapa[hidden],
.gc-wrapper [data-gc-condition][hidden] { display: none !important; }

.gc-wrapper .gc-etapa__titulo {
	float: none;
	width: auto;
	margin: 0 0 4px;
	padding: 0;
	font-family: var(--gc-font-cond);
	font-size: clamp(1.375rem, 1.1rem + 1cqi, 1.75rem);
	font-weight: 600;
	line-height: 1.2;
}

.gc-wrapper .gc-etapa__titulo:focus { outline: none; }

.gc-wrapper .gc-etapa__descricao {
	margin: 0 0 20px;
	color: var(--gc-steel);
}

.gc-wrapper .gc-campo .invalid-feedback {
	margin: 6px 0 0;
	font-size: 0.875rem;
	font-weight: 500;
}

.gc-wrapper .gc-campo.is-invalid .invalid-feedback { display: block; }

/* Escolhas em blocos (radio) */
.gc-wrapper .gc-escolhas {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.gc-wrapper .gc-escolhas legend {
	float: none;
	width: auto;
	padding: 0;
}

.gc-wrapper .gc-escolhas__opcoes {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.gc-wrapper .gc-escolhas--descritas .gc-escolhas__opcoes {
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.gc-wrapper .gc-escolha { position: relative; }

.gc-wrapper .gc-escolha__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

.gc-wrapper .gc-escolha__label {
	display: flex;
	flex-direction: column;
	gap: 2px;
	height: 100%;
	min-height: 52px;
	padding: 14px 16px 14px 44px;
	border: 1.5px solid var(--gc-campo-borda, var(--gc-line));
	border-radius: 10px;
	background: var(--gc-campo-bg, #fff);
	cursor: pointer;
	position: relative;
}

.gc-wrapper .gc-escolha__label::before {
	content: "";
	position: absolute;
	left: 16px;
	top: 16px;
	width: 18px;
	height: 18px;
	border: 2px solid #8a979c;
	border-radius: 50%;
	background: #fff;
}

.gc-wrapper .gc-escolha__label:hover { border-color: var(--gc-steel); }

.gc-wrapper .gc-escolha__titulo { font-weight: 500; }

.gc-wrapper .gc-escolha__ajuda {
	font-size: 0.8125rem;
	color: var(--gc-steel);
	line-height: 1.4;
}

.gc-wrapper .gc-escolha__input:checked + .gc-escolha__label {
	border-color: var(--gc-primary);
	background: var(--gc-primary-soft);
	box-shadow: inset 0 0 0 1px var(--gc-primary);
}

.gc-wrapper .gc-escolha__input:checked + .gc-escolha__label::before {
	border-color: var(--gc-primary);
	background: radial-gradient(circle, var(--gc-primary) 0 4px, #fff 5px);
}

.gc-wrapper .gc-mod-offshore .gc-escolha__input:checked + .gc-escolha__label {
	border-color: var(--gc-signal);
	background: var(--gc-signal-soft);
	box-shadow: inset 0 0 0 1px var(--gc-signal);
}

.gc-wrapper .gc-mod-offshore .gc-escolha__input:checked + .gc-escolha__label::before {
	border-color: var(--gc-signal-ink);
	background: radial-gradient(circle, var(--gc-signal-ink) 0 4px, #fff 5px);
}

.gc-wrapper .gc-escolha__input:focus-visible + .gc-escolha__label {
	outline: 2px solid var(--gc-primary);
	outline-offset: 2px;
}

.gc-wrapper .gc-campo.is-invalid .gc-escolha__label { border-color: var(--gc-danger); }

/* Dica offshore */
.gc-wrapper .gc-dica-offshore {
	margin: 0 0 10px;
	padding: 10px 14px;
	border-left: 3px solid var(--gc-signal);
	border-radius: var(--gc-radius-sm);
	background: var(--gc-signal-soft);
	color: var(--gc-signal-ink);
	font-size: 0.875rem;
}

.gc-wrapper .gc-contador {
	margin: 6px 0 0;
	text-align: right;
}

.gc-wrapper .gc-contador.is-near { color: var(--gc-signal-ink); font-weight: 600; }

/* Upload */
.gc-wrapper .gc-upload { position: relative; }

.gc-wrapper .gc-upload__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

.gc-wrapper .gc-upload__area {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 32px 20px;
	border: 2px dashed #c7d2d5;
	border-radius: 12px;
	background: var(--gc-campo-bg, #fafbfb);
	text-align: center;
	cursor: pointer;
}

.gc-wrapper .gc-upload__area:hover,
.gc-wrapper .gc-upload.is-dragover .gc-upload__area {
	border-color: var(--gc-primary);
	background: var(--gc-primary-soft);
}

.gc-wrapper .gc-upload.is-dragover .gc-upload__area { border-style: solid; }

.gc-wrapper .gc-upload__input:focus-visible + .gc-upload__area {
	outline: 2px solid var(--gc-primary);
	outline-offset: 2px;
}

.gc-wrapper .gc-upload__icone {
	width: 36px;
	height: 36px;
	color: var(--gc-primary);
}

.gc-wrapper .gc-upload__chamada { font-weight: 500; }

.gc-wrapper .gc-upload__regra {
	font-size: 0.8125rem;
	color: var(--gc-steel);
}

.gc-wrapper .gc-upload.has-file .gc-upload__area { display: none; }

.gc-wrapper .gc-upload__arquivo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	padding: 14px 16px;
	border: 1.5px solid var(--gc-primary);
	border-radius: var(--gc-radius);
	background: var(--gc-primary-soft);
}

.gc-wrapper .gc-upload__arquivo[hidden] { display: none; }

.gc-wrapper .gc-upload__icone-ok {
	width: 28px;
	height: 28px;
	flex: none;
	color: var(--gc-primary);
}

.gc-wrapper .gc-upload__nome {
	font-weight: 600;
	overflow-wrap: anywhere;
}

.gc-wrapper .gc-upload__tamanho {
	color: var(--gc-steel);
	font-size: 0.875rem;
}

.gc-wrapper .gc-upload__remover {
	margin-left: auto;
	min-height: 36px;
	padding: 0 0.5rem;
	color: var(--gc-primary);
	font-weight: 600;
}

.gc-wrapper .gc-campo.is-invalid .gc-upload__area { border-color: var(--gc-danger); }

/* Consentimento */
.gc-wrapper .gc-consentimento {
	display: flex;
	gap: 12px;
	padding: 16px 18px;
	border: 1px solid var(--gc-campo-borda, var(--gc-line));
	border-radius: 10px;
	background: var(--gc-campo-bg, var(--gc-mist));
}

.gc-wrapper .gc-consentimento .form-check-input {
	flex: none;
	width: 1.3em;
	height: 1.3em;
	margin: 0.1em 0 0;
	float: none;
}

.gc-wrapper .gc-consentimento .form-check-label {
	font-size: 0.9375rem;
	line-height: 1.5;
}

.gc-wrapper .gc-campo.is-invalid .gc-consentimento { box-shadow: inset 0 0 0 1.5px var(--gc-danger); }

.gc-wrapper .gc-captcha { margin-top: 20px; }

.gc-wrapper .gc-captcha__nota {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--gc-steel);
}

/* Honeypot */
.gc-wrapper .gc-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Alerta e navegação */
.gc-wrapper .gc-form__alerta {
	margin: 24px 0 0;
	padding: 12px 16px;
	border-left: 4px solid var(--gc-danger);
	border-radius: var(--gc-radius-sm);
	background: var(--gc-danger-soft);
	color: #7a1a12;
	font-weight: 500;
}

.gc-wrapper .gc-form__navegacao {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin-top: 32px;
	padding: 18px clamp(20px, 5cqi, 40px);
	border-top: 1px solid var(--gc-line);
	background: #f7f9f9;
}

.gc-wrapper .gc-form__proxima {
	margin-left: auto;
	color: var(--gc-steel);
	font-size: 0.875rem;
	text-align: right;
}

.gc-wrapper .gc-form__navegacao .btn { min-width: 132px; }

/* Na última etapa não há "A seguir": o botão de envio vai para a direita sozinho. */
.gc-wrapper .gc-form__navegacao [data-gc-submit] { margin-left: auto; }

.gc-wrapper .gc-form__navegacao [hidden] { display: none !important; }


@container (max-width: 479.98px) {
	.gc-wrapper .gc-form__proxima { flex-basis: 100%; order: -1; margin: 0; text-align: left; }
	.gc-wrapper .gc-form__navegacao .btn { flex: 1 1 auto; min-width: 0; }
}

/* Sucesso */
.gc-wrapper .gc-sucesso {
	padding: 56px clamp(20px, 5cqi, 40px);
	text-align: center;
}

.gc-wrapper .gc-sucesso:focus { outline: none; }

.gc-wrapper .gc-sucesso__icone {
	width: 64px;
	height: 64px;
	color: var(--gc-primary);
	animation: gc-pop 0.45s cubic-bezier(0.2, 0.9, 0.3, 1.3) both;
}

.gc-wrapper .gc-sucesso__titulo {
	margin: 16px 0 8px;
	font-family: var(--gc-font-cond);
	font-size: 1.875rem;
	font-weight: 600;
}

.gc-wrapper .gc-sucesso__mensagem {
	max-width: 48ch;
	margin: 0 auto;
	color: var(--gc-steel);
}

@keyframes gc-pop {
	from { transform: scale(0.6); opacity: 0; }
	to { transform: scale(1); opacity: 1; }
}

/* ---------- Movimento reduzido ---------- */

@media (prefers-reduced-motion: reduce) {
	.gc-wrapper *,
	.gc-wrapper *::before,
	.gc-wrapper *::after {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- Largura das páginas ---------- */

/* Em temas de blocos, o conteúdo das páginas do plugin usa a largura "wide" do tema
   (a mesma do cabeçalho), em vez da coluna estreita de texto. */
body.gc-pagina-larga {
	--wp--style--global--content-size: var(--wp--style--global--wide-size, 1200px);
}
