/* Landingpages – Ergänzungen zu den Design-Stylesheets (Spec Grundlage §3.4). Lädt vor klassisch.css bzw. auftragsschein.css. */

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* Serverseitige Fehler an Dateifeldern (EXT:form) */
.file.is-invalid { border-color: #b00015; }
.file.is-invalid .file__name { color: #b00015; font-weight: 600; }

/* Ein Upload-Feld für mehrere Dateien (Auswahl oder Drag & Drop). Akzentfarbe: --pen (Auftragsschein), sonst --red (Klassisch). */
.file.file--drop { place-items: center; gap: 4px; margin-top: 8px; padding: 26px 16px; text-align: center; }
.file.file--drop .file__tab { font-size: 1rem; }
.file.file--drop .file__name { font-family: inherit; font-size: .9rem; font-weight: 400; white-space: normal; }
.file.file--drop.is-dragover { border-style: solid; border-color: var(--pen, var(--red)); background: color-mix(in srgb, var(--pen, var(--red)) 7%, transparent); }
/* Nach einem Validierungsfehler rendert EXT:form die schon hochgeladenen Dateien im Feld; landingpage.js übernimmt sie in die Liste. */
.file [data-file-uploaded] { display: none; }
.file-list { display: grid; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.file-list:empty { display: none; }
.file-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 12px; border: 1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius: 6px; font-size: .92rem; }
.file-list__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-list__remove { flex: none; padding: 2px 4px; border: 0; background: none; color: inherit; font: inherit; font-size: .85rem; text-decoration: underline; cursor: pointer; }
.file-list__remove:focus-visible { outline: 2px solid var(--pen, var(--red)); outline-offset: 2px; }
.file-list li.file-list__note { border-style: dashed; color: #b00015; }

/* Link "Cookie-Einstellungen" im Fuß (öffnet cookieman) */
.footer__cookies {
  padding: 0; border: 0; background: none; color: inherit; font: inherit;
  text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; justify-self: start;
}

/* Fingerprint des Cookie-Banners wie auf der Website erst ab 1024 px (darunter läge er unter der Aktionsleiste) */
@media (max-width: 63.99875em) {
  button.cm-trigger { display: none; }
}
