/* Firmenseite & Dokumente (Modul dokumente, 22.09.2026) — Hausschema, siehe HAUSSCHEMA.md.
   Nur, was supplysphere.css und cockpit.css nicht schon liefern. */
.dok-form textarea.in { min-height: 8rem; resize: vertical; }
.dok-form .f-zeile, .dok-upload .f-zeile { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 640px) { .dok-form .f-zeile, .dok-upload .f-zeile { grid-template-columns: 1fr; } }

.dok-upload { border-top: 1px solid var(--line); padding-top: 1rem; margin-top: .5rem; }
.dok-upload-titel { font-size: 1.15rem; display: inline-flex; align-items: center; gap: .4rem; }
.dok-sichtbarkeit { border: 0; padding: 0; margin: 0; display: grid; gap: .5rem; }
.dok-sichtbarkeit legend { padding: 0; margin-bottom: .25rem; }

.dok-tabelle td { vertical-align: top; }
.dok-details summary { list-style: none; cursor: pointer; display: inline-block; }
.dok-details summary::-webkit-details-marker { display: none; }
.dok-details[open] summary { margin-bottom: .5rem; }
.dok-edit { min-width: 220px; }
.dok-edit + .inline-form { margin-top: .5rem; }

.dok-bilder { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.dok-bild { display: grid; gap: .5rem; }
.dok-bild img { width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--line); background: var(--cream); }
.dok-bild-form .in { flex: 1 1 auto; min-width: 0; }

/* Öffentliche Seite */
.lieferant-raster { align-items: start; }
.lieferant-anfrage { position: sticky; top: 1rem; }
.dok-karte { display: grid; gap: .3rem; text-decoration: none; color: var(--ink); }
.dok-karte:hover .dok-karte-titel { text-decoration: underline; }
.dok-karte-titel { font-size: 1.15rem; color: var(--navy); }
.dok-galerie figure { margin: 0; overflow: hidden; }
.dok-galerie img { display: block; width: 100%; height: auto; }
.dok-galerie figcaption { padding: .5rem .75rem; }
.haftung { border-top: 1px solid var(--line); padding-top: 1rem; }

.lieferant-karte { display: grid; text-decoration: none; color: var(--ink); overflow: hidden; }
.lieferant-karte:hover .lieferant-karte-titel { text-decoration: underline; }
.lieferant-karte-bild { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.lieferant-karte-titel { font-size: 1.2rem; color: var(--navy); }

/* Zweiter Schub (22.09.2026): Vollstaendigkeit, Logo, Filter, Radar */
.dok-fortschritt { display: grid; gap: .4rem; margin-bottom: 1rem; }
.dok-balken { height: 8px; border-radius: 4px; background: var(--cream); border: 1px solid var(--line); overflow: hidden; }
.dok-balken span { display: block; height: 100%; background: var(--gold); }
.dok-logo-zeile { display: flex; align-items: center; gap: 1rem; margin-bottom: .75rem; }
.dok-logo { width: 120px; height: 120px; object-fit: contain; border-radius: 8px; border: 1px solid var(--line); background: #fff; }
.dok-logo-formulare { margin-top: .75rem; flex-wrap: wrap; gap: .75rem; }
.lieferant-logo { display: block; width: 120px; height: 120px; object-fit: contain; border-radius: 12px; border: 1px solid var(--line); background: #fff; margin-bottom: .75rem; }
.lieferant-karte-logo { width: 64px; height: 64px; object-fit: contain; border-radius: 8px; background: #fff; border: 1px solid var(--line); }
.lieferant-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: -.5rem; margin-bottom: 1rem; }
.lieferant-filter .pill { text-decoration: none; }
.radar-karte { display: grid; gap: .5rem; }
.radar-titel { font-size: 1.2rem; color: var(--navy); }
.radar-antwort textarea.in { min-height: 3.2rem; }
