/* Vzhledy poukazu 2026-10-28 (klasicky, maskot, vanocni2, vanocni_foto) — společný základ PDF i webového náhledu.
   Poukaz 210 × 99 mm (DL na šířku), bezpečná zóna 5 mm. Podklady majitele: Podklady/POUKAZY_EXPORT/ (vzory PNG).
   Barvy ze SPECIFIKACE.txt: texty #0A1F4D / #0A2A66, částka #0B3378, akcent #1565D8, linky #C9D4E3,
   pole služeb #EDF3FB, vánoční červená #B23A3A. Drobné šedé popisky #555E70 (6,5 : 1) — #6B7891 má na bílé
   jen 4,45 : 1, proto se pro text nepoužívá.
   Selektory začínají .voucher--v2, aby je nepřebily obecné styly v1 (na prodejní stránce se načítají oba). */

.voucher.voucher--v2 {
  position: relative;
  display: block;
  width: 210mm;
  height: 99mm;
  overflow: hidden;
  background: #FFFFFF;
  color: #0A1F4D;
  font-family: "FR Montserrat", "DejaVu Sans", sans-serif;
  font-size: 10pt;
  font-weight: 500;
  line-height: 1.25;
  font-kerning: normal;
  text-align: left;
}
.voucher--v2 *, .voucher--v2 *::before, .voucher--v2 *::after { box-sizing: border-box; }
.voucher.voucher--v2 p, .voucher.voucher--v2 figure { margin: 0; padding: 0; }

/* Dekorační vrstva: obrázky absolutně, oříznuté rámečkem poukazu. */
.voucher--v2 .v2-decor { position: absolute; left: 0; top: 0; width: 210mm; height: 99mm; overflow: hidden; }
.voucher--v2 .v2-decor img { position: absolute; display: block; max-width: none; }
.voucher--v2 .v2-panel { left: 0; top: 0; width: 210mm; height: 99mm; }
.voucher--v2 .v2-rays { left: 0; top: 0; width: 210mm; height: 99mm; }
.voucher--v2 .v2-photo { top: 0; height: 99mm; }
/* Bílý přechod přes fotku = V11_PHOTO_FADE (bílá 0 %, 0,96 při 6 %, 0,55 při 22 %, průhledná od 42 % šířky přechodu);
   jako CSS gradient sahající až za pravý okraj — žádná hrana obrázku uvnitř fotky. */
.voucher--v2 .v2-fade { position: absolute; top: 0; height: 99mm; }

/* Hlavní (proměnná) část: pevný rámeček, obsah se do něj musí vejít (měří pdf_worker, .v-fit). */
.voucher--v2 .v2-main { position: absolute; }

.voucher.voucher--v2 .v2-season {
  font-family: "FR Kaushan", cursive;
  font-weight: 400;
  color: #B23A3A;
  line-height: 1;
  white-space: nowrap;
}
.voucher.voucher--v2 .v2-title {
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  color: #0A1F4D;
}
.voucher--v2 .v2-title__strong { font-weight: 800; }

.voucher.voucher--v2 .v2-amount {
  font-family: "FR Barlow", "FR Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  color: #0B3378;
}
.voucher--v2 .v2-amount__cur { font-size: 0.598em; }

.voucher.voucher--v2 .v2-sub { font-weight: 500; line-height: 1.25; white-space: nowrap; color: #0A1F4D; }
.voucher--v2 .v2-sub__accent { font-weight: 700; color: #1565D8; }
.voucher--v2 .v2-sub__brand { font-weight: 700; color: #0A2A66; }

/* Personalizace: řádky s linkou; prázdné údaje se nevykreslí (PDF) / jsou skryté (web). */
.voucher--v2 .v2-personal { overflow-wrap: anywhere; word-break: normal; hyphens: manual; }
.voucher.voucher--v2 .v2-row {
  border-bottom: 0.3mm solid #C9D4E3;
  padding: 1.3mm 0 0.9mm;
  font-size: 11.5pt;
  font-weight: 600;
  line-height: 1.2;
  color: #0A2A66;
  overflow-wrap: anywhere;
}
/* Popisek PRO / OD: první řádek začíná popiskem, další řádky dlouhého jména odsazené pod jménem. */
.voucher.voucher--v2 .v2-row--pro { padding-left: 9.5mm; text-indent: -9.5mm; }
.voucher.voucher--v2 .v2-row--od { padding-left: 7.4mm; text-indent: -7.4mm; }
.voucher--v2 .v2-label {
  display: inline-block;
  text-indent: 0;
  font-size: 6.5pt;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #555E70;
  white-space: nowrap;
}
.voucher--v2 .v2-row--pro .v2-label { width: 9.5mm; }
/* PDF: popisek absolutně v odsazení; box má písmo a řádkování řádku → popisek sedí na účaří jména. */
.voucher.voucher--v2 .v2-row--abs { position: relative; text-indent: 0; }
.voucher--v2 .v2-labelbox { position: absolute; left: 0; top: 0; padding-top: inherit; line-height: inherit; white-space: nowrap; }
.voucher--v2 .v2-row--od .v2-label { width: 7.4mm; }
.voucher.voucher--v2 .v2-row--ded { font-style: italic; font-weight: 500; color: #0A2A66; }

/* Velikostní třídy (render.SHEET_STEPS; stejné prahy používá živý náhled). */
.voucher.voucher--v2 .nm-a { font-size: 11.5pt; }
.voucher.voucher--v2 .nm-b { font-size: 10pt; }
.voucher.voucher--v2 .nm-c { font-size: 8.5pt; }
.voucher.voucher--v2 .dd-a { font-size: 10.6pt; }
.voucher.voucher--v2 .dd-b { font-size: 9.5pt; line-height: 1.22; }
.voucher.voucher--v2 .dd-c { font-size: 8.5pt; line-height: 1.22; }
.voucher.voucher--v2 .dd-d { font-size: 8pt; line-height: 1.2; }

/* Kód a platnost — kód vždy celý na jednom řádku (menší písmo u starších 26znakových kódů). */
.voucher--v2 .v2-facts { position: absolute; white-space: nowrap; }
.voucher--v2 .v2-fact { display: inline-block; vertical-align: top; }
/* min-width = obsah sloupce (sloupec vč. 4 mm mezery a linky = 43 mm, jako ve vzoru). */
.voucher--v2 .v2-fact--code { min-width: 38.5mm; padding-right: 4mm; border-right: 0.5mm solid #C9D4E3; }
.voucher--v2 .v2-fact--valid { padding-left: 6.3mm; }
.voucher.voucher--v2 .v2-flabel {
  font-size: 6.5pt;
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1.25;
  text-transform: uppercase;
  color: #555E70;
}
.voucher.voucher--v2 .v2-code,
.voucher.voucher--v2 .v2-valid {
  margin-top: 0.2mm;
  font-size: 9pt;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  color: #0A2A66;
  white-space: nowrap;
}
/* Velikost podle změřené šířky kódu (render.SHEET_CODE_STEPS, em Montserrat Bold). */
.voucher.voucher--v2 .cd-b { font-size: 8.4pt; }
.voucher.voucher--v2 .cd-c { font-size: 7.4pt; letter-spacing: 0; }
.voucher.voucher--v2 .cd-d { font-size: 6.6pt; letter-spacing: 0; }
.voucher.voucher--v2 .cd-e { font-size: 5.6pt; letter-spacing: 0; }
/* Starší 26znakový (a delší) kód: užší mezery, aby se kód i platnost vešly na jeden řádek. */
.voucher--v2.code-long .v2-fact--code { min-width: 0; padding-right: 2.5mm; }
.voucher--v2.code-long .v2-fact--valid { padding-left: 3mm; }
.voucher.voucher--v2.code-long .v2-valid { font-size: 8.4pt; }
.voucher.voucher--v2.code-xwide .v2-valid { font-size: 8pt; }
/* Náhled před platbou: „12 měsíců od zaplacení“ místo data — menší, stále na jednom řádku. */
.voucher.voucher--v2.vl-long .v2-valid { font-size: 7.6pt; }

/* Pruh služeb (klasicky, vanocni2). */
.voucher--v2 .v2-services {
  position: absolute;
  border-radius: 2mm 0 0 2mm;
  background: linear-gradient(90deg, #EDF3FB 0%, #EDF3FB 78%, rgba(237, 243, 251, 0) 100%);
}
.voucher--v2 .v2-service { position: absolute; top: 0; height: 100%; }
.voucher--v2 .v2-service + .v2-service::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2.2mm;
  height: 7.4mm;
  border-left: 0.4mm solid #C9D4E3;
}
.voucher--v2 .v2-service__icon { position: absolute; left: 2.3mm; top: 2.25mm; width: 7.35mm; height: 7.35mm; }
.voucher.voucher--v2 .v2-service__text {
  position: absolute;
  left: 11.5mm;
  top: 2.75mm;
  font-size: 7.5pt;
  font-weight: 700;
  line-height: 1.18;
  color: #0A2A66;
  white-space: nowrap;
}

/* Neplatné označení (ukázka / demo) přes celý poukaz; leží pod textem, nad obrázky. */
.voucher--v2 .v2-mark { position: absolute; left: 0; top: 0; width: 210mm; height: 99mm; text-align: center; }
.voucher.voucher--v2 .v2-mark span {
  display: block;
  margin-top: 40mm;
  font-size: 34pt;
  font-weight: 800;
  letter-spacing: 0.05em;
  white-space: nowrap;
  transform: rotate(-12deg);
}
.voucher--v2 .v2-mark--specimen span { color: rgba(206, 32, 62, 0.24); }
.voucher.voucher--v2 .v2-mark--demo span { color: rgba(196, 110, 0, 0.28); font-size: 28pt; margin-top: 44mm; }
.voucher.voucher--v2.is-specimen .v2-mark--demo span { margin-top: 58mm; }

/* Úsporné varianty (použije je pdf_worker / živý náhled jen tehdy, když se běžná nevejde). */
.voucher.voucher--v2.voucher--compact .v2-row { padding-top: 0.9mm; padding-bottom: 0.6mm; }
.voucher.voucher--v2.voucher--compact .nm-a { font-size: 10.5pt; }
.voucher.voucher--v2.voucher--compact .nm-b { font-size: 9.5pt; }
.voucher.voucher--v2.voucher--compact .dd-a { font-size: 10pt; }
.voucher.voucher--v2.voucher--compact .dd-b { font-size: 9pt; }
.voucher.voucher--v2.voucher--tight .v2-row { padding-top: 0.6mm; padding-bottom: 0.4mm; line-height: 1.15; }
.voucher.voucher--v2.voucher--tight .nm-c { font-size: 8pt; }
.voucher.voucher--v2.voucher--tight .dd-c { font-size: 8pt; line-height: 1.15; }
.voucher.voucher--v2.voucher--tight .dd-d { font-size: 7.5pt; line-height: 1.15; }

/* Nejúspornější varianta (jen PDF vzhledů 2026-10-28, extrémní vstupy typu 200× „M“ bez mezer):
   menší hlavička, jména 7,5 pt, věnování 6,5 pt. Běžné texty ji nikdy nepotřebují. */
.voucher.voucher--v2.voucher--minimal .v2-season { font-size: 10pt !important; margin-top: 0 !important; }
.voucher.voucher--v2.voucher--minimal .v2-title { font-size: 12pt !important; margin-top: 0 !important; }
.voucher.voucher--v2.voucher--minimal .v2-amount { font-size: 28pt !important; margin-top: 0 !important; }
.voucher.voucher--v2.voucher--minimal .v2-sub { font-size: 8.5pt !important; margin-top: 0 !important; }
.voucher.voucher--v2.voucher--minimal .v2-personal { margin-top: 0 !important; }
.voucher.voucher--v2.voucher--minimal .v2-row { padding-top: 0.3mm !important; padding-bottom: 0.2mm !important; line-height: 1.12; }
.voucher.voucher--v2.voucher--minimal .nm-a,
.voucher.voucher--v2.voucher--minimal .nm-b,
.voucher.voucher--v2.voucher--minimal .nm-c { font-size: 7.5pt; }
.voucher.voucher--v2.voucher--minimal .dd-a,
.voucher.voucher--v2.voucher--minimal .dd-b,
.voucher.voucher--v2.voucher--minimal .dd-c,
.voucher.voucher--v2.voucher--minimal .dd-d { font-size: 6.5pt; line-height: 1.12; }

/* Webový náhled: skryté prvky (prázdná personalizace) se nezobrazí. */
.voucher--v2 [hidden] { display: none !important; }
