/* LFAB Papers Popis — front
   Hereda la tipografía del sitio (PT Sans) y el estilo de botón outline de Divi. */

.lfabpp-papers {
	--lfabpp-ink: #000;
	--lfabpp-body: #333;
	--lfabpp-muted: #757575;
	--lfabpp-rule: #e2e2e2;
	--lfabpp-font: "PT Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-family: var(--lfabpp-font);
}

/* ---------------------------------------------------------- Secciones */

.lfabpp-papers .lfabpp-section + .lfabpp-section {
	margin-top: 46px;
}

.lfabpp-papers .lfabpp-section-title {
	font-family: var(--lfabpp-font);
	font-weight: 700;
	font-size: 27px;
	line-height: 1.2;
	color: var(--lfabpp-muted);
	margin: 0 0 18px;
	padding: 0;
}

/* ------------------------------------------------------------ Listado */

.lfabpp-papers .lfabpp-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lfabpp-papers .lfabpp-paper {
	list-style: none;
	margin: 0;
	padding: 22px 0;
	border-bottom: 1px solid var(--lfabpp-rule);
}

.lfabpp-papers .lfabpp-paper:last-child {
	border-bottom: 0;
	padding-bottom: 4px;
}

.lfabpp-papers .lfabpp-title {
	font-family: var(--lfabpp-font);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.35;
	color: var(--lfabpp-ink);
	margin: 0 0 6px;
	padding: 0;
}

.lfabpp-papers .lfabpp-authors {
	font-size: 16px;
	line-height: 1.5;
	color: var(--lfabpp-body);
	margin: 0 0 4px;
	padding: 0;
}

.lfabpp-papers .lfabpp-authors em {
	font-style: italic;
}

.lfabpp-papers .lfabpp-note {
	font-size: 15px;
	line-height: 1.5;
	font-weight: 700;
	font-style: italic;
	color: var(--lfabpp-ink);
	margin: 0 0 4px;
	padding: 0;
}

/* ------------------------------------------------------------ Botones */

.lfabpp-papers .lfabpp-actions {
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.lfabpp-papers .lfabpp-btn {
	display: inline-block;
	font-family: var(--lfabpp-font);
	font-size: 14px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--lfabpp-ink);
	background: transparent;
	border: 1px solid var(--lfabpp-ink);
	border-radius: 3px;
	padding: 10px 22px;
	cursor: pointer;
	text-decoration: none;
	transition: background-color .18s ease, color .18s ease;
}

.lfabpp-papers .lfabpp-btn:hover,
.lfabpp-papers .lfabpp-btn:focus-visible {
	background: var(--lfabpp-ink);
	color: #fff;
	text-decoration: none;
}

.lfabpp-papers .lfabpp-btn-abstract[aria-expanded="true"] {
	background: var(--lfabpp-ink);
	color: #fff;
}

/* ----------------------------------------------------------- Abstract */

.lfabpp-papers .lfabpp-abstract {
	margin-top: 14px;
}

.lfabpp-papers .lfabpp-abstract-inner {
	font-size: 15px;
	line-height: 1.7;
	color: var(--lfabpp-body);
	text-align: justify;
}

.lfabpp-papers .lfabpp-abstract-inner p {
	margin: 0 0 12px;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
}

.lfabpp-papers .lfabpp-abstract-inner p:last-child {
	margin-bottom: 0;
}

/* Modo "preview": recorte por altura + degradado, expandible al hacer clic. */
.lfabpp-mode-preview .lfabpp-abstract,
.lfabpp-mode-button .lfabpp-abstract {
	position: relative;
	overflow: hidden;
	transition: max-height .3s ease, margin-top .3s ease;
}

@media (prefers-reduced-motion: reduce) {
	.lfabpp-mode-preview .lfabpp-abstract,
	.lfabpp-mode-button .lfabpp-abstract {
		transition: none;
	}
}

.lfabpp-mode-preview .lfabpp-abstract {
	max-height: calc(var(--lfabpp-lines, 3) * 1.7em);
	cursor: pointer;
}

.lfabpp-mode-preview .lfabpp-abstract::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 2.2em;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 92%);
	pointer-events: none;
}

/* Modo "button": oculto hasta que se pulsa Abstract. */
.lfabpp-mode-button .lfabpp-abstract {
	max-height: 0;
	margin-top: 0;
}

/* Estado abierto (cualquiera de los dos modos). */
.lfabpp-papers .lfabpp-abstract.is-open {
	max-height: none;
	overflow: visible;
	cursor: auto;
	margin-top: 14px;
}

.lfabpp-papers .lfabpp-abstract.is-open::after {
	display: none;
}

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

@media (max-width: 640px) {
	.lfabpp-papers .lfabpp-section-title { font-size: 23px; }
	.lfabpp-papers .lfabpp-title { font-size: 18px; }
	.lfabpp-papers .lfabpp-abstract-inner { text-align: left; }
	.lfabpp-papers .lfabpp-btn { flex: 1 1 auto; text-align: center; }
}
