/* ES Certificados — páginas públicas. Paleta e tipografia 2026 (seção 10.1). Sem nada de terceiros. */

@font-face { font-family: "ES Playfair"; src: url("../fonts/PlayfairDisplay-Italic.woff2") format("woff2"); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: "ES Montserrat"; src: url("../fonts/Montserrat-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "ES Montserrat"; src: url("../fonts/Montserrat-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "ES Montserrat"; src: url("../fonts/Montserrat-SemiBold.woff2") format("woff2"); font-weight: 600; font-display: swap; }

:root {
	--bordo: #532C3D;
	--rose: #DBB7B6;
	--offwhite: #F2EDE6;
	--vinho-grafite: #241A1F;
	--grafite: #2F2C2C;
	--cinza: #6E6866;
	--branco: #FFFFFF;
	--serif: "ES Playfair", Georgia, "Times New Roman", serif;
	--sans: "ES Montserrat", Arial, Helvetica, sans-serif;
}

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

html { -webkit-text-size-adjust: 100%; }

body.es {
	margin: 0;
	min-height: 100vh;
	background: var(--offwhite);
	color: var(--grafite);
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.6;
}

.es-faixa { position: fixed; top: 0; bottom: 0; left: 0; width: 7px; background: var(--bordo); }

.es-homologacao {
	position: sticky; top: 0; z-index: 10;
	background: var(--vinho-grafite); color: var(--offwhite);
	font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	text-align: center; padding: 8px 16px;
}

.es-pagina { max-width: 600px; margin: 0 auto; padding: 40px 24px 32px 31px; }

.es-topo { margin-bottom: 36px; }
.es-lockup { display: block; width: 120px; height: auto; }

.es-titulo {
	font-family: var(--serif); font-style: italic; font-weight: 400;
	color: var(--bordo); font-size: 30px; line-height: 1.18; margin: 0 0 24px;
}

.es-texto, .es-recado { margin: 0 0 20px; }
.es-recado { padding: 18px 20px; background: var(--branco); border-left: 3px solid var(--rose); }
.es-aviso-curto { margin: 0 0 20px; padding: 12px 16px; border-left: 3px solid var(--bordo); background: var(--branco); color: var(--bordo); font-weight: 500; }

.es-privacidade { font-size: 13px; line-height: 1.55; color: var(--cinza); margin: 0 0 28px; padding: 0 0 24px; border-bottom: 1px solid var(--rose); }

.es-form { display: flex; flex-direction: column; gap: 14px; margin: 0 0 8px; }
.es-rotulo { font-size: 14px; color: var(--grafite); }

.es-campo {
	width: 100%; font: inherit; color: var(--grafite);
	padding: 12px 14px; background: var(--branco);
	border: 1px solid #CFC5BE; border-radius: 4px;
}
.es-campo:focus { outline: 2px solid var(--bordo); outline-offset: 1px; border-color: var(--bordo); }
.es-campo-nome { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--bordo); }
.es-campo-codigo { text-transform: uppercase; letter-spacing: .04em; }

.es-caixa { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; margin-top: 10px; cursor: pointer; }
.es-caixa input { width: 20px; height: 20px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--bordo); }
.es-nota { font-size: 13px; color: var(--cinza); margin: 0; }

.es-botao {
	display: block; width: 100%; text-align: center; text-decoration: none;
	font: 600 15px/1.2 var(--sans); letter-spacing: .02em;
	padding: 16px 20px; margin-top: 8px;
	background: var(--bordo); color: var(--offwhite);
	border: 0; border-radius: 4px; cursor: pointer;
}
.es-botao:hover, .es-botao:focus-visible { background: #3F2130; }
.es-botao:focus-visible { outline: 2px solid var(--bordo); outline-offset: 3px; }
.es-botao[disabled] { opacity: .7; cursor: progress; }
.es-botao[hidden] { display: none; }
.es-botao-secundario { width: auto; align-self: flex-start; padding: 12px 22px; }
.es-botao-contorno { background: transparent; color: var(--bordo); border: 1.5px solid var(--bordo); padding: 14.5px 20px; margin-top: 12px; }
.es-botao-contorno:hover, .es-botao-contorno:focus-visible { background: var(--bordo); color: var(--offwhite); }

.es-certificado { background: var(--branco); padding: 24px; border-left: 3px solid var(--bordo); margin-bottom: 20px; }
.es-categoria { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--bordo); margin: 0 0 6px; }
.es-nome { font-family: var(--serif); font-style: italic; font-size: 28px; line-height: 1.2; color: var(--bordo); margin: 4px 0 10px; overflow-wrap: anywhere; }
.es-codigo { font-size: 13px; color: var(--cinza); letter-spacing: .03em; margin: 0; }

/* bloco "LinkedIn" da página do certificado pronto (1.1.0): abaixo do botão de download, em segundo plano */
.es-linkedin { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--rose); }
.es-subtitulo { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--bordo); font-size: 24px; line-height: 1.2; margin: 0 0 12px; }
.es-linkedin .es-texto { margin-bottom: 12px; }
.es-linkedin .es-passo { margin: 22px 0 8px; font-size: 15px; line-height: 1.55; color: var(--grafite); }
.es-linkedin .es-passo + .es-botao, .es-linkedin .es-passo + .es-post { margin-top: 0; }
.es-linkedin .es-sub { margin: 28px 0 6px; font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--bordo); }
.es-linkedin .es-sub + .es-passo { margin-top: 0; }
.es-nome-pronto { margin: 10px 0 0; }
.es-linkedin .es-rotulo-midia { margin: 14px 0 6px; }
.es-linkedin .es-midia { margin-top: 0; min-height: 0; }
.es-post { display: block; width: 100%; margin-top: 24px; font-size: 14px; line-height: 1.55; resize: vertical; min-height: 150px; }
.es-copiado { min-height: 22px; margin: 8px 0 0; font-size: 13px; font-weight: 600; color: var(--bordo); text-align: center; }

.es-resultado { margin-top: 28px; padding: 22px 24px; background: var(--branco); border-left: 3px solid var(--rose); }
.es-resultado-ok { border-left-color: var(--bordo); }
.es-resultado-alerta { border-left-color: var(--grafite); }
.es-status { font-weight: 600; margin: 0 0 6px; color: var(--grafite); }
.es-detalhes { font-size: 14px; margin: 0 0 8px; }

.es-link { color: var(--bordo); }

/* campo-armadilha para robôs: fora da tela, invisível para pessoas e leitores de tela */
.es-mel { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.es-rodape { margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--rose); font-size: 12px; line-height: 1.6; color: var(--cinza); }
.es-rodape p { margin: 0; }

@media (max-width: 480px) {
	.es-pagina { padding: 28px 16px 24px 23px; }
	.es-titulo { font-size: 26px; }
	.es-nome { font-size: 24px; }
}

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