/* =========================================================
   RSFiles! modules · PortalGraf visual polish
   Safe scope: only lists generated with .pg-rsf-list / .pg-rsf-latest
   ========================================================= */

.pg-rsf-list,
.pg-rsf-latest,
.rsf_latest.pg-rsf-latest,
ul.pg-rsf-list {
	--pg-rsf-bg: #ffffff;
	--pg-rsf-bg-soft: #f7f9fb;
	--pg-rsf-border: #dfe5ea;
	--pg-rsf-border-soft: #edf1f4;
	--pg-rsf-text: #263238;
	--pg-rsf-muted: #66737f;
	--pg-rsf-accent: #f28c28;
	--pg-rsf-accent-dark: #d97816;
	--pg-rsf-radius: 14px;
	--pg-rsf-shadow: 0 8px 20px rgba(0, 0, 0, .055);

	float: none;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: grid;
	gap: .65rem;
}

.pg-rsf-list *,
.pg-rsf-list *::before,
.pg-rsf-list *::after,
.pg-rsf-latest *,
.pg-rsf-latest *::before,
.pg-rsf-latest *::after {
	box-sizing: border-box;
}

.pg-rsf-list .pg-rsf-list__item,
.pg-rsf-latest .pg-rsf-latest__item,
.rsf_latest.pg-rsf-latest li,
.rsfl_folder_content_viewer.pg-rsf-list li,
.mod_rsfiles_tags.pg-rsf-list li {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pg-rsf-list .pg-rsf-list__link,
.pg-rsf-latest .pg-rsf-latest__link,
.rsf_latest.pg-rsf-latest .rsf_item,
.rsfl_folder_content_viewer.pg-rsf-list .rsfl_item,
.mod_rsfiles_tags.pg-rsf-list .rsf_item {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	width: 100%;
	min-height: 3.35rem;
	padding: .78rem .85rem;
	border: 1px solid var(--pg-rsf-border);
	border-radius: var(--pg-rsf-radius);
	background: linear-gradient(180deg, var(--pg-rsf-bg) 0%, var(--pg-rsf-bg-soft) 100%);
	color: var(--pg-rsf-text);
	text-decoration: none;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease;
}

.pg-rsf-list .pg-rsf-list__link:hover,
.pg-rsf-list .pg-rsf-list__link:focus,
.pg-rsf-latest .pg-rsf-latest__link:hover,
.pg-rsf-latest .pg-rsf-latest__link:focus,
.rsf_latest.pg-rsf-latest .rsf_item:hover,
.rsf_latest.pg-rsf-latest .rsf_item:focus,
.rsfl_folder_content_viewer.pg-rsf-list .rsfl_item:hover,
.rsfl_folder_content_viewer.pg-rsf-list .rsfl_item:focus,
.mod_rsfiles_tags.pg-rsf-list .rsf_item:hover,
.mod_rsfiles_tags.pg-rsf-list .rsf_item:focus {
	border-color: var(--pg-rsf-accent);
	box-shadow: var(--pg-rsf-shadow);
	transform: translateY(-1px);
	text-decoration: none;
	outline: none;
}

.pg-rsf-list .pg-rsf-list__link:focus-visible,
.pg-rsf-latest .pg-rsf-latest__link:focus-visible,
.rsf_latest.pg-rsf-latest .rsf_item:focus-visible,
.rsfl_folder_content_viewer.pg-rsf-list .rsfl_item:focus-visible,
.mod_rsfiles_tags.pg-rsf-list .rsf_item:focus-visible {
	outline: 3px solid rgba(242, 140, 40, .28);
	outline-offset: 2px;
}

.pg-rsf-list .pg-rsf-list__icon,
.pg-rsf-latest .pg-rsf-latest__icon {
	flex: 0 0 2.15rem;
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--pg-rsf-accent);
	color: #ffffff;
	font-size: .95rem;
	line-height: 1;
	box-shadow: 0 3px 10px rgba(242, 140, 40, .25);
}

.pg-rsf-list .pg-rsf-list__content,
.pg-rsf-latest .pg-rsf-latest__content {
	display: block;
	min-width: 0;
	padding-top: .05rem;
	flex: 1 1 auto;
}

.pg-rsf-list .pg-rsf-list__title,
.pg-rsf-latest .pg-rsf-latest__title,
.rsf_latest.pg-rsf-latest .rsf_item span.pg-rsf-latest__title,
.rsfl_folder_content_viewer.pg-rsf-list .rsfl_item span.pg-rsf-list__title,
.mod_rsfiles_tags.pg-rsf-list .rsf_item span.pg-rsf-list__title {
	display: block;
	padding: 0;
	margin: 0;
	color: var(--pg-rsf-text) !important;
	font-size: .96rem;
	font-weight: 700;
	line-height: 1.28;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.pg-rsf-list .pg-rsf-list__meta,
.pg-rsf-latest .pg-rsf-latest__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .16rem .2rem;
	margin-top: .32rem;
	padding: 0;
	color: var(--pg-rsf-muted) !important;
	font-size: .78rem;
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
}

.pg-rsf-list .pg-rsf-list__badge,
.pg-rsf-latest .pg-rsf-latest__badge,
.pg-rsf-list .pg-rsf-list__stat,
.pg-rsf-latest .pg-rsf-latest__stat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.35rem;
	margin-right: .42rem;
	padding: .08rem .34rem;
	border: 1px solid var(--pg-rsf-border);
	border-radius: 999px;
	background: #ffffff;
	color: var(--pg-rsf-muted) !important;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .025em;
	line-height: 1.25;
}

.pg-rsf-list .pg-rsf-list__stat,
.pg-rsf-latest .pg-rsf-latest__stat {
	margin-right: 0;
	font-weight: 700;
	letter-spacing: 0;
}

.pg-rsf-list .pg-rsf-list__date,
.pg-rsf-latest .pg-rsf-latest__date {
	display: inline;
}

.pg-rsf-list .pg-rsf-list__link:hover .pg-rsf-list__title,
.pg-rsf-list .pg-rsf-list__link:focus .pg-rsf-list__title,
.pg-rsf-latest .pg-rsf-latest__link:hover .pg-rsf-latest__title,
.pg-rsf-latest .pg-rsf-latest__link:focus .pg-rsf-latest__title,
.rsf_latest.pg-rsf-latest .rsf_item:hover span.pg-rsf-latest__title,
.rsf_latest.pg-rsf-latest .rsf_item:focus span.pg-rsf-latest__title,
.rsfl_folder_content_viewer.pg-rsf-list .rsfl_item:hover span.pg-rsf-list__title,
.rsfl_folder_content_viewer.pg-rsf-list .rsfl_item:focus span.pg-rsf-list__title,
.mod_rsfiles_tags.pg-rsf-list .rsf_item:hover span.pg-rsf-list__title,
.mod_rsfiles_tags.pg-rsf-list .rsf_item:focus span.pg-rsf-list__title {
	color: var(--pg-rsf-accent-dark) !important;
	text-decoration: none !important;
}

/* File-type accents. They are intentionally subtle and do not affect behaviour. */
.pg-rsf-list__item--pdf .pg-rsf-list__icon,
.pg-rsf-latest__item--pdf .pg-rsf-latest__icon { background: #c94132; box-shadow: 0 3px 10px rgba(201, 65, 50, .22); }
.pg-rsf-list__item--pdf .pg-rsf-list__badge,
.pg-rsf-latest__item--pdf .pg-rsf-latest__badge { color: #9f2d23 !important; border-color: rgba(201, 65, 50, .24); }

.pg-rsf-list__item--doc .pg-rsf-list__icon,
.pg-rsf-list__item--docx .pg-rsf-list__icon,
.pg-rsf-list__item--odt .pg-rsf-list__icon,
.pg-rsf-latest__item--doc .pg-rsf-latest__icon,
.pg-rsf-latest__item--docx .pg-rsf-latest__icon,
.pg-rsf-latest__item--odt .pg-rsf-latest__icon { background: #2f6fb3; box-shadow: 0 3px 10px rgba(47, 111, 179, .22); }
.pg-rsf-list__item--doc .pg-rsf-list__badge,
.pg-rsf-list__item--docx .pg-rsf-list__badge,
.pg-rsf-list__item--odt .pg-rsf-list__badge,
.pg-rsf-latest__item--doc .pg-rsf-latest__badge,
.pg-rsf-latest__item--docx .pg-rsf-latest__badge,
.pg-rsf-latest__item--odt .pg-rsf-latest__badge { color: #255a91 !important; border-color: rgba(47, 111, 179, .24); }

.pg-rsf-list__item--xls .pg-rsf-list__icon,
.pg-rsf-list__item--xlsx .pg-rsf-list__icon,
.pg-rsf-list__item--ods .pg-rsf-list__icon,
.pg-rsf-list__item--csv .pg-rsf-list__icon,
.pg-rsf-latest__item--xls .pg-rsf-latest__icon,
.pg-rsf-latest__item--xlsx .pg-rsf-latest__icon,
.pg-rsf-latest__item--ods .pg-rsf-latest__icon,
.pg-rsf-latest__item--csv .pg-rsf-latest__icon { background: #2f8f5b; box-shadow: 0 3px 10px rgba(47, 143, 91, .22); }
.pg-rsf-list__item--xls .pg-rsf-list__badge,
.pg-rsf-list__item--xlsx .pg-rsf-list__badge,
.pg-rsf-list__item--ods .pg-rsf-list__badge,
.pg-rsf-list__item--csv .pg-rsf-list__badge,
.pg-rsf-latest__item--xls .pg-rsf-latest__badge,
.pg-rsf-latest__item--xlsx .pg-rsf-latest__badge,
.pg-rsf-latest__item--ods .pg-rsf-latest__badge,
.pg-rsf-latest__item--csv .pg-rsf-latest__badge { color: #277549 !important; border-color: rgba(47, 143, 91, .24); }

.pg-rsf-list__item--zip .pg-rsf-list__icon,
.pg-rsf-list__item--rar .pg-rsf-list__icon,
.pg-rsf-list__item--7z .pg-rsf-list__icon,
.pg-rsf-latest__item--zip .pg-rsf-latest__icon,
.pg-rsf-latest__item--rar .pg-rsf-latest__icon,
.pg-rsf-latest__item--7z .pg-rsf-latest__icon { background: #6d5fa8; box-shadow: 0 3px 10px rgba(109, 95, 168, .22); }
.pg-rsf-list__item--zip .pg-rsf-list__badge,
.pg-rsf-list__item--rar .pg-rsf-list__badge,
.pg-rsf-list__item--7z .pg-rsf-list__badge,
.pg-rsf-latest__item--zip .pg-rsf-latest__badge,
.pg-rsf-latest__item--rar .pg-rsf-latest__badge,
.pg-rsf-latest__item--7z .pg-rsf-latest__badge { color: #584d88 !important; border-color: rgba(109, 95, 168, .24); }

.pg-rsf-list__item--jpg .pg-rsf-list__icon,
.pg-rsf-list__item--jpeg .pg-rsf-list__icon,
.pg-rsf-list__item--png .pg-rsf-list__icon,
.pg-rsf-list__item--webp .pg-rsf-list__icon,
.pg-rsf-list__item--gif .pg-rsf-list__icon,
.pg-rsf-latest__item--jpg .pg-rsf-latest__icon,
.pg-rsf-latest__item--jpeg .pg-rsf-latest__icon,
.pg-rsf-latest__item--png .pg-rsf-latest__icon,
.pg-rsf-latest__item--webp .pg-rsf-latest__icon,
.pg-rsf-latest__item--gif .pg-rsf-latest__icon { background: #158a92; box-shadow: 0 3px 10px rgba(21, 138, 146, .22); }
.pg-rsf-list__item--jpg .pg-rsf-list__badge,
.pg-rsf-list__item--jpeg .pg-rsf-list__badge,
.pg-rsf-list__item--png .pg-rsf-list__badge,
.pg-rsf-list__item--webp .pg-rsf-list__badge,
.pg-rsf-list__item--gif .pg-rsf-list__badge,
.pg-rsf-latest__item--jpg .pg-rsf-latest__badge,
.pg-rsf-latest__item--jpeg .pg-rsf-latest__badge,
.pg-rsf-latest__item--png .pg-rsf-latest__badge,
.pg-rsf-latest__item--webp .pg-rsf-latest__badge,
.pg-rsf-latest__item--gif .pg-rsf-latest__badge { color: #116f75 !important; border-color: rgba(21, 138, 146, .24); }

.pg-rsf-list__item--folder .pg-rsf-list__icon { background: #d9921e; box-shadow: 0 3px 10px rgba(217, 146, 30, .22); }
.pg-rsf-list__item--external .pg-rsf-list__icon { background: #64748b; box-shadow: 0 3px 10px rgba(100, 116, 139, .22); }

.pg-rsf-list__clear,
.pg-rsf-latest__clear {
	display: block;
	clear: both;
}

/* Compatibility with old RSFiles icon styles. */
.pg-rsf-list .rsf_item img,
.pg-rsf-list .rsfl_item img,
.pg-rsf-latest .rsf_item img {
	float: none;
	margin: 0;
}

@media (max-width: 575.98px) {
	.pg-rsf-list .pg-rsf-list__link,
	.pg-rsf-latest .pg-rsf-latest__link,
	.rsf_latest.pg-rsf-latest .rsf_item,
	.rsfl_folder_content_viewer.pg-rsf-list .rsfl_item,
	.mod_rsfiles_tags.pg-rsf-list .rsf_item {
		padding: .72rem .76rem;
		gap: .65rem;
	}

	.pg-rsf-list .pg-rsf-list__icon,
	.pg-rsf-latest .pg-rsf-latest__icon {
		flex-basis: 1.95rem;
		width: 1.95rem;
		height: 1.95rem;
		font-size: .85rem;
	}

	.pg-rsf-list .pg-rsf-list__title,
	.pg-rsf-latest .pg-rsf-latest__title,
	.rsf_latest.pg-rsf-latest .rsf_item span.pg-rsf-latest__title,
	.rsfl_folder_content_viewer.pg-rsf-list .rsfl_item span.pg-rsf-list__title,
	.mod_rsfiles_tags.pg-rsf-list .rsf_item span.pg-rsf-list__title {
		font-size: .92rem;
	}
}
