/* 04 · ruční měření. Řada od 272: kalendář školního roku (1080 px), vpravo Brno (krok 1). Pointa na 900. */

#s-mereni .rada { display: grid; grid-template-columns: 1080px 1fr; gap: 40px; align-items: stretch; margin-top: var(--mezera); height: 560px; }
#s-mereni .karta { padding: 34px 40px; }

/* kalendář: 10 měsíců × 4 týdny, týden s daty tmavě a s jemným pulzem */
#s-mereni .kalendar { display: grid; grid-template-columns: repeat(10, 1fr); gap: 14px; margin-top: 34px; }
#s-mereni .mesic { display: flex; flex-direction: column; gap: 10px; }
#s-mereni .mesic span { font-size: 22px; font-weight: 700; color: var(--text3); text-transform: uppercase; letter-spacing: 0.05em; text-align: center; margin-bottom: 4px; }
#s-mereni .mesic i { display: block; height: 58px; border-radius: 10px; background: var(--linka); }
#s-mereni .mesic i.data { background: var(--text); box-shadow: 0 0 0 0 rgba(29, 29, 31, 0.35); }
#s-mereni.kresli .mesic i { animation: s04-ctverec 500ms var(--ven) both; }
#s-mereni.kresli .mesic:nth-child(1) i { animation-delay: 150ms; } #s-mereni.kresli .mesic:nth-child(2) i { animation-delay: 190ms; }
#s-mereni.kresli .mesic:nth-child(3) i { animation-delay: 230ms; } #s-mereni.kresli .mesic:nth-child(4) i { animation-delay: 270ms; }
#s-mereni.kresli .mesic:nth-child(5) i { animation-delay: 310ms; } #s-mereni.kresli .mesic:nth-child(6) i { animation-delay: 350ms; }
#s-mereni.kresli .mesic:nth-child(7) i { animation-delay: 390ms; } #s-mereni.kresli .mesic:nth-child(8) i { animation-delay: 430ms; }
#s-mereni.kresli .mesic:nth-child(9) i { animation-delay: 470ms; } #s-mereni.kresli .mesic:nth-child(10) i { animation-delay: 510ms; }
#s-mereni.kresli .mesic i.data { animation: s04-ctverec 500ms var(--ven) 310ms both, s04-pulz 1800ms ease-out 1100ms 2; }
@keyframes s04-ctverec { from { opacity: 0; transform: scale(0.6); } to { opacity: 1; transform: none; } }
@keyframes s04-pulz { 0% { box-shadow: 0 0 0 0 rgba(29, 29, 31, 0.35); } 100% { box-shadow: 0 0 0 18px rgba(29, 29, 31, 0); } }

#s-mereni .vyklad { display: flex; gap: 48px; margin-top: 40px; font-size: 28px; color: var(--text2); }
#s-mereni .vyklad p { display: flex; align-items: center; gap: 14px; }
#s-mereni .vyklad b { color: var(--text); }
#s-mereni .vzorek { width: 28px; height: 28px; border-radius: 7px; background: var(--linka); flex: none; }
#s-mereni .vzorek.data { background: var(--text); }

/* Brno: dva sloupce, výška úměrná kg (80 → 240 px, 19 → 57 px) */
#s-mereni .sloupce { display: flex; align-items: flex-end; gap: 48px; height: 420px; margin-top: 18px; padding: 0 12px; }
#s-mereni .s { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 12px; }
#s-mereni .hodnota { font-weight: 800; font-size: 72px; line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
#s-mereni .hodnota small { font-size: 0.42em; font-weight: 600; color: var(--text2); margin-left: 0.08em; }
#s-mereni .tyc { width: 100%; border-radius: 14px 14px 6px 6px; transform-origin: bottom; transform: scaleY(0); transition: transform 1000ms var(--ven) 200ms; }
#s-mereni .brno.je .tyc { transform: none; }
#s-mereni .brno.je .zelena-tyc { transition-delay: 500ms; }
#s-mereni.hned .tyc { transition: none; }
#s-mereni .oranz-tyc { background: var(--oranz); }
#s-mereni .zelena-tyc { background: var(--zelena); }
#s-mereni .popis { font-size: 24px; line-height: 1.25; color: var(--text2); text-align: center; min-height: 60px; }

#s-mereni .pointa { position: absolute; left: var(--okraj-x); top: 900px; font-size: 56px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
