/* Karta szablonu z literami: pole „Treść napisu” (inc/napis-szablonu.php).
   Plik jest poza warstwą style.css celowo — musi wygrać z nielayerowanym
   arkuszem WooCommerce (ukrycie pola ilości). */

/* Ilość liczy serwer ze znaków i kompletów; zwykłe pole by tylko myliło. */
.s24-karta-napis form.cart .quantity { display: none !important; }

.s24-napis {
  box-sizing: border-box;
  display: grid;
  gap: 6px;
  min-width: 0;
  margin: 20px 0 12px;
  padding: 16px;
  border: 1px solid var(--s24-line);
  border-radius: var(--s24-radius-m);
  background: var(--s24-paper);
}
.s24-napis [hidden] { display: none !important; }
/* `.single_variation_wrap` to siatka 2 kolumn (dostępność | dostawa);
   pole napisu idzie nad nią przez całą szerokość. */
.single_variation_wrap > .s24-napis { grid-column: 1 / -1; min-inline-size: 0; }

.s24-napis__tytul {
  float: left;          /* legend w gridzie: inaczej przecina ramkę */
  width: 100%;
  margin: 0 0 6px;
  padding: 0;
  color: var(--s24-ink);
  font-size: 1.03125rem;
  font-weight: 600;
}

.s24-napis__etykieta {
  color: var(--s24-ink);
  font-size: 0.875rem;
  font-weight: 600;
}
.s24-napis__etykieta span { color: var(--s24-muted); font-weight: 400; }

.s24-napis__tekst,
.s24-napis__komplety,
.s24-napis__projekt {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1.5px solid var(--s24-muted);
  border-radius: var(--s24-radius-m);
  background: var(--s24-base);
  color: var(--s24-ink);
  font: inherit;
  font-size: 1rem;
}
.s24-napis__tekst {
  min-height: 72px;
  resize: vertical;
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.s24-napis__tekst::placeholder,
.s24-napis__projekt::placeholder { color: var(--s24-faint); font-weight: 400; letter-spacing: 0; }
.s24-napis__tekst[aria-invalid="true"] { border-color: var(--s24-error); }

.s24-napis__pomoc,
.s24-napis__drobny {
  margin: 0;
  color: var(--s24-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}
.s24-napis__drobny a { color: var(--s24-ink); }

.s24-napis__blad {
  margin: 0;
  padding: 8px 10px;
  border-radius: var(--s24-radius-s);
  background: var(--s24-error-bg);
  color: var(--s24-error);
  font-size: 0.875rem;
  line-height: 1.45;
}

.s24-napis__rzad {
  display: grid;
  grid-template-columns: minmax(0, 9rem) minmax(0, 1fr);
  gap: 12px;
  margin-top: 8px;
}
.s24-napis__pole { display: grid; gap: 6px; align-content: start; min-width: 0; }
.s24-napis__projekt { text-transform: uppercase; }

.s24-napis__wycena {
  margin: 8px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--s24-line);
  color: var(--s24-ink-soft);
  font-size: 0.9375rem;
  line-height: 1.45;
}
.s24-napis__wycena strong { color: var(--s24-ink); font-size: 1.0625rem; }

@media (max-width: 480px) {
  .s24-napis__rzad { grid-template-columns: 1fr; }
}
