/**
 * Modul 38: Newskacheln (seit 2.56.0). Größen nach REGEL 7 (Knöpfe 34px).
 */
.gfcwm-nk {
	--nk-primary: var(--gfcwm-ui-primary, var(--gfcwm-primary, #0073aa));
	position: relative;
	width: 100%;
	margin: 0 0 16px;
	font-size: 14px;
	color: #1d2327;
}
.gfcwm-nk-track {
	display: grid;
	overflow: hidden;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #fff;
}
/* Alle Kacheln liegen übereinander – die Höhe richtet sich nach der höchsten, nichts springt. */
.gfcwm-nk-slide {
	grid-area: 1 / 1;
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	min-width: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .45s ease, visibility 0s linear .45s;
}
.gfcwm-nk-slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity .45s ease, visibility 0s;
}
.gfcwm-nk-media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	background: #f2f2f2;
	overflow: hidden;
}
.gfcwm-nk-media img,
.gfcwm-nk-media video {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: contain;
	background: #f2f2f2;
}
.gfcwm-nk-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	min-width: 0;
	padding: 24px 28px;
}
.gfcwm-nk .gfcwm-nk-title {
	margin: 0;
	font-family: var(--headingsfontfamily, inherit);
	font-size: 22px;
	line-height: 1.25;
	color: #1d2327;
	overflow-wrap: anywhere;
}
.gfcwm-nk-text {
	margin: 0;
	line-height: 1.55;
	color: #444;
	overflow-wrap: anywhere;
}
.gfcwm-nk-text a { color: var(--nk-primary); }
.gfcwm-nk-cta { margin: 6px 0 0; }
.gfcwm-nk .gfcwm-nk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: var(--gfcwm-btn-h, 34px);
	padding: 0 16px;
	border-radius: 4px;
	background: var(--nk-primary);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}
.gfcwm-nk .gfcwm-nk-btn:hover { opacity: .85; color: #fff; }

/* Steuerung */
.gfcwm-nk-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 10px;
}
.gfcwm-nk .gfcwm-nk-arrow,
.gfcwm-nk .gfcwm-nk-pause {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: var(--gfcwm-btn-h, 34px);
	min-width: 34px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: #333;
	font: inherit;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
}
.gfcwm-nk .gfcwm-nk-pause { font-size: 12px; }
.gfcwm-nk .gfcwm-nk-arrow:hover,
.gfcwm-nk .gfcwm-nk-pause:hover { background: #f0f0f0; }
.gfcwm-nk-dots { display: flex; gap: 6px; }
.gfcwm-nk .gfcwm-nk-dot {
	width: 10px;
	height: 10px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #ccc;
	cursor: pointer;
	box-shadow: none;
}
.gfcwm-nk .gfcwm-nk-dot.is-active { background: var(--nk-primary); }
.gfcwm-nk button:focus-visible,
.gfcwm-nk a:focus-visible { outline: 2px solid var(--nk-primary); outline-offset: 2px; }

@media (max-width: 800px) {
	.gfcwm-nk-slide { grid-template-columns: 1fr; }
	.gfcwm-nk-body { padding: 16px; }
	.gfcwm-nk .gfcwm-nk-title { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.gfcwm-nk-slide, .gfcwm-nk-slide.is-active { transition: none; }
}

/* Pflege (zusätzlich zu den Bausteinen aus gfcwm-newsticker-editor.css) */
.gfcwm-nk-editor .gfcwm-nk { margin-bottom: 12px; }
.gfcwm-nk-row { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; align-items: center; gap: 8px 12px; }
.gfcwm-nk-row .gfcwm-nte-ops { grid-column: 2 / -1; flex-wrap: wrap; }
.gfcwm-nk-thumb { position: relative; display: flex; align-items: center; justify-content: center; width: 96px; height: 54px; overflow: hidden; border-radius: 4px; background: #eee; }
.gfcwm-nk-thumb img { width: 100%; height: 100%; object-fit: cover; margin: 0; }
.gfcwm-nk-thumb-play { position: absolute; color: #fff; font-size: 16px; text-shadow: 0 0 4px rgba(0, 0, 0, .6); }
.gfcwm-nk-thumb.is-video { background: #333; }
.gfcwm-nk-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gfcwm-nk-info strong { overflow-wrap: anywhere; }
.gfcwm-nk-info small { color: #777; font-size: 12px; }
.gfcwm-nte-badge.is-plan { background: #fff6d5; color: #7a5a00; }
.gfcwm-nte-badge.is-err { background: #fcf0f1; color: #b32d2e; }
.gfcwm-nte .gfcwm-nte-btn:disabled { opacity: .4; cursor: default; }
.gfcwm-nk-type { display: flex; gap: 16px; margin: 0 0 10px; padding: 0; border: 0; font-size: 13px; }
.gfcwm-nk-type legend { float: left; margin-right: 8px; padding: 0; font-weight: 600; color: #555; font-size: 12px; }
.gfcwm-nk-type label { display: inline-flex; align-items: center; gap: 4px; margin: 0; }
.gfcwm-nk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.gfcwm-nk-grid .gfcwm-nk-f-title, .gfcwm-nk-grid .gfcwm-nk-f-text { grid-column: 1 / -1; }
.gfcwm-nk-grid [hidden] { display: none !important; }
.gfcwm-nk-grid input[type="text"], .gfcwm-nk-grid input[type="url"], .gfcwm-nk-grid input[type="date"] {
	box-sizing: border-box; width: 100%; height: var(--gfcwm-btn-h, 34px); margin: 0; padding: 0 8px; border: 1px solid #ccc; border-radius: 4px; background: #fff; font: inherit; font-size: 13px; font-weight: 400; color: #1d2327;
}
.gfcwm-nk-grid textarea { box-sizing: border-box; width: 100%; margin: 0; padding: 6px 8px; border: 1px solid #ccc; border-radius: 4px; font: inherit; font-size: 13px; font-weight: 400; line-height: 1.4; resize: vertical; }
.gfcwm-nk-grid input[type="file"] { font-size: 12px; font-weight: 400; max-width: 100%; }
.gfcwm-nk-grid small { font-weight: 400; color: #777; }
@media (max-width: 700px) {
	.gfcwm-nk-thumb { width: 72px; height: 40px; }
	.gfcwm-nk-row { grid-template-columns: 72px minmax(0, 1fr); }
	.gfcwm-nk-row .gfcwm-nte-badge { grid-column: 2; justify-self: start; }
	.gfcwm-nk-row .gfcwm-nte-ops { grid-column: 1 / -1; }
	.gfcwm-nk-grid { grid-template-columns: 1fr; }
}
