/* ==========================================================================
   Kultmind – produkció / időpont komponensek (mobile first)
   Színek: az Astra Customizer globális színeit használja (--ast-global-color-0..8),
   így a kliens a Customizerben állítja, nem itt.
   ========================================================================== */

:root {
	--km-accent: var(--ast-global-color-0, #c0392b);
	--km-accent-hover: var(--ast-global-color-1, #96281b);
	--km-text: var(--ast-global-color-2, #1a1a1a);
	--km-muted: var(--ast-global-color-3, #666);
	--km-line: var(--ast-global-color-6, #e4e4e4);
	--km-bg-soft: var(--ast-global-color-5, #f7f7f7);
	--km-radius: 10px;
	--km-gap: 1rem;
}

/* ---- Gombok, badge-ek --------------------------------------------------- */
.km-btn {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	padding: .65em 1.1em;
	border-radius: 999px;
	background: var(--km-accent);
	color: #fff !important;
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background .15s;
}
.km-btn:hover, .km-btn:focus { background: var(--km-accent-hover); }
.km-btn--primary { font-size: 1.05rem; padding: .8em 1.5em; }

.km-badge {
	display: inline-block;
	padding: .4em .9em;
	border-radius: 999px;
	background: var(--km-bg-soft);
	color: var(--km-text);
	font-size: .85rem;
	font-weight: 600;
	white-space: nowrap;
}
.km-badge--off { background: var(--km-line); color: var(--km-muted); text-decoration: line-through; }

.km-empty { color: var(--km-muted); font-style: italic; }

/* ---- Időpont lista ------------------------------------------------------ */
.km-idopont-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--km-line); }

.km-idopont {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: "date body" "actions actions";
	gap: .5rem var(--km-gap);
	padding: var(--km-gap) 0;
	border-bottom: 1px solid var(--km-line);
}
.km-idopont--elmaradt { opacity: .55; }

.km-idopont__date {
	grid-area: date;
	display: flex;
	flex-direction: column;
	min-width: 5.5rem;
	line-height: 1.2;
}
.km-idopont__day { font-weight: 700; color: var(--km-text); }
.km-idopont__time { font-size: 1.25rem; font-weight: 700; color: var(--km-accent); }

.km-idopont__body { grid-area: body; display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.km-idopont__title { font-weight: 700; font-size: 1.05rem; color: var(--km-text); text-decoration: none; }
.km-idopont__title:hover { color: var(--km-accent); }
.km-idopont__place { color: var(--km-muted); font-size: .95rem; }
.km-idopont__place a { color: inherit; text-decoration: underline; text-decoration-color: var(--km-line); }
.km-idopont__place small { display: block; font-size: .85rem; }
.km-idopont__note { font-size: .9rem; color: var(--km-accent); font-weight: 600; }

.km-idopont__actions {
	grid-area: actions;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem .9rem;
}
.km-idopont__cal { font-size: .8rem; color: var(--km-muted); display: inline-flex; gap: .6rem; }
.km-idopont__cal a { color: inherit; }

@media (min-width: 640px) {
	.km-idopont {
		grid-template-columns: auto 1fr auto;
		grid-template-areas: "date body actions";
		align-items: center;
	}
	.km-idopont__actions { justify-content: flex-end; }
}

/* ---- Produkció oldal ---------------------------------------------------- */
.km-produkcio__hero { display: grid; gap: var(--km-gap); margin-bottom: 2rem; }
.km-produkcio__image img { width: 100%; height: auto; border-radius: var(--km-radius); display: block; }
.km-produkcio__genre { margin: 0 0 .3rem; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; color: var(--km-accent); font-weight: 700; }
.km-produkcio__title { margin: 0 0 .5rem; line-height: 1.1; }
.km-produkcio__lead { font-size: 1.15rem; color: var(--km-muted); margin: 0 0 1rem; }

.km-produkcio__meta { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0 0 1.25rem; }
.km-produkcio__meta > div { display: flex; flex-direction: column; }
.km-produkcio__meta dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--km-muted); }
.km-produkcio__meta dd { margin: 0; font-weight: 600; }

@media (min-width: 900px) {
	.km-produkcio__hero { grid-template-columns: 5fr 6fr; align-items: center; gap: 2.5rem; }
}

.km-section { margin: 2.5rem 0; }
.km-section > h2 { font-size: 1.4rem; margin-bottom: 1rem; }
.km-section--idopontok { scroll-margin-top: 90px; }

.km-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--km-radius); overflow: hidden; background: #000; }
.km-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

.km-alkotok { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .75rem 1.5rem; margin: 0; }
.km-alkotok > div { border-left: 3px solid var(--km-accent); padding-left: .75rem; }
.km-alkotok dt { font-size: .8rem; color: var(--km-muted); }
.km-alkotok dd { margin: 0; font-weight: 600; }

.km-quote { margin: 0 0 1.25rem; padding: 1rem 1.25rem; border-left: 4px solid var(--km-accent); background: var(--km-bg-soft); border-radius: 0 var(--km-radius) var(--km-radius) 0; }
.km-quote p { margin: 0 0 .4rem; font-style: italic; font-size: 1.05rem; }
.km-quote cite { font-style: normal; font-size: .85rem; color: var(--km-muted); }

.km-section--past summary { cursor: pointer; font-weight: 600; color: var(--km-muted); }
.km-past-list { list-style: none; padding: .5rem 0 0; margin: 0; color: var(--km-muted); font-size: .95rem; }
.km-past-list li { padding: .25rem 0; }

/* ---- Kártyák / rács ----------------------------------------------------- */
.km-grid { display: grid; grid-template-columns: 1fr; gap: var(--km-gap); }
@media (min-width: 560px) { .km-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .km-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }

.km-card {
	display: flex;
	flex-direction: column;
	border-radius: var(--km-radius);
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--km-line);
	color: var(--km-text);
	text-decoration: none !important;
	transition: transform .15s, box-shadow .15s;
}
.km-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0, 0, 0, .08); }
.km-card__image { aspect-ratio: 3 / 2; background: var(--km-bg-soft); overflow: hidden; }
.km-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.km-card__body { padding: 1rem; display: flex; flex-direction: column; gap: .25rem; }
.km-card__genre { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--km-accent); font-weight: 700; }
.km-card__title { margin: 0; font-size: 1.1rem; line-height: 1.25; }
.km-card__next { font-size: .9rem; color: var(--km-muted); }
.km-card__next--none { font-style: italic; }

/* ---- Archívum ----------------------------------------------------------- */
.km-archive__head { margin-bottom: 1.5rem; }

/* ---- Blokkok szerkesztőben --------------------------------------------- */
.editor-styles-wrapper .km-card { pointer-events: none; }
