/* Galeria tarcz: siatka miniatur, zdjęcie z wzorem tarczy obok, formularz wgrywania. */
.kafle-tarcz { list-style: none; margin: 12px 0; padding: 0; display: grid; gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.kafel-tarczy { display: block; position: relative; border-radius: 12px; overflow: hidden; background: var(--tlo-2);
  border: 1.5px solid var(--ramka); color: var(--tekst); text-decoration: none; }
.kafel-tarczy:hover { border-color: var(--akcent); text-decoration: none; }
.kafel-tarczy:focus-visible { outline: 3px solid var(--akcent); outline-offset: 2px; }
.kafel-tarczy img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.podpis-tarczy { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; font-size: .82rem; line-height: 1.3; }
.podpis-tarczy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.podpis-tarczy .liczba { color: var(--tekst-2); font-family: var(--font-liczby); }

.filtr-broni { margin: 4px 0 8px; }
.filtr-broni .drugorzedny { margin-left: 4px; }
.przewijanie-tarcz { gap: 8px; }

/* Zdjęcie i wzór: obok siebie na komputerze, jedno pod drugim na telefonie. */
.tarcza-i-wzor { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); margin: 12px 0 16px; }
@media (min-width: 900px) { .tarcza-i-wzor { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; } }
.zdjecie-tarczy { display: block; border-radius: 14px; overflow: hidden; background: var(--tlo-2); }
.zdjecie-tarczy img { display: block; width: 100%; height: auto; max-height: 80vh; object-fit: contain; }
.wzor-tarczy { margin: 0; }
.wzor-tarczy .rysunek-tarczy { display: block; width: 100%; max-width: 260px; height: auto; margin: 0 auto 8px; }

/* Formularz: duże pole na zdjęcia (rękawiczki, słońce), dystans i skupienie obok siebie. */
.pole-zdjec { padding: 14px; border: 2px dashed var(--ramka); border-radius: 14px; }
.pole-zdjec .w-linii { gap: 8px; color: var(--tekst); }
.pole-zdjec input[type="file"] { min-height: auto; padding: 10px 0; border: 0; background: transparent; }
.dwie-kolumny { display: grid; gap: var(--odstep); grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.formularz label.blad input, .formularz label.blad select { border-color: var(--blad); }
.formularz label.blad .pomoc, .pole-zdjec.blad .pomoc { color: var(--blad); }

.pusta-galeria { text-align: center; }
.pusta-galeria svg { color: var(--tekst-2); }
/* Globalny styl pól numeric (duże cyfry, np. kod TOTP) nie pasuje do pary dystans/skupienie. */
.dwie-kolumny input[inputmode] { font-family: inherit; font-size: 1rem; letter-spacing: normal; text-align: left; font-weight: 400; }
.dwie-kolumny label { align-content: start; }
@media (max-width: 899px) { .wzor-tarczy .rysunek-tarczy { max-width: 180px; } }
