/* Autoren-Freigaben – öffentlich. Rot wie die Kategorie-Buttons der Seite (#c41e3a, kontraststark), passt sich hell/dunkel an. */
.cpwaf-box,
.cpwaf-list {
	--cpwaf-accent: #c41e3a;
	--cpwaf-line: rgba(127, 127, 127, 0.28);
	--cpwaf-soft: rgba(127, 127, 127, 0.08);
	font-family: inherit;
	white-space: normal;
}

/* Kasten unter einer Übersetzung */
.cpwaf-box {
	margin: 2em 0 1em;
	padding: 1em 1.2em;
	border: 1px solid var(--cpwaf-line);
	border-left: 4px solid var(--cpwaf-accent);
	border-radius: 8px;
	background: var(--cpwaf-soft);
	font-size: 0.95em;
	line-height: 1.55;
}
.cpwaf-box p { margin: 0 0 0.45em; }
.cpwaf-box p:last-child { margin-bottom: 0; }
.cpwaf-box__head { font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; font-size: 0.8em; opacity: 0.85; }
.cpwaf-box__icon { color: var(--cpwaf-accent); margin-right: 0.3em; }
.cpwaf-box__src { opacity: 0.75; }
.cpwaf-box__voice { margin-top: 0.7em !important; padding-top: 0.6em; border-top: 1px dashed var(--cpwaf-line); }
.cpwaf-box__en { font-size: 0.85em; opacity: 0.7; font-style: italic; }
.cpwaf-box a { text-decoration: underline; text-underline-offset: 2px; }

/* White/Black List */
.cpwaf-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
	margin: 1.2em 0 2.2em;
}
.cpwaf-list * { font-family: inherit; }
.cpwaf-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px 18px 18px;
	border: 1px solid var(--cpwaf-line);
	border-top: 3px solid var(--cpwaf-accent);
	border-radius: 8px;
	background: var(--cpwaf-soft);
	line-height: 1.5;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.cpwaf-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25); }
.cpwaf-card--blocked { border-top-color: #6b6b6b; }
.cpwaf-card p { margin: 0; font-size: 13px; }
.cpwaf-list .cpwaf-card__name { margin: 0 !important; font-size: 17px !important; font-weight: 700; line-height: 1.3; word-break: break-word; }
.cpwaf-card__links { display: flex; flex-wrap: wrap; gap: 6px; }
.cpwaf-list .cpwaf-card__links a {
	display: inline-block;
	padding: 2px 10px;
	border: 1px solid var(--cpwaf-line);
	border-radius: 999px;
	font-size: 12px;
	line-height: 1.6;
	color: inherit;
	text-decoration: none;
}
.cpwaf-list .cpwaf-card__links a:hover,
.cpwaf-list .cpwaf-card__links a:focus-visible { background: var(--cpwaf-accent); border-color: var(--cpwaf-accent); color: #fff; }
.cpwaf-list .cpwaf-card__state {
	align-self: flex-start;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	color: #fff;
}
.cpwaf-list .cpwaf-card__state--ok { background: #2e7d32; }
.cpwaf-list .cpwaf-card__state--legacy { background: #9a5b00; }
.cpwaf-list .cpwaf-card__state--no { background: #c41e3a; }
.cpwaf-card__meta { opacity: 0.88; }
.cpwaf-list .cpwaf-card__meta a { color: inherit; text-decoration: underline; }
.cpwaf-card__count { margin-top: auto !important; padding-top: 6px; border-top: 1px dashed var(--cpwaf-line); opacity: 0.75; }

/* Seite „Englische Autoren“: Gestaltungsbausteine (.cpwaf-page …) */
.cpwaf-page {
	--cpwaf-accent: #c41e3a;
	--cpwaf-line: rgba(127, 127, 127, 0.28);
	--cpwaf-soft: rgba(127, 127, 127, 0.08);
}
.cpwaf-page h2 { scroll-margin-top: 90px; }
.cpwaf-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; margin: 0 0 2.2em; }
.cpwaf-hero__card {
	position: relative;
	padding: 22px 22px 20px;
	border: 1px solid var(--cpwaf-line);
	border-top: 4px solid var(--cpwaf-accent);
	border-radius: 10px;
	background: var(--cpwaf-soft);
}
.cpwaf-page .cpwaf-hero__title { margin: 6px 0 12px !important; font-size: 1.35em !important; line-height: 1.25; }
.cpwaf-lang { display: inline-block; padding: 2px 8px; border-radius: 4px; background: var(--cpwaf-accent); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; }
.cpwaf-hero__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0 !important; }
.cpwaf-page .cpwaf-btn,
.cpwaf-form .cpwaf-btn,
.cpwaf-done .cpwaf-btn {
	display: inline-block;
	padding: 8px 16px;
	border: 2px solid var(--cpwaf-accent);
	border-radius: 6px;
	background: var(--cpwaf-accent);
	color: #fff !important;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none !important;
}
.cpwaf-page .cpwaf-btn:hover, .cpwaf-page .cpwaf-btn:focus-visible,
.cpwaf-form .cpwaf-btn:hover, .cpwaf-form .cpwaf-btn:focus-visible,
.cpwaf-done .cpwaf-btn:hover, .cpwaf-done .cpwaf-btn:focus-visible { filter: brightness(1.15); }
.cpwaf-page .cpwaf-btn--ghost,
.cpwaf-done .cpwaf-btn--ghost { background: transparent; color: inherit !important; }
.cpwaf-page .cpwaf-checks,
.cpwaf-done .cpwaf-checks { list-style: none !important; margin: 0 0 1em !important; padding: 0 !important; }
.cpwaf-page .cpwaf-checks li,
.cpwaf-done .cpwaf-checks li { position: relative; margin: 0 0 8px; padding-left: 26px; line-height: 1.5; }
.cpwaf-page .cpwaf-checks li::before,
.cpwaf-done .cpwaf-checks li::before { content: "✔"; position: absolute; left: 0; top: 0; color: var(--cpwaf-accent); font-weight: 700; }
.cpwaf-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 1em 0 1.4em; }
.cpwaf-tile { display: flex; flex-direction: column; gap: 2px; padding: 16px; border: 1px solid var(--cpwaf-line); border-radius: 10px; background: var(--cpwaf-soft); text-align: center; }
.cpwaf-tile__icon { font-size: 28px; line-height: 1.2; margin-bottom: 4px; }
.cpwaf-tile span:last-child { font-size: 13px; opacity: 0.8; }
.cpwaf-callout { margin: 1em 0 1.6em; padding: 14px 18px; border-left: 4px solid var(--cpwaf-accent); border-radius: 8px; background: var(--cpwaf-soft); line-height: 1.6; }
.cpwaf-callout p { margin: 0 0 0.6em; }
.cpwaf-callout p:last-child { margin-bottom: 0; }
.cpwaf-callout--info { border-left-color: #2e7d32; }
.cpwaf-page .cpwaf-steps { counter-reset: cpwaf-step; list-style: none !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin: 1em 0 1em !important; padding: 0 !important; }
.cpwaf-page .cpwaf-steps li { counter-increment: cpwaf-step; position: relative; display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 44px 16px 16px; border: 1px solid var(--cpwaf-line); border-radius: 10px; background: var(--cpwaf-soft); line-height: 1.5; }
.cpwaf-page .cpwaf-steps li::before { content: counter(cpwaf-step); position: absolute; top: 12px; left: 16px; width: 26px; height: 26px; border-radius: 50%; background: var(--cpwaf-accent); color: #fff; font-weight: 700; font-size: 14px; line-height: 26px; text-align: center; }
.cpwaf-page .cpwaf-steps li span { font-size: 14px; opacity: 0.85; }
.cpwaf-faq { margin: 1em 0 2em; border-top: 1px solid var(--cpwaf-line); }
.cpwaf-faq details { border-bottom: 1px solid var(--cpwaf-line); }
.cpwaf-faq summary { cursor: pointer; padding: 14px 32px 14px 0; font-weight: 700; list-style: none; position: relative; }
.cpwaf-faq summary::-webkit-details-marker { display: none; }
.cpwaf-faq summary::after { content: "+"; position: absolute; right: 6px; top: 10px; font-size: 22px; color: var(--cpwaf-accent); }
.cpwaf-faq details[open] summary::after { content: "–"; }
.cpwaf-faq details p { margin: 0 0 14px; line-height: 1.6; opacity: 0.9; }

/* Formular für Autoren ([cpw_autoren_formular]) */
.cpwaf-form,
.cpwaf-done {
	--cpwaf-accent: #c41e3a;
	--cpwaf-line: rgba(127, 127, 127, 0.32);
	--cpwaf-soft: rgba(127, 127, 127, 0.08);
	--cpwaf-tint: rgba(196, 30, 58, 0.09);
	margin: 1.2em 0 2em;
	font-family: inherit;
	line-height: 1.55;
}
.cpwaf-form:focus, .cpwaf-done:focus { outline: none; }
.cpwaf-form [hidden], .cpwaf-done [hidden] { display: none !important; }

/* Erst nach „Yes“/„No“ geht es weiter – ohne JavaScript, per :has() (ältere Browser zeigen einfach alles). */
.cpwaf-form:not(:has(input[name="cpwaf_choice"]:checked)) [data-for] { display: none; }
.cpwaf-form:has(input[name="cpwaf_choice"][value="yes"]:checked) [data-for="no"] { display: none; }
.cpwaf-form:has(input[name="cpwaf_choice"][value="no"]:checked) [data-for="yes"] { display: none; }
.cpwaf-form:not(:has(input[name="cpwaf_scope_type"][value="some"]:checked)) .cpwaf-scope-list { display: none; }

.cpwaf-form__group {
	margin: 0 0 16px;
	padding: 18px 20px 20px;
	border: 1px solid var(--cpwaf-line);
	border-radius: 10px;
	background: var(--cpwaf-soft);
	min-width: 0;
}
.cpwaf-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.cpwaf-form fieldset.cpwaf-form__group { padding: 18px 20px 20px; border: 1px solid var(--cpwaf-line); }
.cpwaf-form legend { padding: 0; float: left; width: 100%; }
.cpwaf-form legend + * { clear: both; }
.cpwaf-form .cpwaf-form__title { display: block; margin: 0 0 14px !important; font-size: 1.15em !important; font-weight: 700; line-height: 1.3; }
.cpwaf-form__label { display: block; margin: 0 0 6px !important; font-weight: 700; }
.cpwaf-opt { font-weight: 400; font-size: 13px; opacity: 0.7; }
.cpwaf-opt::before { content: "· "; }
.cpwaf-field { margin: 0 0 16px; }
.cpwaf-field:last-child { margin-bottom: 0; }
.cpwaf-form input[type="text"],
.cpwaf-form input[type="email"],
.cpwaf-form input[type="url"],
.cpwaf-form textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--cpwaf-line);
	border-radius: 6px;
	font: inherit;
	font-size: 16px; /* verhindert Zoom auf dem iPhone */
	line-height: 1.4;
}
.cpwaf-form textarea { min-height: 80px; resize: vertical; }
.cpwaf-form input:focus-visible,
.cpwaf-form textarea:focus-visible { outline: 2px solid var(--cpwaf-accent); outline-offset: 1px; }
.cpwaf-hint { margin: 5px 0 0 !important; font-size: 13px; line-height: 1.45; opacity: 0.78; }
.cpwaf-hint--top { margin: -2px 0 10px !important; }
.cpwaf-prefixed { display: flex; align-items: stretch; }
.cpwaf-prefixed > span { display: flex; align-items: center; padding: 0 10px; border: 1px solid var(--cpwaf-line); border-right: 0; border-radius: 6px 0 0 6px; opacity: 0.75; }
.cpwaf-form .cpwaf-prefixed input { border-radius: 0 6px 6px 0; }

.cpwaf-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.cpwaf-choice {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0;
	padding: 14px 16px;
	border: 2px solid var(--cpwaf-line);
	border-radius: 10px;
	cursor: pointer;
	line-height: 1.45;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.cpwaf-choice:hover { border-color: var(--cpwaf-accent); }
.cpwaf-choice:has(input:checked) { border-color: var(--cpwaf-accent); background: var(--cpwaf-tint); }
.cpwaf-choice strong { display: block; font-size: 1.02em; }
.cpwaf-choice small { display: block; margin-top: 3px; font-size: 13px; opacity: 0.8; }
.cpwaf-form input[type="radio"],
.cpwaf-form input[type="checkbox"] { flex: none; width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--cpwaf-accent); }
.cpwaf-option { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 10px; cursor: pointer; line-height: 1.45; }
.cpwaf-scope-list { margin: -2px 0 6px 28px; }

.cpwaf-license {
	max-height: 280px;
	overflow: auto;
	padding: 12px 14px;
	border: 1px solid var(--cpwaf-line);
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.55;
	white-space: pre-line;
}
.cpwaf-check {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 6px 0 0;
	padding: 12px 14px;
	border-left: 4px solid var(--cpwaf-accent);
	border-radius: 6px;
	background: var(--cpwaf-tint);
	font-weight: 600;
	cursor: pointer;
	line-height: 1.45;
}
.cpwaf-form__group > p { margin: 0 0 12px; }

.cpwaf-form__summary {
	margin: 0 0 16px;
	padding: 12px 16px;
	border-left: 4px solid var(--cpwaf-accent);
	border-radius: 8px;
	background: var(--cpwaf-tint);
	font-weight: 700;
}
.cpwaf-form__error { margin: 6px 0 0 !important; padding-left: 10px; border-left: 3px solid var(--cpwaf-accent); font-size: 14px; font-weight: 600; }
.cpwaf-field--invalid input[type="text"],
.cpwaf-field--invalid input[type="email"],
.cpwaf-field--invalid input[type="url"],
.cpwaf-field--invalid textarea { border-color: var(--cpwaf-accent); border-width: 2px; }
.cpwaf-form__group--choice.cpwaf-field--invalid .cpwaf-choice { border-color: var(--cpwaf-accent); }

.cpwaf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.cpwaf-form__privacy { margin: 16px 0 12px !important; font-size: 13px; line-height: 1.5; opacity: 0.8; }
.cpwaf-form__privacy a { color: inherit; text-decoration: underline; }
.cpwaf-form__submit { margin: 0 !important; }
.cpwaf-form button.cpwaf-btn { cursor: pointer; padding: 12px 24px; font-size: 16px; }

/* Ergebnis nach dem Absenden */
.cpwaf-done { padding: 22px 22px 18px; border: 1px solid var(--cpwaf-line); border-top: 4px solid var(--cpwaf-accent); border-radius: 10px; background: var(--cpwaf-soft); }
.cpwaf-done p { margin: 0 0 12px; }
.cpwaf-done__kicker { font-weight: 700; color: var(--cpwaf-accent); text-transform: uppercase; letter-spacing: 0.04em; font-size: 13px; }
.cpwaf-done .cpwaf-done__title { margin: 0 0 14px !important; font-size: 1.3em !important; line-height: 1.3; }
.cpwaf-done__label { margin: 0 0 4px !important; font-size: 13px; opacity: 0.8; }
.cpwaf-code { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 16px !important; }
.cpwaf-code span { padding: 6px 14px; border: 2px dashed var(--cpwaf-accent); border-radius: 8px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 28px; font-weight: 700; letter-spacing: 0.08em; }
.cpwaf-copy { padding: 8px 14px; border: 1px solid var(--cpwaf-line); border-radius: 6px; background: transparent; color: inherit; font: inherit; font-size: 14px; cursor: pointer; }
.cpwaf-copy:hover, .cpwaf-copy:focus-visible { border-color: var(--cpwaf-accent); }
.cpwaf-done__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cpwaf-done .cpwaf-done__sub { margin: 18px 0 10px !important; font-size: 1em !important; }
.cpwaf-done__links { margin: 0 0 12px 1.2em; }
.cpwaf-done__record { margin-top: 10px; border-top: 1px solid var(--cpwaf-line); padding-top: 10px; }
.cpwaf-done__record summary { cursor: pointer; font-weight: 700; }
.cpwaf-done__record dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin: 12px 0; font-size: 14px; }
.cpwaf-done__record dt { font-weight: 700; }
.cpwaf-done__record dd { margin: 0; word-break: break-word; }
@media (max-width: 480px) {
	.cpwaf-form__group, .cpwaf-form fieldset.cpwaf-form__group { padding: 14px 14px 16px; }
	.cpwaf-done__record dl { grid-template-columns: 1fr; }
	.cpwaf-done__record dd { margin-bottom: 6px; }
	.cpwaf-code span { font-size: 24px; }
}

/* Theme-Aufzählungspunkte in den Häkchen-Listen entfernen, Aufklapp-Pfeil im Ergebnis */
.cpwaf-page .cpwaf-checks li,
.cpwaf-done .cpwaf-checks li { list-style: none !important; }
.cpwaf-page .cpwaf-checks li::marker,
.cpwaf-done .cpwaf-checks li::marker { content: none; }
.cpwaf-done__record summary { list-style: none; position: relative; padding-left: 20px; }
.cpwaf-done__record summary::-webkit-details-marker { display: none; }
.cpwaf-done__record summary::before { content: "▸"; position: absolute; left: 0; top: 0; color: var(--cpwaf-accent); }
.cpwaf-done__record[open] summary::before { content: "▾"; }

/* Der klassische Editor entfernt <span> ohne Klasse (z. B. beim Wechsel auf „Visuell“).
   Beschreibungen in Kacheln und Schritten deshalb über den Container gestalten – klappt mit und ohne <span>. */
.cpwaf-tile { font-size: 13px; line-height: 1.45; }
.cpwaf-tile strong { font-size: 16px; line-height: 1.3; }
.cpwaf-tile .cpwaf-tile__icon { font-size: 28px; }
.cpwaf-page .cpwaf-steps li { font-size: 14px; }
.cpwaf-page .cpwaf-steps li strong { font-size: 15px; }
