/* Fausto · Biblioteca de recursos 1.0.0
   Se apoya en los tokens que ya usa la web (--fa-*) y solo define lo que falta. */

.fab-single,
.fab-archivo {
	--fab-ink: var(--fa-ink, #15171a);
	--fab-muted: var(--fa-muted, #687078);
	--fab-line: var(--fa-line, #e2e5e8);
	--fab-soft: var(--fa-soft, #f5f6f7);
	--fab-panel: var(--fa-panel, #111315);
	--fab-yellow: var(--fa-yellow, #ffc400);
	--fab-yellow-dark: var(--fa-yellow-dark, #dca900);
	--fab-yellow-ink: #8a6900;
	--fab-yellow-soft: #fff8e0;
	--fab-green: var(--fa-green, #2f8068);
	--fab-green-soft: #eaf4f0;
	--fab-shadow: var(--fa-shadow, 0 22px 60px rgba(11, 14, 17, .11));
	--fab-radius: 12px;
}

/* ---------- Cabecera ---------- */

.fab-sub {
	font-size: clamp(18px, 2.6vw, 23px);
	font-weight: 700;
	color: var(--fab-muted);
	line-height: 1.25;
	letter-spacing: -.01em;
	margin: 4px 0 18px;
}

.fab-privacidad {
	display: inline-block;
	background: var(--fab-soft);
	border: 1px solid var(--fab-line);
	border-radius: 999px;
	padding: 7px 16px;
	font-size: 14px;
	color: var(--fab-muted);
	margin: 6px 0 0;
}

.fab-privacidad strong {
	color: var(--fab-ink);
	font-weight: 600;
}

/* ---------- Cuerpo del artículo ---------- */

.fab-article {
	font-size: 17.5px;
	line-height: 1.74;
	color: #23282c;
}

.fab-article > p,
.fab-article > h2,
.fab-article > h3,
.fab-article > ul,
.fab-article > ol {
	max-width: 42em;
}

.fab-article h2 {
	font-size: clamp(24px, 3.4vw, 31px);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.18;
	margin: 46px 0 14px;
	color: var(--fab-ink);
}

.fab-article h3 {
	font-size: clamp(19px, 2.4vw, 22px);
	font-weight: 700;
	line-height: 1.3;
	margin: 34px 0 10px;
	color: var(--fab-ink);
}

.fab-article p {
	margin: 0 0 18px;
}

.fab-article ul,
.fab-article ol {
	margin: 0 0 20px;
	padding-left: 22px;
}

.fab-article li {
	margin-bottom: 9px;
}

.fab-article a {
	color: var(--fab-ink);
	text-decoration: underline;
	text-decoration-color: var(--fab-yellow-dark);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.fab-article a:hover {
	background: var(--fab-yellow-soft);
}

.destacado {
	background: var(--fab-soft);
	border-left: 4px solid var(--fab-yellow);
	border-radius: 0 10px 10px 0;
	padding: 18px 22px;
	margin: 30px 0;
	max-width: 42em;
}

.destacado p {
	margin: 0;
}

/* ---------- Bloques de interacción ---------- */

.inter {
	border: 1px solid var(--fab-line);
	border-radius: var(--fab-radius);
	background: #fff;
	box-shadow: var(--fab-shadow);
	overflow: hidden;
	margin: 40px 0 44px;
}

.inter__cab {
	background: var(--fab-panel);
	color: #fff;
	padding: 18px 24px;
}

.inter__cab p {
	margin: 0 0 4px;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--fab-yellow);
}

.inter__cab h3 {
	margin: 0;
	color: #fff;
	font-size: clamp(19px, 2.4vw, 23px);
	font-weight: 700;
	line-height: 1.28;
}

.inter__cuerpo {
	padding: 24px;
}

.inter__cuerpo > .nota {
	font-size: 16px;
	color: #3d444a;
	margin: 0 0 18px;
	max-width: none;
}

/* Botones de la primera interacción */

.opciones {
	display: grid;
	gap: 10px;
	margin-bottom: 4px;
}

.opcion {
	display: block;
	width: 100%;
	text-align: left;
	cursor: pointer;
	background: #fff;
	border: 1.5px solid var(--fab-line);
	border-radius: 10px;
	padding: 15px 18px;
	font: inherit;
	font-size: 16.5px;
	line-height: 1.45;
	color: var(--fab-ink);
	transition: border-color .15s, background .15s, box-shadow .15s;
}

.opcion:hover {
	border-color: var(--fab-yellow-dark);
	background: var(--fab-yellow-soft);
}

.opcion.is-on {
	border-color: var(--fab-yellow-dark);
	background: var(--fab-yellow-soft);
	box-shadow: inset 0 0 0 1px var(--fab-yellow-dark);
	font-weight: 600;
}

.respuesta {
	margin-top: 20px;
	padding: 20px 22px;
	background: var(--fab-soft);
	border-radius: 10px;
	border-top: 3px solid var(--fab-yellow);
}

.respuesta h4 {
	margin: 0 0 10px;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--fab-ink);
}

.respuesta p {
	margin: 0 0 12px;
	font-size: 16.5px;
	line-height: 1.68;
}

.respuesta p:last-child {
	margin-bottom: 0;
}

/* Casillas de la segunda interacción */

.frases {
	display: grid;
	gap: 2px;
	margin-bottom: 20px;
	border: 1px solid var(--fab-line);
	border-radius: 10px;
	overflow: hidden;
}

.frase {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 13px 16px;
	background: #fff;
	cursor: pointer;
	font-size: 16px;
	line-height: 1.45;
	border-bottom: 1px solid var(--fab-line);
}

.frase:last-child {
	border-bottom: none;
}

.frase:hover {
	background: var(--fab-soft);
}

.frase input {
	width: 19px;
	height: 19px;
	margin: 2px 0 0;
	accent-color: var(--fab-yellow-dark);
	flex: none;
}

.frase:has(input:checked) {
	background: var(--fab-yellow-soft);
}

.perfil {
	padding: 20px 22px;
	background: var(--fab-soft);
	border-radius: 10px;
	border-top: 3px solid var(--fab-yellow);
}

.perfil h4 {
	margin: 0 0 10px;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--fab-ink);
}

.perfil > p {
	margin: 0 0 4px;
	font-size: 16.5px;
	line-height: 1.68;
}

.perfil__item {
	background: #fff;
	border: 1px solid var(--fab-line);
	border-radius: 9px;
	padding: 14px 16px;
	margin-top: 12px;
}

.perfil__item strong {
	display: block;
	font-size: 16px;
	margin-bottom: 5px;
	color: var(--fab-ink);
}

.perfil__item p {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.62;
	color: #3d444a;
}

/* Campos de la tercera interacción */

.campos {
	display: grid;
	gap: 16px;
	margin-bottom: 20px;
}

.campo label {
	display: block;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--fab-muted);
	margin-bottom: 6px;
}

.campo input[type=text] {
	width: 100%;
	padding: 13px 15px;
	font: inherit;
	font-size: 16.5px;
	color: var(--fab-ink);
	background: #fff;
	border: 1.5px solid var(--fab-line);
	border-radius: 9px;
}

.campo input[type=text]:focus {
	outline: none;
	border-color: var(--fab-yellow-dark);
	box-shadow: 0 0 0 3px rgba(255, 196, 0, .25);
}

.acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.inter .btn {
	cursor: pointer;
	border: none;
	border-radius: 9px;
	padding: 13px 22px;
	font: inherit;
	font-size: 16px;
	font-weight: 700;
	background: var(--fab-yellow);
	color: #15171a;
	transition: background .15s;
}

.inter .btn:hover {
	background: var(--fab-yellow-dark);
}

.inter .btn--ghost {
	background: #fff;
	border: 1.5px solid var(--fab-line);
	color: var(--fab-ink);
}

.inter .btn--ghost:hover {
	background: var(--fab-soft);
}

.guardado {
	font-size: 14px;
	color: var(--fab-green);
	margin: 12px 0 0;
	min-height: 20px;
}

.carta {
	margin-top: 18px;
	padding: 22px 24px;
	background: var(--fab-green-soft);
	border-radius: 10px;
	border-top: 3px solid var(--fab-green);
}

.carta h4 {
	margin: 0 0 10px;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: #1f5a48;
}

.carta p {
	margin: 0 0 12px;
	font-size: 16.5px;
	line-height: 1.7;
	color: #234;
}

.carta p:last-child {
	margin-bottom: 0;
}

/* ---------- Preguntas frecuentes ---------- */

.fab-article details {
	border: 1px solid var(--fab-line);
	border-radius: 10px;
	padding: 0;
	margin-bottom: 10px;
	background: #fff;
	max-width: 42em;
}

.fab-article summary {
	cursor: pointer;
	padding: 15px 18px;
	font-weight: 700;
	font-size: 16.5px;
	color: var(--fab-ink);
	list-style: none;
	position: relative;
	padding-right: 46px;
}

.fab-article summary::-webkit-details-marker {
	display: none;
}

.fab-article summary::after {
	content: "+";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 400;
	color: var(--fab-yellow-dark);
	line-height: 1;
}

.fab-article details[open] summary::after {
	content: "−";
}

.fab-article details[open] summary {
	border-bottom: 1px solid var(--fab-line);
}

.fab-article details p {
	margin: 0;
	padding: 15px 18px;
	font-size: 16.5px;
	line-height: 1.68;
	color: #3d444a;
}

/* ---------- Fuentes ---------- */

.fuentes {
	max-width: 42em;
	font-size: 15px;
	line-height: 1.6;
	color: var(--fab-muted);
	padding-left: 22px;
}

.fuentes li {
	margin-bottom: 9px;
}

.fuentes a {
	text-decoration-color: var(--fab-line);
}

/* ---------- Sigue por aquí ---------- */

.fab-seguir {
	padding: 20px 0 8px;
}

.fab-seguir h2 {
	font-size: clamp(23px, 3.2vw, 29px);
	font-weight: 800;
	letter-spacing: -.02em;
	margin: 0 0 20px;
	color: var(--fab-ink);
}

.fab-siguientes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 14px;
}

.fab-siguientes a {
	display: block;
	text-decoration: none;
	border: 1px solid var(--fab-line);
	border-radius: 11px;
	padding: 18px 20px;
	background: #fff;
	transition: border-color .15s, transform .15s, box-shadow .15s;
}

.fab-siguientes a:hover {
	border-color: var(--fab-yellow-dark);
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(11, 14, 17, .08);
}

.fab-siguientes strong {
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--fab-yellow-ink);
	margin-bottom: 7px;
}

.fab-siguientes span {
	display: block;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.32;
	color: var(--fab-ink);
	margin-bottom: 8px;
}

.fab-siguientes small {
	font-size: 13px;
	color: var(--fab-muted);
}

.fab-todos {
	margin: 18px 0 0;
	font-size: 15.5px;
}

/* ---------- Autor ---------- */

.fab-autor {
	border-top: 1px solid var(--fab-line);
	margin-top: 34px;
	padding-top: 22px;
	font-size: 15px;
	line-height: 1.62;
	color: var(--fab-muted);
	max-width: 46em;
}

.fab-autor p {
	margin: 0;
}

.fab-autor strong {
	color: var(--fab-ink);
}

/* ---------- Archivo ---------- */

.fab-destacado-cuaderno {
	padding-top: 8px;
}

.fab-cuaderno {
	display: block;
	text-decoration: none;
	background: var(--fab-panel);
	color: #fff;
	border-radius: var(--fab-radius);
	padding: 26px 28px;
	box-shadow: var(--fab-shadow);
}

.fab-cuaderno .fa-eyebrow {
	color: var(--fab-yellow);
	margin: 0 0 8px;
}

.fab-cuaderno strong {
	display: block;
	font-size: clamp(21px, 3vw, 27px);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.2;
	margin-bottom: 8px;
}

.fab-cuaderno span {
	display: block;
	font-size: 16.5px;
	line-height: 1.6;
	color: #c9ced2;
	max-width: 44em;
	margin-bottom: 14px;
}

.fab-cuaderno em {
	font-style: normal;
	font-weight: 700;
	font-size: 15.5px;
	color: var(--fab-yellow);
}

.fab-cuaderno:hover em {
	text-decoration: underline;
}

.fab-bloque {
	padding: 34px 0 6px;
}

.fab-bloque__cab {
	margin-bottom: 20px;
	max-width: 44em;
}

.fab-bloque__cab h2 {
	font-size: clamp(25px, 3.6vw, 33px);
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.14;
	margin: 0 0 10px;
	color: var(--fab-ink);
}

.fab-bloque__cab p {
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
	color: var(--fab-muted);
}

.fab-tarjetas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
	gap: 16px;
}

.fab-tarjeta {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	border: 1px solid var(--fab-line);
	border-radius: 11px;
	background: #fff;
	padding: 20px 22px;
	transition: border-color .15s, transform .15s, box-shadow .15s;
}

.fab-tarjeta:hover {
	border-color: var(--fab-yellow-dark);
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(11, 14, 17, .08);
}

.fab-tarjeta__nombre {
	margin: 0 0 8px;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--fab-yellow-ink);
}

.fab-tarjeta h3 {
	margin: 0 0 10px;
	font-size: 19.5px;
	font-weight: 700;
	line-height: 1.26;
	letter-spacing: -.01em;
	color: var(--fab-ink);
}

.fab-tarjeta__lead {
	margin: 0 0 16px;
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--fab-muted);
	flex: 1 1 auto;
}

.fab-tarjeta__pie {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	margin: 0;
	padding-top: 12px;
	border-top: 1px solid var(--fab-line);
	font-size: 13.5px;
	color: var(--fab-muted);
}

.fab-tarjeta__pie em {
	font-style: normal;
	font-weight: 700;
	color: var(--fab-yellow-ink);
}

.fab-como {
	margin-top: 42px;
	padding: 28px 0 10px;
	border-top: 1px solid var(--fab-line);
}

.fab-como h2 {
	font-size: clamp(22px, 3vw, 27px);
	font-weight: 800;
	letter-spacing: -.02em;
	margin: 0 0 14px;
	color: var(--fab-ink);
}

.fab-como p {
	max-width: 44em;
	font-size: 16.5px;
	line-height: 1.7;
	color: #3d444a;
	margin: 0 0 14px;
}

/* ---------- Bloque de recurso al pie de las entradas del blog ---------- */

.fab-desde-blog {
	margin: 36px 0 10px;
	border: 1px solid #e2e5e8;
	border-left: 4px solid #ffc400;
	border-radius: 0 11px 11px 0;
	background: #f5f6f7;
	padding: 20px 22px;
}

.fab-desde-blog__eyebrow {
	margin: 0 0 8px;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: #8a6900;
}

.fab-desde-blog a {
	display: block;
	text-decoration: none;
}

.fab-desde-blog strong {
	display: block;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.28;
	color: #15171a;
	margin-bottom: 7px;
}

.fab-desde-blog a:hover strong {
	text-decoration: underline;
	text-decoration-color: #dca900;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.fab-desde-blog span {
	display: block;
	font-size: 15.5px;
	line-height: 1.6;
	color: #687078;
	margin-bottom: 10px;
}

.fab-desde-blog em {
	font-style: normal;
	font-size: 14px;
	font-weight: 700;
	color: #8a6900;
}

/* ---------- Móvil ---------- */

@media (max-width: 640px) {
	.fab-article {
		font-size: 17px;
	}

	.inter__cab,
	.inter__cuerpo {
		padding: 18px;
	}

	.opcion {
		font-size: 16px;
		padding: 14px 16px;
	}

	.fab-cuaderno {
		padding: 22px 20px;
	}

	.acciones .btn {
		width: 100%;
	}
}

@media print {
	.inter__cab,
	.fab-cta,
	.fab-seguir,
	.fab-privacidad {
		display: none;
	}
}

.fab-noscript{background:#fff8e0;border:1px solid #ffe9a3;border-radius:9px;padding:14px 18px;font-size:15.5px;color:#8a6900;margin:24px 0}

/* ---------- Firma del autor al final de la lectura ---------- */

.fab-firma {
	max-width: 42em;
	margin: 46px 0 44px;
	padding: 28px 0 0;
	border-top: 1px solid var(--fab-line);
}

.fab-firma__quien {
	margin: 0 0 12px;
	font-family: Arial, Helvetica, "Helvetica Neue", sans-serif;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--fab-yellow-ink);
}

.fab-firma p {
	margin: 0 0 16px;
	font-size: 16.5px;
	line-height: 1.72;
	color: #3d444a;
}

.fab-firma strong {
	color: var(--fab-ink);
	font-weight: 700;
}

.fab-firma a {
	color: var(--fab-ink);
	text-decoration: underline;
	text-decoration-color: var(--fab-yellow-dark);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.fab-firma a:hover {
	background: var(--fab-yellow-soft);
}

.fab-firma__enlace {
	margin: 0;
	padding-top: 4px;
}

.fab-firma__enlace a {
	font-family: Arial, Helvetica, "Helvetica Neue", sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--fab-yellow-ink);
	text-decoration-color: var(--fab-yellow);
}

.fab-firma__enlace a:hover {
	background: none;
	text-decoration-color: var(--fab-yellow-dark);
}
