/* Absendesperre - der sichtbare Zustand des Absendeknopfes.
 *
 * Angelegt 2026-09-06 (A-0270). Warum es diese Sperre gibt und warum der
 * Knopf dabei NICHT deaktiviert wird, steht im Kopf von
 * js/konto/absendesperre.js. Hier steht nur, wie man es sieht.
 *
 * KEIN HEX-LITERAL, KEINE PX-SCHRIFTGROESSE, KEIN RADIUS AUSSER 4px/3px/50%,
 * KEIN !important.
 *
 * ALLES HAENGT AN KLASSEN, DIE NUR DAS SKRIPT SETZT. Ist JavaScript aus,
 * greift aus dieser Datei keine einzige Regel, und beide Formulare sehen
 * zeichengleich aus wie vorher. Das ist die Bedingung des Auftrags.
 *
 * ZWEI BEWUSSTE ABWEICHUNGEN VOM GESTALTUNGSKATALOG, damit sie niemand
 * fuer ein Versehen haelt:
 * 1. Die Ringstaerke des Drehers ist 2px, nicht 1px. Der Katalog schreibt
 *    1px fuer RAHMEN um Flaechen vor; ein Dreher ist kein Rahmen, und mit
 *    1px auf gedimmtem Rot ist er nicht mehr zu erkennen.
 * 2. Die Farbe kommt aus currentColor, nicht aus einem Token. Der Dreher
 *    sitzt IM Knopf und muss dessen Schriftfarbe tragen - auf dem roten
 *    Knopf Weiss, auf einem hellen Knopf dunkel. Ein festes Token waere
 *    hier der Fehler, kein Hex-Literal ist es ohnehin nicht.
 */

/* Der Knopf waehrend der Absendung. pointer-events sperrt die Maus; die
 * Tastatur faengt der Ereignisbehandler im Skript ab. */
.iz-absendesperre-laeuft {
	cursor: wait;
	opacity: 0.75;
	pointer-events: none;
}

.iz-absendesperre-dreher {
	display: inline-block;
	width: 0.7em;
	height: 0.7em;
	margin-left: var(--sp-2);
	vertical-align: baseline;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: var(--r-rund);
	animation: iz-absendesperre-drehung 0.8s linear infinite;
}

@keyframes iz-absendesperre-drehung {
	to { transform: rotate(360deg); }
}

/* Wer Bewegung abgestellt hat, bekommt den Ring ohne Drehung - der
 * gedimmte Knopf und der Statustext bleiben als Signal. */
@media ( prefers-reduced-motion: reduce ) {
	.iz-absendesperre-dreher {
		animation: none;
	}
}

/* Nur fuer Vorleseprogramme. Sichtbar geaendert wird ausschliesslich der
 * Knopf - der Auftrag sagt ausdruecklich: kein Ladebalken ueber die halbe
 * Seite. */
.iz-absendesperre-status {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset( 50% );
	white-space: nowrap;
	border: 0;
}
