/* ===== Série Z: FINÁLNÍ verze podle zpětné vazby (Teams) =====
   Z01 = K01+, Z02 = K02+, Z03 = M19+. Změny: výrazně větší název strany (kvůli záběru z pravé strany,
   kde texty vlevo opticky ubývají), názvu je dáno celou šířku (hlasy jsou v řádku pruhu), větší procento vlevo/vpravo. */
.z .rows { top: 178px; gap: 14px; }
.z .row { height: 154px; background: var(--card); box-shadow: var(--shadow); border-radius: 20px; align-content: center; }
.z .bar { border-radius: 6px; } .z .bar i { border-radius: 6px; --minw: 0px; }
.z .no { color: #1A1919; font-weight: 700; }
.z .name { font-weight: 700; letter-spacing: -.005em; }
.z .votes { white-space: nowrap; font-size: 40px; color: #4A4643; justify-self: end; text-align: right; }
.z .votes b { color: #1A1919; font-weight: 700; }
.z .pct .d { font-size: .56em; font-weight: 600; } .z .pct .s { font-size: .4em; font-weight: 600; margin-left: .18em; color: #4A4643; }

/* Z01 – K01+ */
.z1 .row { padding: 0 34px 0 34px; grid-template-columns: 400px 70px 1fr 270px; grid-template-rows: 82px 44px; grid-template-areas: "pct no name name" "pct bar bar votes"; overflow: hidden; }
.z1 .row::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 14px; background: var(--c); }
.z1 .pct { grid-area: pct; grid-row: 1 / 3; font-size: 104px; justify-self: end; margin-right: 40px; }
.z1 .no { grid-area: no; font-size: 40px; color: #4A4643; align-self: end; margin-bottom: 8px; }
.z1 .name { grid-area: name; font-size: 60px; align-self: end; }
.z1 .bar { grid-area: bar; height: 30px; align-self: center; } .z1 .votes { grid-area: votes; align-self: center; }
/* Z02 – K02+ */
.z2 .row { padding: 0 34px 0 0; grid-template-columns: 156px 1fr 250px 400px; grid-template-rows: 82px 44px; grid-template-areas: "no name name pct" "no bar votes pct"; overflow: hidden; }
.z2 .no { grid-area: no; grid-row: 1 / 3; height: 100%; display: grid; place-items: center; background: var(--c); color: var(--on); font-size: 76px; font-weight: 700; }
.z2 .name { grid-area: name; font-size: 62px; margin-left: 34px; align-self: end; }
.z2 .bar { grid-area: bar; height: 30px; margin-left: 34px; align-self: center; } .z2 .votes { grid-area: votes; align-self: center; }
.z2 .pct { grid-area: pct; grid-row: 1 / 3; font-size: 104px; justify-self: end; }
/* Z03 – M19+ */
.z3 .row { padding: 0 34px; grid-template-columns: 1fr 250px 470px; grid-template-rows: 82px 44px; grid-template-areas: "name name pct" "bar votes pct"; }
.z3 .no { display: none; }
.z3 .name { grid-area: name; font-size: 64px; align-self: end; }
.z3 .bar { grid-area: bar; height: 30px; align-self: center; margin-right: 24px; } .z3 .votes { grid-area: votes; align-self: center; }
.z3 .pct { grid-area: pct; grid-row: 1 / 3; font-size: 120px; justify-self: end; }
/* opravy po kontrole */
.z1 .bar { margin-right: 26px; }
.z2 .row { grid-template-columns: 156px 1fr 250px 330px; }
.z2 .bar { margin-right: 26px; }
.z2 .pct { font-size: 100px; }
