/*
 * Die Liste der gestellten Zeichen im Protokoll.
 *
 * Vorher standen dort drei gleich breite Textfelder nebeneinander – viel
 * Fläche für wenig Inhalt, und was für ein Zeichen gemeint war, musste man
 * lesen. Jetzt steht das Zeichen selbst da: Bild, Nummer, Menge, fertig.
 *
 * Struktur, keine Gestaltung: Farben, Rahmen und Rundungen gehören in
 * app.css. Deshalb liegt diese Datei davor.
 */

.zeichen-zeile {
    display: grid;
    /* Bild – Beschriftung – Menge – Weg. Nur die Beschriftung wächst. */
    grid-template-columns: 2.6rem minmax(0, 1fr) 4.5rem auto;
    align-items: center;
    gap: .6rem;
    padding: .25rem 0;
}

.zeichen-zeile + .zeichen-zeile {
    border-top: 1px solid rgba(128, 128, 128, .18);
}

/* Verkehrszeichen sind hoch oder breit – beides muss in denselben Platz. */
.zeichen-zeile .zeichen-bild {
    width: 2.6rem;
    height: 2.6rem;
    object-fit: contain;
    cursor: zoom-in;
}

.zeichen-zeile .artikel-bild-platzhalter {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
}

.zeichen-zeile .zeichen-text {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    min-width: 0;
}

/* Die lange Bezeichnung steht klein unter der Zeichennummer und darf die
   Zeile nicht sprengen. */
.zeichen-zeile .zeichen-text small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: .75;
}

/* Frei angelegte Zeilen: zwei Eingabefelder übereinander statt Text. */
.zeichen-zeile .zeichen-text input {
    width: 100%;
}

.zeichen-zeile .protokoll-menge {
    width: 100%;
    text-align: right;
}

/* Auf schmalen Geräten rutscht die Menge unter die Beschriftung, das Bild
   bleibt links stehen. */
@media (max-width: 30rem) {
    .zeichen-zeile {
        grid-template-columns: 2.6rem minmax(0, 1fr) auto;
    }
    .zeichen-zeile .protokoll-menge {
        grid-column: 2;
        width: 4.5rem;
    }
    .zeichen-zeile > button {
        grid-row: 1;
        grid-column: 3;
    }
}
