/* Consultation Calendar (spec §4) — child 0.2.11. Valid tokens only (no sp-5/sp-7). */

.t101-cal { margin-bottom: var(--t101-sp-12); }
.t101-cal__intro { max-width: 62ch; color: var(--t101-ink-muted); margin-bottom: var(--t101-sp-6); }

/* Type filter chips (mirrors intel category chips). */
.t101-cal__chips { display: flex; flex-wrap: wrap; gap: var(--t101-sp-2); margin-bottom: var(--t101-sp-8); }
.t101-cal__chip {
	display: inline-block; padding: var(--t101-sp-1) var(--t101-sp-3);
	border: 1px solid var(--t101-line); border-radius: var(--t101-radius-pill);
	font-family: var(--t101-font-mono); font-size: var(--t101-fs-xs);
	color: var(--t101-ink); text-decoration: none; background: var(--t101-paper-raised);
}
.t101-cal__chip.is-active { background: var(--t101-evergreen); color: var(--t101-paper); border-color: var(--t101-evergreen); }

.t101-cal__sec { margin-bottom: var(--t101-sp-12); }
.t101-cal__head {
	font-family: var(--t101-font-display); font-size: var(--t101-fs-xl);
	margin-bottom: var(--t101-sp-4); padding-bottom: var(--t101-sp-2);
	border-bottom: 2px solid var(--t101-brass);
}
.t101-cal__sec--past { opacity: .82; }
.t101-cal__empty { color: var(--t101-ink-muted); }

/* Event row (spec §4: date block · body · actions). */
.t101-ev {
	display: grid; grid-template-columns: auto 1fr auto; gap: var(--t101-sp-6);
	align-items: start; padding: var(--t101-sp-4) var(--t101-sp-4);
	border: 1px solid var(--t101-line); border-radius: var(--t101-radius-sm);
	background: var(--t101-paper-raised); box-shadow: var(--t101-shadow-sm);
	margin-bottom: var(--t101-sp-3);
}
.t101-ev__date {
	display: flex; flex-direction: column; align-items: center; min-width: 64px;
	padding: var(--t101-sp-2); border: 1px solid var(--t101-line); border-radius: var(--t101-radius-sm);
	font-family: var(--t101-font-mono); background: var(--t101-paper); line-height: 1.2;
}
.t101-ev__mo { font-size: var(--t101-fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--t101-clay); }
.t101-ev__day { font-size: var(--t101-fs-2xl); font-weight: 600; color: var(--t101-evergreen); }
.t101-ev__yr { font-size: var(--t101-fs-xs); color: var(--t101-ink-muted); }
.t101-ev__date.is-tba { justify-content: center; min-height: 64px; }
.t101-ev__tba { font-size: var(--t101-fs-sm); font-weight: 600; letter-spacing: .12em; color: var(--t101-clay); }

.t101-ev__title { margin: 0 0 var(--t101-sp-1); font-size: var(--t101-fs-lg); }
.t101-ev__title a { color: var(--t101-evergreen); text-decoration: none; }
.t101-ev__title a:hover { color: var(--t101-brass); }
.t101-ev__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--t101-sp-2); margin-bottom: var(--t101-sp-2); }
.t101-ev__loc { color: var(--t101-ink-muted); font-size: var(--t101-fs-sm); }
.t101-ev__tags { display: flex; flex-wrap: wrap; gap: var(--t101-sp-1); }
.t101-ev__tag {
	font-family: var(--t101-font-mono); font-size: var(--t101-fs-xs);
	padding: 0 var(--t101-sp-2); border: 1px solid var(--t101-line);
	border-radius: var(--t101-radius-pill); color: var(--t101-ink-muted);
}

.t101-ev__actions { display: flex; flex-direction: column; align-items: flex-end; gap: var(--t101-sp-2); white-space: nowrap; }
.t101-ev__details, .t101-ev__track, .t101-ev__prepare {
	font-family: var(--t101-font-mono); font-size: var(--t101-fs-xs); text-decoration: none;
	padding: var(--t101-sp-1) var(--t101-sp-3); border-radius: var(--t101-radius-sm); border: 1px solid var(--t101-line); color: var(--t101-ink);
}
.t101-ev__details:hover, .t101-ev__track:hover, .t101-ev__prepare:hover { border-color: var(--t101-brass); color: var(--t101-brass); }
.t101-ev__track.is-on { background: var(--t101-brass-soft); border-color: var(--t101-brass); }
.t101-ev__prepare { background: var(--t101-evergreen); border-color: var(--t101-evergreen); color: var(--t101-paper); }
.t101-ev__prepare:hover { background: var(--t101-evergreen-90); color: var(--t101-paper); }

/* Single. */
.t101-ev-single__top { display: flex; align-items: center; gap: var(--t101-sp-4); margin-bottom: var(--t101-sp-6); }
.t101-ev-single__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--t101-sp-2); }
.t101-ev-single__rel { margin-top: var(--t101-sp-8); }
.t101-ev-single__chip { margin-top: var(--t101-sp-6); }
.t101-ev-single .t101-ev__actions { flex-direction: row; align-items: center; margin-top: var(--t101-sp-6); }

@media (max-width: 720px) {
	.t101-ev { grid-template-columns: auto 1fr; }
	.t101-ev__actions { grid-column: 1 / -1; flex-direction: row; align-items: center; }
}
