/* Kaader Jury System – public screening programme [kaader_program]. Scoped to .kpg, inherits site fonts. */
.kpg {
	--kpg-ink: #1d1d1f;
	--kpg-muted: #6e6e76;
	--kpg-accent: #e2a620;
	--kpg-red: #bb202e;
	--kpg-card: #ffffff;
	--kpg-line: rgba(0, 0, 0, .08);
	--kpg-radius: 14px;
	color: var(--kpg-ink);
	font-family: inherit;
	line-height: 1.5;
	text-align: left;
}
.kpg *, .kpg *::before, .kpg *::after { box-sizing: border-box; }
.kpg-day { margin: 0 0 3.5rem; }
.kpg-day:last-child { margin-bottom: 0; }
.kpg-day__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; padding-bottom: .9rem; margin-bottom: 1.5rem; border-bottom: 2px solid var(--kpg-ink); }
.kpg .kpg-day__title { margin: 0; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.1; font-weight: 700; color: var(--kpg-ink); text-transform: none; letter-spacing: -.01em; }
.kpg-day__time { display: inline-block; background: var(--kpg-ink); color: #fff; border-radius: 999px; padding: .2rem .8rem; font-size: .95rem; font-weight: 600; white-space: nowrap; }
.kpg-day__place { color: var(--kpg-muted); font-size: 1rem; }
.kpg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 2rem 1.5rem; }
.kpg-card { display: flex; flex-direction: column; gap: 1rem; margin: 0; }
.kpg-card__body { display: flex; flex-direction: column; gap: .6rem; }
.kpg-card__media { position: relative; aspect-ratio: 9 / 16; border-radius: var(--kpg-radius); overflow: hidden; background: #e9e9ee; box-shadow: 0 10px 30px rgba(0, 0, 0, .12); }
.kpg .kpg-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: 0; margin: 0; display: block; }
.kpg-card__noimg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 4rem; font-weight: 700; color: rgba(0, 0, 0, .15); }
.kpg .kpg-card__title { margin: 0; font-size: 1.3rem; line-height: 1.2; font-weight: 700; color: var(--kpg-ink); text-transform: none; }
.kpg .kpg-card__director { margin: 0; font-size: .95rem; font-weight: 600; color: var(--kpg-ink); }
.kpg-card__director span { display: block; margin-bottom: .1rem; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--kpg-red); }
.kpg .kpg-card__text { margin: 0; font-size: .95rem; color: #3a3a40; }
.kpg .kpg-more { display: inline-block; margin: 0 0 0 .35rem; padding: 0; border: 0; background: none; color: var(--kpg-red); font: inherit; font-size: .9rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; line-height: inherit; box-shadow: none; border-radius: 0; text-transform: none; letter-spacing: normal; }
.kpg .kpg-more:hover, .kpg .kpg-more:focus { background: none; color: var(--kpg-ink); }
.kpg .kpg-more:focus:not(:focus-visible) { outline: none; border: 0; box-shadow: none; }
.kpg .kpg-more:focus-visible { outline: 2px solid var(--kpg-accent); outline-offset: 2px; }
.kpg-empty { color: var(--kpg-muted); font-size: 1.1rem; }
@media (max-width: 600px) {
	.kpg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; }
	.kpg .kpg-card__title { font-size: 1.05rem; }
	.kpg .kpg-card__text { font-size: .88rem; }
}
