.zst-gate {
	--zst-accent: #c0392b;
	box-sizing: border-box;
	max-width: 640px;
	margin: 2em auto;
	padding: 2em 1.5em;
	text-align: center;
	border: 2px solid var(--zst-accent);
	border-radius: 10px;
	background: rgba(127, 127, 127, 0.08);
}
.zst-gate .zst-title { margin: 0 0 .5em; color: var(--zst-accent); }
.zst-gate .zst-text { margin: 0 0 1em; }
.zst-gate .zst-check { display: block; margin-bottom: 1em; cursor: pointer; }
.zst-gate .zst-actions, .zst-manage .zst-actions { display: flex; gap: .75em; justify-content: center; flex-wrap: wrap; }
.zst-gate button, .zst-manage button {
	padding: .7em 1.4em;
	font: inherit;
	font-weight: 600;
	border-radius: 6px;
	border: 2px solid var(--zst-accent, #c0392b);
	cursor: pointer;
}
.zst-gate .zst-accept { background: var(--zst-accent); color: #fff; }
.zst-gate .zst-accept:disabled { opacity: .45; cursor: not-allowed; }
.zst-gate .zst-decline, .zst-manage button { background: transparent; color: var(--zst-accent, #c0392b); }
.zst-gate button:focus-visible, .zst-manage button:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }

/* Vollbild-Overlay */
.zst-gate.zst-overlay {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	max-width: none;
	margin: 0;
	padding: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 0;
	background: rgba(0, 0, 0, .92);
	overflow-y: auto;
}
.zst-overlay .zst-panel {
	box-sizing: border-box;
	width: 100%;
	max-width: 560px;
	padding: 2em 1.5em;
	background: #fff;
	color: #222;
	border: 3px solid var(--zst-accent);
	border-radius: 10px;
}
.zst-overlay .zst-panel:focus { outline: none; }
html.zst-lock, html.zst-lock body { overflow: hidden !important; }

/* Verwaltung */
.zst-manage-item { margin: 1em 0; padding: 1em; border: 1px solid rgba(127, 127, 127, .4); border-radius: 8px; }
.zst-manage-item dl { display: grid; grid-template-columns: max-content 1fr; gap: .25em 1em; margin: 0 0 1em; }
.zst-manage-item dt { font-weight: 600; }
.zst-manage-item dd { margin: 0; word-break: break-all; }

/* Kurzhinweis in Übersichten */
.zst-teaser { display: block; margin: 0; padding: .6em .9em; text-align: center !important; border: 1px solid var(--zst-accent, #c0392b); border-radius: 6px; background: rgba(127, 127, 127, .08); font-style: italic; }

.zst-gate .zst-error { margin: 0 0 1em; color: #b32d2e; font-weight: 600; }
.zst-overlay .zst-error { color: #b32d2e; }

/* Texte der Abfrage immer mittig – auch wenn das Theme Absätze linksbündig setzt */
.zst-gate .zst-title, .zst-gate .zst-text, .zst-gate .zst-text p, .zst-gate .zst-check, .zst-gate .zst-error { text-align: center; }
