/* イベントカレンダー（/event/ アーカイブ用） */
.mk-cal {
	--mk-cal-line: #e5ddd0;
	--mk-cal-bg: #fff;
	--mk-cal-text: #2b2b2b;
	--mk-cal-muted: #6b6b6b;
	--mk-cal-ev-bg: #f4f1e8;
	--mk-cal-ev-text: #1f1f1f;
	--mk-cal-past-bg: #f2f2f2;
	--mk-cal-past-text: #555;
	--mk-cal-accent: #6b8e5a;   /* サイトのメインカラーに合わせて変更 */
	--mk-cal-today: #fbf6e9;
	--mk-cal-sun: #c0392b;
	--mk-cal-sat: #2e6da4;

	position: relative;
	max-width: 960px;
	margin: 0 auto 48px;
	color: var(--mk-cal-text);
	font-size: 14px;
}

.mk-cal__head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	margin-bottom: 12px;
}
.mk-cal__title {
	margin: 0;
	min-width: 8em;
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
	letter-spacing: .05em;
}
.mk-cal__nav {
	width: 40px;
	height: 40px;
	border: 1px solid var(--mk-cal-line);
	border-radius: 50%;
	background: var(--mk-cal-bg);
	color: var(--mk-cal-text);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
.mk-cal__nav:hover:not(:disabled) { border-color: var(--mk-cal-accent); color: var(--mk-cal-accent); }
.mk-cal__nav:disabled { opacity: .3; cursor: default; }
.mk-cal__today {
	position: absolute;
	top: 6px;
	right: 0;
	padding: 4px 12px;
	border: 1px solid var(--mk-cal-line);
	border-radius: 999px;
	background: var(--mk-cal-bg);
	color: var(--mk-cal-text);
	font-size: 12px;
	cursor: pointer;
}

.mk-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	border-top: 1px solid var(--mk-cal-line);
	border-left: 1px solid var(--mk-cal-line);
}
.mk-cal__wd,
.mk-cal__cell {
	border-right: 1px solid var(--mk-cal-line);
	border-bottom: 1px solid var(--mk-cal-line);
	background: var(--mk-cal-bg);
}
.mk-cal__wd {
	padding: 6px 0;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
}
.mk-cal__wd--0 { color: var(--mk-cal-sun); }
.mk-cal__wd--6 { color: var(--mk-cal-sat); }

.mk-cal__cell {
	min-height: 96px;
	padding: 4px;
	min-width: 0;
}
.mk-cal__cell--empty { background: #faf8f4; }
.mk-cal__cell.is-today { background: var(--mk-cal-today); }
.mk-cal__cell.is-past .mk-cal__day { color: #8a8a8a; }
.mk-cal__cell--0.is-past .mk-cal__day { color: #c98a83; }
.mk-cal__cell--6.is-past .mk-cal__day { color: #7f9fbd; }

.mk-cal__day {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	color: inherit;
	font: inherit;
	font-size: 13px;
}
.mk-cal__cell--0 .mk-cal__day { color: var(--mk-cal-sun); }
.mk-cal__cell--6 .mk-cal__day { color: var(--mk-cal-sat); }
.mk-cal__cell.is-today .mk-cal__day { background: var(--mk-cal-accent); color: #fff; font-weight: bold; }
button.mk-cal__day { cursor: pointer; }

.mk-cal__evs {
	margin: 2px 0 0;
	padding: 0;
	list-style: none;
}
.mk-cal__evs li { margin: 0 0 3px; }
/* テーマのリンク色・透明度に上書きされないよう詳細度を上げています */
.mk-cal a.mk-cal__ev,
.mk-cal a.mk-cal__ev:visited {
	padding: 3px 6px;
	border-left: 3px solid var(--mk-cal-accent);
	border-radius: 2px;
	background: var(--mk-cal-ev-bg);
	color: var(--mk-cal-ev-text);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.45;
	text-decoration: none;
	opacity: 1;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.mk-cal a.mk-cal__ev:hover,
.mk-cal a.mk-cal__ev:focus-visible { background: #e8e2d0; color: #000; text-decoration: underline; opacity: 1; }
/* 終了したイベント：薄くせず、背景をグレーにして区別 */
.mk-cal .is-past a.mk-cal__ev,
.mk-cal .is-past a.mk-cal__ev:visited { background: var(--mk-cal-past-bg); color: var(--mk-cal-past-text); font-weight: normal; }
.mk-cal__dots { display: none; }
.mk-cal__dot {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 1px;
	border-radius: 50%;
	background: var(--mk-cal-accent);
}

/* カテゴリ別の色（スラッグに合わせて変更・追加してください） */
.mk-cal__ev--music   { border-color: #c7893a; } .mk-cal__dot.mk-cal__ev--music   { background: #c7893a; }
.mk-cal__ev--food    { border-color: #6b8e5a; } .mk-cal__dot.mk-cal__ev--food    { background: #6b8e5a; }
.mk-cal__ev--beauty  { border-color: #c96d8a; } .mk-cal__dot.mk-cal__ev--beauty  { background: #c96d8a; }
.mk-cal__ev--study   { border-color: #4f7fa8; } .mk-cal__dot.mk-cal__ev--study   { background: #4f7fa8; }
.mk-cal__ev--art     { border-color: #8a63a8; } .mk-cal__dot.mk-cal__ev--art     { background: #8a63a8; }
.mk-cal__ev--healing { border-color: #4fa89a; } .mk-cal__dot.mk-cal__ev--healing { background: #4fa89a; }

/* カテゴリ別アーカイブで絞り込み中の表示 */
.mk-cal__filter { margin: 0 0 10px; text-align: center; font-size: 13px; color: var(--mk-cal-muted); }

/* 日付をクリックしたときの一覧 */
.mk-cal__detail:empty { display: none; }
.mk-cal__detail {
	margin-top: 12px;
	padding: 14px 16px;
	border: 1px solid var(--mk-cal-line);
	border-radius: 6px;
	background: var(--mk-cal-bg);
}
.mk-cal__detail-date { margin: 0 0 8px; font-weight: bold; }
.mk-cal__detail ul { margin: 0; padding: 0; list-style: none; }
.mk-cal__detail li { padding: 6px 0; border-top: 1px dashed var(--mk-cal-line); }
.mk-cal__detail li:first-child { border-top: 0; }
.mk-cal__detail a { color: var(--mk-cal-text); font-weight: bold; }
.mk-cal__cat {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #f3f1ea;
	font-size: 11px;
}

/* スマホ：セル内はドット表示、日付タップで下に一覧 */
@media (max-width: 640px) {
	.mk-cal__today { position: static; display: block; margin: 0 auto 10px; }
	.mk-cal__cell { min-height: 54px; padding: 2px; text-align: center; }
	.mk-cal__evs { display: none; }
	.mk-cal__dots { display: block; line-height: 1; }
	.mk-cal__cell.has-event .mk-cal__day { font-weight: bold; }
	.mk-cal__cell.is-selected { background: #efe9da; }
}
