.fwe-dm-single,
.fwe-dm-listwrap,
.fwe-dm-empty{
	width:100%;
}

/* =========================
   Single
   ========================= */
.fwe-dm-single__head{
	display:flex;
	align-items:flex-start;
	gap:14px;
	margin-bottom:14px;
}

.fwe-dm-single__icon{
	width:52px;
	height:52px;
	border-radius:14px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(11,58,115,.08);
	border:1px solid rgba(11,58,115,.18);
	box-shadow:0 8px 20px rgba(0,0,0,.06);
	font-size:24px;
	line-height:1;
	flex:0 0 auto;
}

.fwe-dm-single__titlewrap{
	min-width:0;
	flex:1 1 auto;
}

.fwe-dm-single__title{
	margin:0;
	font-weight:900;
	font-size:clamp(22px,2.3vw,30px);
	line-height:1.12;
	letter-spacing:-.2px;
	color:var(--fwe-blue);
}

.fwe-dm-meta{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
	margin-top:12px;
}

.fwe-dm-meta__item{
	padding:12px 14px;
	border:1px solid var(--fwe-border);
	border-radius:16px;
	background:#fff;
	box-shadow:0 8px 18px rgba(0,0,0,.04);
}

.fwe-dm-actions{
	margin-top:18px;
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	gap:10px;
}

/* =========================
   Filterbar
   ========================= */
.fwe-dm-filterbar{
	padding:18px 18px 12px;
	border-bottom:1px solid var(--fwe-border);
}

.fwe-dm-filtergrid{
	display:grid;
	grid-template-columns:1.2fr .8fr auto;
	gap:12px;
	align-items:end;
}

.fwe-dm-filterfield{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.fwe-dm-filterfield label{
	font-weight:900;
	font-size:12.5px;
	line-height:1.2;
	color:var(--fwe-blue);
}

.fwe-dm-filterfield input,
.fwe-dm-filterfield select{
	width:100%;
	border:1px solid rgba(0,0,0,.12);
	border-radius:16px;
	padding:12px 14px;
	background:#fff;
	color:var(--fwe-text);
	box-shadow:0 10px 26px rgba(0,0,0,.06);
	transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
	outline:none;
	font-weight:750;
	font-size:14px;
	line-height:1.2;
}

.fwe-dm-filterfield input:focus,
.fwe-dm-filterfield select:focus{
	border-color:rgba(11,58,115,.32);
	box-shadow:0 14px 34px rgba(11,58,115,.10);
	transform:translateY(-1px);
}

.fwe-dm-filteractions{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}

/* =========================
   Buttons
   ========================= */
.fwe-dm-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:42px;
	padding:10px 16px;
	border-radius:999px;
	border:1px solid rgba(11,58,115,.22);
	background:rgba(11,58,115,.08);
	color:var(--fwe-blue) !important;
	transform:none !important;
	font-weight:900;
	font-size:12.5px;
	line-height:1;
	text-decoration:none !important;
	box-shadow:0 8px 18px rgba(0,0,0,.05);
	transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, opacity .15s ease, color .15s ease;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.fwe-dm-btn:hover,
.fwe-dm-btn:focus{
	transform:translateY(-1px) !important;
	box-shadow:0 12px 24px rgba(0,0,0,.07);
	border-color:rgba(11,58,115,.30);
	background:rgba(11,58,115,.12);
	color:var(--fwe-blue) !important;
	text-decoration:none !important;
	outline:none;
}

/* =========================
   Rows / Listeninhalte
   ========================= */
.fwe-dm-row{
	align-items:center;
}

.fwe-dm-row__icon{
	font-size:22px;
	width:40px;
	height:40px;
	border-radius:14px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:rgba(11,58,115,.08);
	border:1px solid rgba(11,58,115,.18);
	box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.fwe-dm-row__meta{
	margin-top:8px;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.fwe-dm-row__meta > *{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:7px 11px;
	border-radius:999px;
	border:1px solid var(--fwe-border);
	background:#fff;
	font-weight:900;
	color:var(--fwe-text);
	text-decoration:none;
	font-size:12px;
	line-height:1;
	white-space:nowrap;
}

.fwe-dm-row__source{
	margin-top:10px;
	color:var(--fwe-muted);
	line-height:1.6;
	font-size:14px;
}

.fwe-dm-row__right{
	align-items:flex-end;
}

/* =========================
   Empty States
   ========================= */
.fwe-dm-empty{
	padding:18px;
}

.fwe-dm-empty--inner{
	padding:18px;
	border-top:1px solid var(--fwe-border);
	color:var(--fwe-muted);
	background:#fff;
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 860px){
	.fwe-dm-meta{
		grid-template-columns:1fr;
	}

	.fwe-dm-filtergrid{
		grid-template-columns:1fr;
	}

	.fwe-dm-filteractions{
		width:100%;
	}

	.fwe-dm-filteractions .fwe-dm-btn{
		flex:1 1 auto;
		justify-content:center;
	}

	.fwe-dm-single__title{
		font-size:1.1rem;
	}
}