/* zollsoft.Media KI-Kennzeichnung – Frontend-Styles */

.zsmkik-wrap {
	position: relative;
	display: inline-block;
	max-width: 100%;
	line-height: 0;
}

.zsmkik-wrap img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Für Block-Editor-Medien (Bild-, Video-, Audio- und Datei-Block sowie Anhang-Seiten):
   ein <div>, da diese Blöcke selbst block-level Markup (<figure>/<div>) erzeugen. */
.zsmkik-wrap-block {
	display: inline-block;
	max-width: 100%;
	line-height: normal;
}

/* Für per Datei-URL erkannte Page-Builder-Medien (z. B. Bricks-, Elementor-Video):
   volle Breite UND Höhe des Containers. Viele Page-Builder setzen die Höhe ihres
   Video-Containers über aspect-ratio und stylen das <video> selbst mit height:100%.
   Ohne eigene height:100% an dieser Stelle würde diese Prozent-Vererbung an unserem
   Wrapper abreißen und das Video auf 0px Höhe kollabieren. */
.zsmkik-wrap-full {
	display: block;
	width: 100%;
	height: 100%;
	line-height: normal;
}

.zsmkik-badge {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	z-index: 10;
	max-width: calc(100% - 16px);
	text-decoration: none;
	cursor: pointer;
	line-height: normal;
	border-radius: 999px;
	background: var(--zsmkik-bg, #1e1e1e);
	color: var(--zsmkik-text, #ffffff);
	padding: 3px 12px 3px 3px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
	transition: filter 0.15s ease, box-shadow 0.15s ease;
}

.zsmkik-badge:hover,
.zsmkik-badge:focus {
	filter: brightness(1.15);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.zsmkik-badge:focus {
	outline: 2px solid var(--zsmkik-text, #fff);
	outline-offset: 2px;
}

.zsmkik-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	min-width: 20px;
	flex-shrink: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	color: inherit;
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-weight: 700;
	font-size: 12px;
}

.zsmkik-label {
	display: inline-block;
	color: inherit;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Rechtsseitige Positionen: Icon und Label spiegeln, Padding umkehren. */
.zsmkik-pos-top-right,
.zsmkik-pos-bottom-right,
.zsmkik-pos-middle-right {
	flex-direction: row-reverse;
	padding: 3px 3px 3px 12px;
}

/* Positionierung */
.zsmkik-pos-top-left {
	top: 8px;
	left: 8px;
}

.zsmkik-pos-top-right {
	top: 8px;
	right: 8px;
}

.zsmkik-pos-bottom-left {
	bottom: 8px;
	left: 8px;
}

.zsmkik-pos-bottom-right {
	bottom: 8px;
	right: 8px;
}

.zsmkik-pos-middle-left {
	top: 50%;
	left: 8px;
	transform: translateY(-50%);
}

.zsmkik-pos-middle-right {
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
}

@media (prefers-reduced-motion: reduce) {
	.zsmkik-badge {
		transition: none;
	}
}
