/* Verejne overeni darkoveho poukazu (/poukaz, `templates/voucher.html`).
   Novy soubor na konci `assets.PUBLIC_CSS`: je to vlastni jmenny prostor
   (`vch-`), takze na poradi v kaskade nic nezavisi. */

.vch-page { max-width: 44rem; }
/* Karty poukazu mely `.card` 18 px — o tretinu min nez ostatni panely webu. */
.vch-page .card { padding: var(--panel-pad); }

.vch-form { margin-top: 1.6rem; }
.vch-label {
  display: block;
  margin-bottom: .5rem;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.vch-row { display: flex; flex-wrap: wrap; gap: .6rem; }
.vch-input {
  flex: 1 1 14rem;
  /* Monospace + rozpal: kod se opisuje z papiru, a v proporcionalnim pismu
     splyva 5 a S. Verzalky resi CSS, takze male pismo je v poradku. */
  font-family: Consolas, 'SF Mono', Menlo, monospace;
  font-size: 1.05rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.vch-hint { margin: .5rem 0 0; }

/* Karta `.card` centruje text; vysledek ma ale hlavicku kod-vlevo/stav-vpravo,
   takze zbytek zarovnany na stred by pusobil jako dva ruzne bloky. */
.vch-result { margin-top: 1.4rem; text-align: left; }
.vch-result-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem 1rem;
  justify-content: space-between;
}
.vch-code {
  font-family: Consolas, 'SF Mono', Menlo, monospace;
  font-size: 1.15rem;
  letter-spacing: .1em;
  color: var(--text-strong);
}

/* Stav nese jmenovka SLOVEM, ne jen barvou - stejne pravidlo jako u mericu
   obtiznosti hernich modu. Barva je jen druhy, podpurny nosic. */
.vch-state {
  padding: .22rem .7rem;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  font-size: .78rem;
  letter-spacing: .04em;
  color: var(--muted);
}
.vch-aktivni .vch-state { border-color: var(--accent-border); color: var(--accent); }
.vch-propadly .vch-state,
.vch-zruseny .vch-state { border-color: var(--accent-2-border); color: var(--accent-2); }

.vch-amount {
  margin: 1rem 0 0;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(2.2rem, 7vw, 3rem);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--text-strong);
}
/* Vycerpany a propadly poukaz nesmi svitit stejne jako platny - nula v plne
   bile se cte jako "mas tam nulu, ale je to v poradku". */
.vch-vycerpany .vch-amount,
.vch-propadly .vch-amount,
.vch-zruseny .vch-amount { color: var(--muted); }
.vch-amount-note { margin: .3rem 0 0; }

.vch-meta { display: flex; gap: .5rem; margin: 1rem 0 0; font-size: .9rem; }
.vch-meta dt { color: var(--muted); }
.vch-meta dd { margin: 0; font-variant-numeric: tabular-nums; }

.vch-msg { margin: 1rem 0 0; display: flex; align-items: flex-start; gap: .1rem; }

.vch-buy { margin-top: 1.6rem; }
.vch-buy-h { margin: 0 0 .6rem; font-family: var(--font-head); font-size: 1.15rem; }
.vch-buy-links { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 0; }
