/* BTC-ECHO Plus+ Summary – Frontend Styles
   Variante F: kompakte, filigrane Leiste in dezentem BTC-ECHO-Gelb.
   Eine einzeilige, ruhige Box direkt unter dem Beitragsbild.
   CI: markantes Gelb-Orange als Akzent, klares Schwarz für Text. */

:root {
	/* Abstand vom oberen Viewport-Rand beim Sprung zu einer Textstelle.
	   Verhindert, dass das Ziel hinter einer fixierten Header-/Follow-Bar
	   verschwindet. Projektseitig anpassbar (z.B. Hoehe eurer Sticky-Bar). */
	--beps-scroll-offset: 110px;
}

.beps-summary {
	--beps-accent: #ffa838;        /* BTC-ECHO Markenfarbe (Logo-Akzent) */
	--beps-accent-dark: #fa8d00;   /* dunklere Akzent-Variante (Hover) */
	--beps-ink: #16181d;           /* Fast-Schwarz für Text */
	--beps-gold-ink: #57350a;      /* warmes Dunkelbraun für Text auf Gelb */
	--beps-gold-link: #965808;     /* gedämpftes Gold für Links */
	--beps-bg-top: #faf1e5;        /* Gelb-Verlauf oben */
	--beps-bg-bottom: #fdfaf7;     /* fast weiß unten */
	--beps-border: #f6e3cb;        /* zarte goldene Kontur */
	box-sizing: border-box;
	margin: 0.9rem 0 1.1rem;
	padding: 0.55rem 0.8rem;
	background: linear-gradient(0deg, var(--beps-bg-top), var(--beps-bg-bottom));
	border: 1px solid var(--beps-border);
	border-radius: 8px;
	font-size: 0.92rem;
	line-height: 1.4;
	color: var(--beps-gold-ink);
}

.beps-summary * {
	box-sizing: border-box;
}

/* =========================================================
   Gesperrte Leiste (Nicht-Abonnenten) – einzeilige Variante F
   ========================================================= */
.beps-summary--locked {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.7rem;
}

/* Logo / Badge */
.beps-summary__badge {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	flex: 0 0 auto;
}

.beps-summary__logo {
	display: block;
	height: 20px;
	width: auto;
	border-radius: 3px;
	image-rendering: -webkit-optimize-contrast;
}

/* Hinweistext in der Leiste */
.beps-summary__txt {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--beps-gold-ink);
	font-size: 0.9rem;
	line-height: 1.35;
}

.beps-summary__txt strong {
	font-weight: 700;
	color: var(--beps-ink);
}

/* Aktionsbereich (Buttons) */
.beps-summary__actions {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	flex: 0 0 auto;
	margin: 0;
}

/* Buttons */
.beps-summary__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.42em 0.95em;
	border-radius: 5px;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.beps-summary__btn--primary {
	background: var(--beps-accent);
	color: var(--beps-ink);
	border: 1px solid var(--beps-accent);
}

.beps-summary__btn--primary:hover,
.beps-summary__btn--primary:focus {
	background: var(--beps-accent-dark);
	border-color: var(--beps-accent-dark);
	color: var(--beps-ink);
}

/* Login als dezenter Text-Link neben dem Button */
.beps-summary__login {
	flex: 0 0 auto;
	color: var(--beps-gold-link);
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.beps-summary__login:hover,
.beps-summary__login:focus {
	color: var(--beps-accent-dark);
	text-decoration: underline;
}

/* =========================================================
   Abonnenten-Box (gated) – gleiche gelbe Box, Bullets darin
   ========================================================= */
.beps-summary--gated,
.beps-summary--open {
	display: block;
}

/* Offen-Modus: neutrales Funkel-Icon in der Kopfzeile (kein Plus+ Logo). */
.beps-summary__spark--head {
	color: var(--beps-accent-dark);
}

.beps-summary__header {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 0.45rem;
}

.beps-summary__head {
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--beps-gold-link);
}

/* Reveal-Aktion sitzt direkt unter der Kopfzeile. */
.beps-summary__actions--reveal {
	margin: 0;
}

/* Reveal-Button: echter Button im Gold-Akzent mit Funkel-Icon. */
.beps-summary__reveal.beps-summary__btn--primary {
	background: var(--beps-accent);
	border: 1px solid var(--beps-accent);
	color: var(--beps-ink);
	font-weight: 700;
}

.beps-summary__reveal.beps-summary__btn--primary:hover,
.beps-summary__reveal.beps-summary__btn--primary:focus {
	background: var(--beps-accent-dark);
	border-color: var(--beps-accent-dark);
	color: var(--beps-ink);
}

.beps-summary__reveal {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.beps-summary__reveal .beps-summary__spark {
	color: var(--beps-ink);
}

.beps-summary__spark {
	flex: 0 0 auto;
	color: var(--beps-accent);
}

/* Ausgabebereich (erscheint nach Klick) */
.beps-summary__output[hidden],
.beps-summary__thinking[hidden] {
	display: none;
}

.beps-summary__output {
	margin-top: 0.5rem;
}

/* "KI denkt nach"-Zustand */
.beps-summary__thinking {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0.1rem 0 0.45rem;
	color: var(--beps-gold-link);
	font-size: 0.82rem;
}

.beps-summary__thinking-label {
	margin-left: 0.2rem;
}

.beps-summary__dot {
	display: inline-block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--beps-accent);
	animation: beps-dot 1.1s infinite ease-in-out both;
}

.beps-summary__dot:nth-child(2) {
	animation-delay: 0.18s;
}

.beps-summary__dot:nth-child(3) {
	animation-delay: 0.36s;
}

@keyframes beps-dot {
	0%, 80%, 100% {
		transform: scale(0.6);
		opacity: 0.35;
	}
	40% {
		transform: scale(1);
		opacity: 1;
	}
}

/* Bullet-Liste
   list-style + ::marker hart auf none, damit das Theme keinen zweiten
   (grauen) Aufzählungspunkt neben unserem orangenen Punkt einblendet. */
.beps-summary__list {
	margin: 0;
	padding: 0;
	list-style: none !important;
	list-style-type: none !important;
}

.beps-summary__list li {
	position: relative;
	margin: 0 0 0.3rem;
	padding-left: 0.95rem;
	color: var(--beps-ink);
	list-style: none !important;
	list-style-type: none !important;
}

.beps-summary__list li::marker {
	content: "";
	color: transparent;
	font-size: 0;
}

.beps-summary__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--beps-accent);
}

.beps-summary__list li:last-child {
	margin-bottom: 0;
}

/* Kleiner Pfeil-Link am Satzende, der zur passenden Textstelle springt.
   Der Bullet-Text selbst ist NICHT mehr verlinkt. */
.beps-summary__text {
	/* reiner Text-Container, kein eigenes Styling noetig */
}

.beps-summary__jump {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.4em;
	height: 1.4em;
	margin-left: 0.15em;
	vertical-align: baseline;
	color: var(--beps-gold-link);
	background: transparent;
	border-radius: 50%;
	text-decoration: none;
	cursor: pointer;
	line-height: 1;
	transition: color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}

.beps-summary__jump-icon {
	font-size: 0.95em;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-0.04em);
}

.beps-summary__jump:hover,
.beps-summary__jump:focus {
	color: #fff;
	background-color: var(--beps-accent);
	transform: translateY(1px);
	outline: none;
}

.beps-summary__jump:focus-visible {
	outline: 2px solid var(--beps-accent);
	outline-offset: 2px;
}

/* Kurzes Aufleuchten des Sprungziels ist NICHT aktiv (nur sanftes Scrollen),
   daher kein Highlight-Style hier. */

/* Cursor-Effekt während des Tippens */
.beps-summary__list li.is-typing::after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 0.95em;
	margin-left: 2px;
	background: var(--beps-accent);
	vertical-align: text-bottom;
	animation: beps-caret 0.7s step-end infinite;
}

@keyframes beps-caret {
	50% {
		opacity: 0;
	}
}

/* =========================================================
   Hinweis-Box (nur für Redakteure, wenn keine Summary existiert)
   ========================================================= */
.beps-summary--notice .beps-summary__teaser {
	margin: 0;
	color: var(--beps-gold-ink);
	font-size: 0.88rem;
}

/* =========================================================
   Bewegung reduzieren
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
	.beps-summary__dot,
	.beps-summary__list li.is-typing::after {
		animation: none;
	}
}

/* =========================================================
   Mobil: Leiste umbrechen, Text volle Breite, Buttons darunter
   ========================================================= */
@media (max-width: 560px) {
	.beps-summary {
		/* Oben mehr Luft (klebte sonst direkt an der mobilen Anzeigen-/Follow-Bar darüber),
		   unten weniger (Abstand war zu groß).
		   !important + padding-top am Wrapper, damit der prose-/Tailwind-Wrapper
		   und margin-collapsing den oberen Abstand nicht auffressen. */
		margin-top: 1.6rem !important;
		margin-bottom: 0.5rem !important;
	}
	.beps-summary--locked {
		flex-wrap: wrap;
		gap: 0.55rem;
	}
	.beps-summary--locked .beps-summary__txt {
		flex: 1 1 100%;
		order: 2;
	}
	.beps-summary--locked .beps-summary__badge {
		order: 1;
	}
	.beps-summary--locked .beps-summary__actions {
		order: 3;
		flex: 1 1 100%;
		gap: 0.6rem;
	}
	.beps-summary--locked .beps-summary__btn--primary {
		flex: 1 1 auto;
	}
}

/* -------------------------------------------------------------------------
 * Themen-Hinweis unter der Zusammenfassung (z. B. „Zu den Börsen“).
 * Erscheint nur, wenn die Summary für den Leser sichtbar ist.
 * ---------------------------------------------------------------------- */
.beps-notice {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem 0.6rem;
	margin: 0.55rem 0 0;
	padding: 0.7rem 0.95rem;
	background: #fdfaf7;
	border: 1px solid #f6e3cb;
	border-left: 4px solid #ffa838;
	border-radius: 10px;
	font-size: 0.92rem;
	line-height: 1.45;
	color: #16181d;
}
.beps-notice__text {
	flex: 1 1 auto;
}
.beps-notice__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	white-space: nowrap;
	font-weight: 600;
	color: #965808;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.beps-notice__cta:hover,
.beps-notice__cta:focus {
	color: #57350a;
	border-bottom-color: currentColor;
}
.beps-notice__arrow {
	flex: 0 0 auto;
}

@media (max-width: 560px) {
	.beps-notice {
		font-size: 0.88rem;
	}
	.beps-notice__cta {
		flex: 1 1 100%;
	}
}

/* =========================================================
   Startzustand: EINE breite Button-Leiste (finanzen.net-Stil).
   Im nicht-aufgeklappten Zustand IST der Button die ganze Box –
   die äußere Box tritt optisch zurück, das spart Platz.
   ========================================================= */
.beps-summary--open,
.beps-summary--gated {
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
}

/* Sobald aufgeklappt: gelbe Box wie gehabt wiederherstellen. */
.beps-summary--open.is-revealed,
.beps-summary--gated.is-revealed {
	padding: 0.55rem 0.8rem;
	background: linear-gradient(0deg, var(--beps-bg-top), var(--beps-bg-bottom));
	border: 1px solid var(--beps-border);
	border-radius: 8px;
}

/* Die breite Button-Leiste. */
.beps-summary__bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	margin: 0;
	padding: 0.7rem 1rem;
	background: #fff3e2;
	border: 1px solid #f1d2a4;
	border-radius: 8px;
	color: var(--beps-gold-ink);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	cursor: pointer;
	transition: background 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.beps-summary__bar:hover,
.beps-summary__bar:focus {
	background: #ffe7c9;
	border-color: #eec089;
	box-shadow: 0 1px 4px rgba(250, 141, 0, 0.18);
	outline: none;
}

/* Button verschwindet, sobald die Zusammenfassung aufgeklappt ist. */
.beps-summary__bar[hidden] {
	display: none;
}

.beps-summary__bar-icon {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	flex: 0 0 auto;
}

/* Logo/Icon im Button: Icon nimmt die dunkle Textfarbe an. */
.beps-summary__bar-icon .beps-summary__spark--head {
	color: var(--beps-accent-dark);
}

.beps-summary__bar-icon .beps-summary__logo {
	height: 18px;
}

.beps-summary__bar-label {
	flex: 0 1 auto;
}

/* =========================================================
   Sprung-Highlight: Ziel-Element nach dem Klick auf die
   Sprungmarke kurz im Markenton aufleuchten lassen.
   ========================================================= */
.beps-anchor-highlight {
	animation: beps-anchor-flash 3.4s ease-out 1;
	border-radius: 4px;
}

@keyframes beps-anchor-flash {
	0% {
		background-color: rgba(255, 168, 56, 0.45);
		box-shadow: 0 0 0 6px rgba(255, 168, 56, 0.18);
	}
	/* Deutlich sichtbare Halte-Phase, damit der Leser die Stelle
	   in Ruhe erfassen kann, bevor das Highlight verblasst. */
	15% {
		background-color: rgba(255, 168, 56, 0.45);
		box-shadow: 0 0 0 6px rgba(255, 168, 56, 0.18);
	}
	65% {
		background-color: rgba(255, 168, 56, 0.38);
		box-shadow: 0 0 0 6px rgba(255, 168, 56, 0.14);
	}
	100% {
		background-color: rgba(255, 168, 56, 0);
		box-shadow: 0 0 0 6px rgba(255, 168, 56, 0);
	}
}

/* Bei reduzierter Bewegung: kein Blinken, nur ein kurzer ruhiger Tint. */
@media (prefers-reduced-motion: reduce) {
	.beps-anchor-highlight {
		animation: beps-anchor-fade 3.4s ease-out 1;
	}
	@keyframes beps-anchor-fade {
		0%, 75% { background-color: rgba(255, 168, 56, 0.32); }
		100% { background-color: rgba(255, 168, 56, 0); }
	}
}
