/* CDG Postulaciones — estilos encapsulados con el prefijo .cdg-post-
   Heredan tipografía y color de texto del tema; el acento se puede cambiar
   desde el tema redefiniendo --cdg-post-acento sobre .cdg-post. */

.cdg-post {
	/* Toma el color primario del tema Impreza si existe; si no, un azul sobrio. */
	--cdg-post-acento: var(--color-content-primary, #1f5f8b);
	--cdg-post-acento-texto: #fff;
	--cdg-post-borde: rgba(0, 0, 0, 0.14);
	--cdg-post-fondo: rgba(0, 0, 0, 0.025);
	--cdg-post-ok: #1e6b3a;
	--cdg-post-error: #a4262c;
	--cdg-post-radio: 6px;
	max-width: 52rem;
	margin: 0 auto;
}

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

.cdg-post-nivel + .cdg-post-nivel {
	margin-top: 2.5rem;
}

.cdg-post-nivel-titulo {
	margin: 0 0 1rem;
	padding-bottom: 0.4rem;
	border-bottom: 2px solid var(--cdg-post-acento);
}

.cdg-post-puesto {
	border: 1px solid var(--cdg-post-borde);
	border-radius: var(--cdg-post-radio);
	padding: 1.25rem;
	margin: 0 0 1rem;
	background: var(--cdg-post-fondo);
}

.cdg-post-puesto-titulo {
	margin: 0 0 0.35rem;
}

.cdg-post-fecha {
	margin: 0 0 0.75rem;
	font-size: 0.9em;
	opacity: 0.8;
}

.cdg-post-descripcion > :last-child {
	margin-bottom: 0;
}

.cdg-post-acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1rem;
}

.cdg-post-boton {
	display: inline-block;
	padding: 0.6em 1.2em;
	border: 2px solid var(--cdg-post-acento);
	border-radius: var(--cdg-post-radio);
	background: var(--cdg-post-acento);
	color: var(--cdg-post-acento-texto);
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.cdg-post-boton:hover,
.cdg-post-boton:focus-visible {
	filter: brightness(1.1);
	color: var(--cdg-post-acento-texto);
	text-decoration: none;
}

.cdg-post-boton--secundario {
	background: transparent;
	color: var(--cdg-post-acento);
}

.cdg-post-boton--secundario:hover,
.cdg-post-boton--secundario:focus-visible {
	color: var(--cdg-post-acento);
}

.cdg-post-boton:focus-visible {
	outline: 3px solid var(--cdg-post-acento);
	outline-offset: 2px;
}

.cdg-post-boton[disabled] {
	opacity: 0.6;
	cursor: wait;
}

.cdg-post-toggle[aria-expanded="true"] {
	background: transparent;
	color: var(--cdg-post-acento);
}

.cdg-post-form {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--cdg-post-borde);
}

.cdg-post-form[hidden] {
	display: none;
}

.cdg-post-fila {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.cdg-post-campo {
	margin: 0 0 1rem;
}

.cdg-post-campo label {
	display: block;
	margin-bottom: 0.3rem;
	font-weight: 600;
}

.cdg-post-campo input[type="text"],
.cdg-post-campo input[type="email"],
.cdg-post-campo input[type="tel"],
.cdg-post-campo input[type="file"] {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 0.55em 0.7em;
	border: 1px solid var(--cdg-post-borde);
	border-radius: var(--cdg-post-radio);
	background: #fff;
	color: #1a1a1a;
	font: inherit;
}

.cdg-post-campo input:focus {
	outline: 2px solid var(--cdg-post-acento);
	outline-offset: 1px;
}

.cdg-post-ayuda {
	margin: -0.4rem 0 1rem;
	font-size: 0.88em;
	opacity: 0.8;
}

.cdg-post-consentimiento label {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	font-size: 0.92em;
}

.cdg-post-consentimiento input {
	flex: none;
	margin-top: 0.25em;
}

/* Bloque con la información que la AEFE exige publicar. */
.cdg-post-aefe {
	margin: 0 0 2rem;
	padding: 1.25rem;
	border: 1px solid var(--cdg-post-borde);
	border-left: 4px solid var(--cdg-post-acento);
	border-radius: var(--cdg-post-radio);
}

.cdg-post-aefe-titulo {
	margin: 0 0 0.75rem;
}

.cdg-post-aefe p {
	margin: 0 0 0.85rem;
}

.cdg-post-aefe-egalite {
	font-style: italic;
}

.cdg-post-aefe-motivos summary {
	cursor: pointer;
	font-weight: 600;
}

.cdg-post-aefe-motivos ol {
	margin: 0.6rem 0 0;
	padding-left: 1.4rem;
	font-size: 0.92em;
}

.cdg-post-aefe-motivos li + li {
	margin-top: 0.35rem;
}

/* Una casilla por pieza del dossier. */
.cdg-post-piezas {
	margin: 0.5rem 0 1.25rem;
	padding: 0;
	border: 0;
	min-width: 0;
}

.cdg-post-piezas legend {
	margin-bottom: 0.4rem;
	padding: 0;
	font-weight: 700;
	font-size: 1.1em;
}

.cdg-post-piezas .cdg-post-ayuda {
	margin: 0 0 1rem;
}

.cdg-post-piezas-lista {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: pieza;
}

.cdg-post-pieza {
	counter-increment: pieza;
	margin: 0;
	padding: 0.8rem 0;
	border-top: 1px solid var(--cdg-post-borde);
}

.cdg-post-pieza label {
	display: block;
	font-weight: 600;
}

.cdg-post-pieza label::before {
	content: counter(pieza) ". ";
	opacity: 0.6;
}

.cdg-post-pieza-ayuda {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.88em;
	opacity: 0.8;
}

.cdg-post-pieza input[type="file"] {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-top: 0.45rem;
	padding: 0.45em 0.6em;
	border: 1px solid var(--cdg-post-borde);
	border-radius: var(--cdg-post-radio);
	background: #fff;
	color: #1a1a1a;
	font: inherit;
	font-size: 0.92em;
}

.cdg-post-pieza input[type="file"]:focus {
	outline: 2px solid var(--cdg-post-acento);
	outline-offset: 1px;
}

/* Texto solo para lectores de pantalla. */
.cdg-post-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.cdg-post-espera {
	margin: 0 0 1rem;
	font-size: 0.92em;
}

.cdg-post-espera[hidden] {
	display: none;
}

.cdg-post-error p {
	margin: 0;
}

.cdg-post-error ul {
	margin: 0.5rem 0 0;
	padding-left: 1.2rem;
}

/* Honeypot: fuera de la vista, pero sin display:none (algunos bots lo detectan). */
.cdg-post-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.cdg-post-aviso,
.cdg-post-error {
	padding: 0.85rem 1rem;
	border-radius: var(--cdg-post-radio);
	border-left: 4px solid;
	margin: 0 0 1.25rem;
}

.cdg-post-aviso:focus {
	outline: none;
}

.cdg-post-aviso--ok {
	border-color: var(--cdg-post-ok);
	background: rgba(30, 107, 58, 0.08);
}

.cdg-post-aviso--error,
.cdg-post-error {
	border-color: var(--cdg-post-error);
	background: rgba(164, 38, 44, 0.07);
}

.cdg-post-error[hidden] {
	display: none;
}

.cdg-post-vacio {
	padding: 1rem;
	border: 1px dashed var(--cdg-post-borde);
	border-radius: var(--cdg-post-radio);
	text-align: center;
}

@media (max-width: 600px) {
	.cdg-post-fila {
		grid-template-columns: 1fr;
	}

	.cdg-post-puesto {
		padding: 1rem;
	}

	.cdg-post-acciones .cdg-post-boton {
		flex: 1 1 100%;
		text-align: center;
	}
}
