/* Werbebanner Rotator – Frontend v1.2.0 */

/* Alle Slides liegen per Grid in derselben Zelle übereinander:
   kein Höhensprung beim Wechsel, Höhe = höchste Anzeige. */
.wbr-rotator {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	box-sizing: border-box;
}
.wbr-rotator.wbr-align-center { margin-left: auto; margin-right: auto; text-align: center; }
.wbr-rotator.wbr-align-left   { margin-right: auto; text-align: left; }
.wbr-rotator.wbr-align-right  { margin-left: auto; text-align: right; }

.wbr-rotator > .wbr-slide {
	grid-area: 1 / 1;
	width: 100%;
	min-width: 0;
	opacity: 0;
	visibility: hidden;
}
.wbr-rotator > .wbr-slide.wbr-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.wbr-rotator .wbr-image { max-width: 100%; height: auto; display: inline-block; vertical-align: middle; }
.wbr-rotator .wbr-link { display: inline-block; max-width: 100%; text-decoration: none; color: inherit; }
.wbr-rotator.wbr-align-none .wbr-link { display: block; }
.wbr-rotator .wbr-text { padding: 10px; text-align: center; }
.wbr-rotator .wbr-text > :first-child { margin-top: 0; }
.wbr-rotator .wbr-text > :last-child { margin-bottom: 0; }

/* --- Fade: echtes Überblenden beider Anzeigen gleichzeitig --- */
.wbr-rotator.wbr-transition-fade > .wbr-slide {
	transition: opacity var(--wbr-speed, 600ms) ease-in-out, visibility 0s linear var(--wbr-speed, 600ms);
}
.wbr-rotator.wbr-transition-fade > .wbr-slide.wbr-active {
	transition: opacity var(--wbr-speed, 600ms) ease-in-out, visibility 0s linear 0s;
}

/* --- Slide: neue Anzeige kommt von rechts, alte geht nach links --- */
.wbr-rotator.wbr-transition-slide > .wbr-slide {
	transform: translateX(100%);
	transition: transform var(--wbr-speed, 600ms) ease-in-out;
}
.wbr-rotator.wbr-transition-slide > .wbr-slide.wbr-active {
	transform: translateX(0);
}
.wbr-rotator.wbr-transition-slide > .wbr-slide.wbr-leave {
	transform: translateX(-100%);
	opacity: 1;
	visibility: visible;
}

/* Hilfsklasse: Übergang kurz abschalten (Zurücksetzen ohne Animation) */
.wbr-rotator > .wbr-slide.wbr-notrans { transition: none !important; }

@media (prefers-reduced-motion: reduce) {
	.wbr-rotator > .wbr-slide { transition: none !important; }
}

/* --- Werbehinweis-Label & Vorschlagen-Button --- */
.wbr-ad-label,
.wbr-suggest-trigger {
	position: absolute;
	z-index: 5;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: 10px;
	line-height: 1;
	border-radius: 2px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.wbr-ad-label {
	letter-spacing: .03em;
	text-transform: uppercase;
	padding: 3px 6px;
	pointer-events: none;
}
.wbr-suggest-trigger {
	padding: 4px 7px;
	border: none;
	cursor: pointer;
	margin: 0;
}
.wbr-suggest-trigger:hover,
.wbr-suggest-trigger:focus-visible { background: rgba(0, 0, 0, 0.8); }

.wbr-corner-top-right    { top: 6px; right: 6px; }
.wbr-corner-top-left     { top: 6px; left: 6px; }
.wbr-corner-bottom-right { bottom: 6px; right: 6px; }
.wbr-corner-bottom-left  { bottom: 6px; left: 6px; }

/* --- Modal "Werbung vorschlagen" --- */
.wbr-modal-overlay {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 100000;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.wbr-modal-overlay.wbr-modal-open { display: flex; }
.wbr-modal-box {
	background: #fff;
	color: #222;
	max-width: 480px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	border-radius: 6px;
	padding: 24px;
	box-sizing: border-box;
	position: relative;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
	text-align: left;
}
.wbr-modal-box h3 { margin-top: 0; }
.wbr-modal-close {
	position: absolute;
	top: 10px; right: 14px;
	background: none;
	border: none;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: #666;
}
.wbr-modal-box label { display: block; margin: 12px 0 4px; font-weight: 600; font-size: 13px; }
.wbr-modal-box input[type="text"],
.wbr-modal-box input[type="email"],
.wbr-modal-box input[type="url"],
.wbr-modal-box input[type="file"],
.wbr-modal-box textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
	background: #fff;
	color: #222;
}
.wbr-modal-box textarea { min-height: 70px; resize: vertical; }
.wbr-modal-box .wbr-radio-row label { display: inline-block; font-weight: normal; margin-right: 14px; }
.wbr-modal-box button[type="submit"] {
	margin-top: 16px;
	background: #2271b1;
	color: #fff;
	border: none;
	padding: 10px 18px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
}
.wbr-modal-box button[type="submit"]:disabled { opacity: .6; cursor: default; }
.wbr-modal-msg { margin-top: 12px; padding: 10px; border-radius: 4px; font-size: 13px; display: none; }
.wbr-modal-msg.wbr-msg-success { display: block; background: #edfaef; color: #1a7a34; border: 1px solid #b7e4bf; }
.wbr-modal-msg.wbr-msg-error   { display: block; background: #fdeaea; color: #a02020; border: 1px solid #f3bcbc; }
.wbr-hp-field { position: absolute !important; left: -9999px !important; top: -9999px !important; }
