/* Design: Amateure 8 – Video-Portal im Nachtclub-Look: Schwarzviolett, Violett und Bernstein, Syne-Überschriften */
:root {
	--ct-bg: #0b0810;
	--ct-surface: #15101e;
	--ct-surface-2: #201830;
	--ct-text: #f1ecf8;
	--ct-muted: #a59cb6;
	--ct-line: rgba(168, 120, 255, .16);
	--ct-accent: #a66bff;
	--ct-accent-text: #ffffff;
	--ct-live: #ff4f8b;
	--ct-live-text: #ffffff;
	--ct-header-bg: rgba(11, 8, 16, .85);
	--ct-star: #ffb547;
	--ct-amber: #ffb547;

	--ct-font-body: "Inter", system-ui, sans-serif;
	--ct-font-head: "Syne", "Inter", system-ui, sans-serif;
	--ct-head-weight: 800;
	--ct-head-tracking: -0.02em;
	--ct-head-transform: none;

	--ct-radius: 14px;
	--ct-radius-img: 10px;
	--ct-radius-btn: 999px;
	--ct-card-ratio: 3 / 4;
	--ct-gap: 18px 14px;
}

/* Hintergrund: violetter Lichtkegel von oben, Bernstein-Schimmer unten rechts. */
body {
	background:
		radial-gradient(900px 420px at 50% -160px, rgba(166, 107, 255, .28), transparent 70%),
		radial-gradient(600px 420px at 100% 100%, rgba(255, 181, 71, .08), transparent 70%),
		var(--ct-bg);
}
.ct-header { backdrop-filter: blur(10px); border-bottom: 1px solid var(--ct-line); }
.ct-brand__name { background: linear-gradient(90deg, #c9a6ff, var(--ct-amber)); -webkit-background-clip: text; background-clip: text; color: transparent; }

.ct-page-title, .ct-front h1 { font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3rem); line-height: 1.05; }
.ct-section-title { font-size: 1.6rem; }
.ct-section-title::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 10px; border-radius: 4px; background: linear-gradient(90deg, var(--ct-accent), var(--ct-amber)); }
.ct-prose h3, .ct-front h3 { color: var(--ct-amber); }
.ct-prose a, .ct-front p:not(.ct-card__name) a:not(.ct-btn), .ct-front li a:not(.ct-video__link) { color: #c9a6ff; }

/* Clip des Tages. */
.ct-hero__media .ct-video__media { box-shadow: 0 0 0 1px rgba(166, 107, 255, .35), 0 30px 80px -30px rgba(166, 107, 255, .6); }
.ct-hero__kicker { color: var(--ct-amber); }
.ct-front .ct-hero__title a { color: var(--ct-text); }
.ct-hero__facts .ct-feature { border-color: rgba(255, 181, 71, .4); color: var(--ct-amber); }
.ct-video__play { background: linear-gradient(135deg, var(--ct-accent), #ff4f8b); box-shadow: 0 0 24px rgba(166, 107, 255, .6); }
.ct-video__time { background: rgba(11, 8, 16, .8); border-radius: 6px; }
.ct-playlist { background: rgba(21, 16, 30, .85); }
.ct-playlist__title { font-family: var(--ct-font-head); }
.ct-front .ct-playlist a { color: var(--ct-text); }
.ct-playlist li { counter-increment: pl; }
.ct-playlist ol { counter-reset: pl; }
.ct-playlist__img::before { content: counter(pl); position: absolute; left: 6px; top: 6px; z-index: 1; width: 20px; height: 20px; border-radius: 50%; background: var(--ct-amber); color: #1a1000; font-size: .72rem; font-weight: 800; display: grid; place-items: center; }

/* Portal-Leiste und Boxen. */
.ct-portal__bar { background: linear-gradient(135deg, rgba(166, 107, 255, .16), rgba(21, 16, 30, .9) 60%); border-color: rgba(166, 107, 255, .3); }
.ct-portal__search input { border-radius: 999px; padding-inline: 18px; background: rgba(11, 8, 16, .8); }
.ct-portal__stats strong { color: var(--ct-amber); }
.ct-portal__chips a { border-color: rgba(166, 107, 255, .35); }
.ct-portal__chips a:hover { background: var(--ct-accent); border-color: var(--ct-accent); color: #fff; }
.ct-box { background: rgba(21, 16, 30, .85); border-color: var(--ct-line); }
.ct-box__title { font-family: var(--ct-font-head); }
.ct-box__more { color: var(--ct-amber); }
.ct-front .ct-portal li a:not(.ct-video__link) { color: var(--ct-text); }
.ct-front .ct-portal .ct-pclip__meta a:not(.ct-video__link) { color: var(--ct-muted); }
.ct-pclip .ct-video__media { transition: transform .2s, box-shadow .2s; }
.ct-pclip:hover .ct-video__media { transform: translateY(-3px); box-shadow: 0 0 0 2px var(--ct-accent), 0 18px 40px -16px rgba(166, 107, 255, .7); }
.ct-pclip__title { font-size: .95rem; }
.ct-vtabs button.is-active { background: linear-gradient(90deg, var(--ct-accent), #c46bff); }
.ct-catlist__bar { background: linear-gradient(90deg, rgba(166, 107, 255, .3), rgba(255, 181, 71, .08)); }
.ct-front .ct-catlist a:hover .ct-catlist__name, .ct-front .ct-toplist a:hover .ct-toplist__t { color: var(--ct-amber); }
.ct-livelist__img { box-shadow: 0 0 0 2px var(--ct-surface), 0 0 0 4px var(--ct-live); }
.ct-az__letters button.is-active, .ct-az__letters button:hover { background: var(--ct-accent); border-color: var(--ct-accent); }
.ct-video__badge--live { background: var(--ct-live); }
.ct-video__badge--new { background: var(--ct-amber); color: #1a1000; }

/* Cams klein im Hintergrund. */
.ct-card__media { border-radius: var(--ct-radius-img); }
.ct-card:hover .ct-card__media { box-shadow: 0 0 0 2px var(--ct-accent); }
.ct-live--on { background: var(--ct-live); color: #fff; }

/* Buttons. */
.ct-btn { font-weight: 800; }
.ct-btn--primary { background: linear-gradient(90deg, var(--ct-accent), #c46bff); color: #fff; box-shadow: 0 10px 30px -10px rgba(166, 107, 255, .8); }
.ct-btn--primary:hover { filter: brightness(1.1); }
.ct-btn--ghost { border-color: rgba(255, 181, 71, .45); color: var(--ct-amber); }
.ct-btn--ghost:hover { background: var(--ct-amber); color: #1a1000; }
.ct-pagination .current { background: var(--ct-accent); color: #fff; }
.ct-vpage__quote { border-left-color: var(--ct-accent); }
.ct-figure img { border-radius: var(--ct-radius-img); box-shadow: 0 0 0 1px var(--ct-line); }
