/* RSE Downloads – eigenständiges, theme-isoliertes Design */
.rse-dl {
	--rse-dl-primary: #0a4d8c;
	--rse-dl-ink: #16202c;
	--rse-dl-muted: #5a6675;
	--rse-dl-faint: #8a94a3;
	--rse-dl-line: #e7ebf1;
	--rse-dl-bg: #f4f7fb;
	--rse-dl-card: #fff;
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--rse-dl-ink);
	line-height: 1.55;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}
.rse-dl *, .rse-dl *::before, .rse-dl *::after { box-sizing: border-box; }
.rse-dl h3, .rse-dl p { margin: 0; padding: 0; color: inherit; }
.rse-dl a { text-decoration: none !important; box-shadow: none !important; }
.rse-dl svg { display: block; }

.rse-dl-locked {
	background: var(--rse-dl-card);
	border: 1px solid var(--rse-dl-line);
	border-radius: 14px;
	padding: 28px;
	text-align: center;
	color: var(--rse-dl-muted);
}

/* Toolbar */
.rse-dl-toolbar { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.rse-dl-search {
	display: flex; align-items: center; gap: 10px;
	background: var(--rse-dl-card);
	border: 1px solid var(--rse-dl-line);
	border-radius: 12px;
	padding: 10px 14px;
	min-width: 260px; flex: 1;
}
.rse-dl-search svg { width: 18px; height: 18px; color: var(--rse-dl-primary); flex: 0 0 auto; }
#rse-dl-search { border: 0; outline: none; background: transparent; width: 100%; font-size: 1rem; font-family: inherit; color: var(--rse-dl-ink); }
.rse-dl-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rse-dl-chip {
	border: 1px solid var(--rse-dl-line); background: var(--rse-dl-card); color: var(--rse-dl-muted);
	border-radius: 999px; padding: 8px 15px; font-size: .9rem; font-weight: 500; cursor: pointer; font-family: inherit;
	transition: all .15s ease;
}
.rse-dl-chip:hover { border-color: var(--rse-dl-primary); color: var(--rse-dl-primary); }
.rse-dl-chip.is-active { background: var(--rse-dl-primary); color: #fff; border-color: var(--rse-dl-primary); }

/* Liste */
.rse-dl-grid { display: grid; gap: 14px; }
.rse-dl-card {
	display: flex; align-items: center; gap: 16px;
	background: var(--rse-dl-card);
	border: 1px solid var(--rse-dl-line);
	border-radius: 14px;
	padding: 16px 18px;
	box-shadow: 0 1px 2px rgba(16,32,44,.04), 0 8px 22px rgba(16,32,44,.05);
	transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease;
}
.rse-dl-card:hover { box-shadow: 0 10px 26px rgba(10,77,140,.12); border-color: color-mix(in srgb, var(--rse-dl-primary) 30%, #fff); }

.rse-dl-icon {
	flex: 0 0 auto; width: 54px; height: 54px; border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	background: color-mix(in srgb, var(--rse-dl-primary) 10%, #fff);
	color: var(--rse-dl-primary);
}
.rse-dl-ext { font-size: .72rem; font-weight: 800; letter-spacing: .03em; }

.rse-dl-body { flex: 1; min-width: 0; }
.rse-dl-title { font-size: 1.08rem; font-weight: 700; color: var(--rse-dl-ink) !important; margin-bottom: 4px; }
.rse-dl-desc { color: var(--rse-dl-muted); font-size: .92rem; margin-bottom: 8px; }
.rse-dl-meta { display: flex; gap: 14px; flex-wrap: wrap; font-size: .8rem; color: var(--rse-dl-faint); text-transform: uppercase; letter-spacing: .03em; }

.rse-dl-btn {
	flex: 0 0 auto;
	display: inline-flex; align-items: center; gap: 8px;
	background: var(--rse-dl-primary); color: #fff !important;
	border-radius: 10px; padding: 11px 18px; font-weight: 600; font-size: .92rem;
	transition: background .15s ease;
}
.rse-dl-btn:hover { background: color-mix(in srgb, var(--rse-dl-primary) 82%, #000); }
.rse-dl-btn svg { width: 17px; height: 17px; }

.rse-dl-empty { text-align: center; color: var(--rse-dl-faint); padding: 30px 0; }

@media (max-width: 560px) {
	.rse-dl-card { flex-wrap: wrap; }
	.rse-dl-btn { width: 100%; justify-content: center; }
}
