/* --- PdfDocument Widget --- */

.kw-pdf {
	--kwl-pdf-title-color: var(--kwl-text, #1a202c);
	--kwl-pdf-desc-color: var(--kwl-text-muted, #64748b);
	--kwl-pdf-meta-color: var(--kwl-text-muted, #64748b);
	--kwl-pdf-meta-icon-color: var(--kwl-accent, #BD9B5C);
	--kwl-pdf-thumb-ratio: 3/4;
	--kwl-pdf-thumb-radius: var(--kwl-radius-md, 8px);
	--kwl-pdf-pad: var(--kwl-space-lg, 1.5rem);
	--kwl-pdf-transition: 250ms var(--kwl-ease-default, ease);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	max-width: 560px;
}

/* --- Thumbnail (Vorschaubild / Icon-Fallback) --- */

.kw-pdf__thumb {
	position: relative;
	overflow: hidden;
	border-radius: var(--kwl-pdf-thumb-radius);
	background: var(--kwl-bg-alt, #f7fafc);
	flex-shrink: 0;
}

.kw-pdf__thumb-img {
	display: block;
	width: 100%;
	aspect-ratio: var(--kwl-pdf-thumb-ratio);
	object-fit: cover;
}

.kw-pdf__thumb-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: var(--kwl-pdf-thumb-ratio);
	color: var(--kwl-pdf-meta-icon-color);
}

.kw-pdf__thumb-fallback > svg {
	width: 48px;
	height: 48px;
}

/* --- Content: buendelt Body + Action und traegt das Innen-Padding --- */

.kw-pdf__content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--kwl-space-sm, 0.5rem);
}

.kw-pdf__body {
	display: flex;
	flex-direction: column;
	gap: var(--kwl-space-xs, 0.25rem);
	min-width: 0;
}

/* --- Title --- */

.kw-pdf__title {
	font-family: var(--kwl-font-heading, serif);
	font-size: var(--kwl-fsize-h4, clamp(1.125rem, 1rem + 0.625vw, 1.375rem));
	font-weight: var(--kwl-fw-semibold, 600);
	line-height: var(--kwl-lh-heading, 1.2);
	letter-spacing: var(--kwl-ls-subtle, 0.01em);
	color: var(--kwl-pdf-title-color);
	margin: 0;
}

/* --- Description --- */

.kw-pdf__desc {
	font-size: var(--kwl-fsize-body, clamp(0.875rem, 0.85rem + 0.125vw, 1rem));
	line-height: var(--kwl-lh-body, 1.5);
	color: var(--kwl-pdf-desc-color);
	margin: 0;
}

/* --- Meta (dl) --- */

.kw-pdf__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--kwl-space-sm, 0.5rem) var(--kwl-space-md, 1rem);
	margin: 0;
	padding: 0;
}

.kw-pdf__meta-item {
	display: contents;
}

.kw-pdf__meta-item dd {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	font-size: var(--kwl-fsize-caption, clamp(0.75rem, 0.725rem + 0.125vw, 0.8125rem));
	color: var(--kwl-pdf-meta-color);
	margin: 0;
	font-variant-numeric: tabular-nums;
}

.kw-pdf__meta-item dd > svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	color: var(--kwl-pdf-meta-icon-color);
	vertical-align: middle;
}

/* --- Action (Download) --- */

.kw-pdf__action {
	display: flex;
}

.kw-pdf__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	width: 100%;
	justify-content: center;
}

.kw-pdf__btn > svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

/* --- Innen-Padding auf dem Content-Wrapper: konsistent, egal welche Bloecke aktiv sind --- */

.kw-pdf[data-kwl-card] .kw-pdf__content {
	padding: var(--kwl-pdf-pad);
}

.kw-pdf:not([data-kwl-card]) .kw-pdf__content {
	padding-block: var(--kwl-space-md, 1rem);
}

/* ============================================================
   STIL: STANDARD (breit, grosses Vorschaubild)
   ============================================================ */

.kw-pdf--standard[data-kwl-card] .kw-pdf__thumb {
	border-radius: 0;
}

@media (min-width: 601px) {
	.kw-pdf--standard {
		flex-direction: row;
		align-items: center;
		max-width: none;
	}

	.kw-pdf--standard:not([data-kwl-card]) {
		gap: var(--kwl-pdf-pad);
	}

	.kw-pdf--standard .kw-pdf__thumb {
		flex: 0 0 180px;
		max-width: 180px;
		align-self: stretch;
	}

	.kw-pdf--standard .kw-pdf__content {
		flex-direction: row;
		align-items: center;
		gap: var(--kwl-pdf-pad);
	}

	.kw-pdf--standard .kw-pdf__body {
		flex: 1;
	}

	.kw-pdf--standard .kw-pdf__action {
		flex: 0 0 auto;
	}

	.kw-pdf--standard .kw-pdf__btn {
		width: fit-content;
	}
}

/* ============================================================
   STIL: KOMPAKT (schlanke Datei-Zeile)
   ============================================================ */

.kw-pdf--compact {
	flex-direction: row;
	align-items: center;
	gap: var(--kwl-space-md, 1rem);
	max-width: none;
}

.kw-pdf--compact[data-kwl-card] {
	padding: var(--kwl-space-sm, 0.5rem) var(--kwl-space-md, 1rem);
}

.kw-pdf--compact:not([data-kwl-card]) {
	padding-block: var(--kwl-space-xs, 0.25rem);
}

.kw-pdf--compact .kw-pdf__thumb {
	flex: 0 0 auto;
	width: 56px;
	align-self: center;
	border-radius: var(--kwl-radius-sm, 6px);
}

.kw-pdf--compact .kw-pdf__thumb-img,
.kw-pdf--compact .kw-pdf__thumb-fallback {
	aspect-ratio: 1 / 1;
}

.kw-pdf--compact .kw-pdf__thumb-fallback > svg {
	width: 26px;
	height: 26px;
}

.kw-pdf--compact .kw-pdf__content {
	flex-direction: row;
	align-items: center;
	gap: var(--kwl-space-md, 1rem);
	padding: 0;
}

.kw-pdf--compact .kw-pdf__body {
	flex: 1 1 auto;
	min-width: 0;
	gap: 0.15rem;
}

.kw-pdf--compact .kw-pdf__title {
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
}

.kw-pdf--compact .kw-pdf__desc {
	display: none;
}

.kw-pdf--compact .kw-pdf__action {
	flex: 0 0 auto;
}

.kw-pdf--compact .kw-pdf__btn {
	width: fit-content;
	padding-block: 0.5rem;
}

@media (max-width: 480px) {
	.kw-pdf--compact .kw-pdf__content {
		flex-wrap: wrap;
	}

	.kw-pdf--compact .kw-pdf__action {
		flex: 1 0 100%;
	}

	.kw-pdf--compact .kw-pdf__btn {
		width: 100%;
	}
}

/* --- Hover --- */

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.kw-pdf__thumb-img {
		transition: transform var(--kwl-pdf-transition);
	}

	.kw-pdf:hover .kw-pdf__thumb-img {
		transform: scale(1.04);
	}
}

/* --- Dark Mode --- */

@media (prefers-color-scheme: dark) {
	.kw-pdf {
		--kwl-pdf-title-color: var(--kwl-text, #f7fafc);
		--kwl-pdf-desc-color: var(--kwl-text-muted, #a0aec0);
		--kwl-pdf-meta-color: var(--kwl-text-muted, #a0aec0);
		--kwl-pdf-meta-icon-color: var(--kwl-accent, #BD9B5C);
	}

	.kw-pdf__thumb {
		background: var(--kwl-bg-alt, #2d3748);
	}
}
