/* MJ Diary – calendar sheet */
.mjd-cal-wrap {
	--mjd-accent: #b8002e;
	--mjd-accent-ink: #fff;
	--mjd-noinfo: #d9d6d0;
	--mjd-noinfo-ink: #5a5650;
	--mjd-empty-ink: #9a968f;
	--mjd-line: #e7e3dc;
	--mjd-paper: #fffdf9;
	max-width: 46rem;
	margin: 0 auto;
}

/* Navigation */
.mjd-cal-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}
.mjd-cal-nav__form { display: flex; gap: .4rem; flex-wrap: wrap; }
.mjd-cal-nav__form select,
.mjd-cal-nav__form button { font: inherit; padding: .3rem .5rem; }
.mjd-cal-nav__arrow {
	font-size: 1.6rem;
	line-height: 1;
	text-decoration: none;
	padding: 0 .4rem;
}
.mjd-cal-nav__arrow.is-disabled { opacity: .25; }

/* Month sheet */
.mjd-cal {
	width: 100%;
	border-collapse: separate;
	border-spacing: 4px;
	table-layout: fixed;
	background: var(--mjd-paper);
	border: 1px solid var(--mjd-line);
	border-radius: 10px;
	padding: .5rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}
.mjd-cal caption {
	font-size: 1.4rem;
	font-weight: 700;
	padding: .4rem 0 .6rem;
	caption-side: top;
}
.mjd-cal caption a { color: inherit; text-decoration: none; }
.mjd-cal th {
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--mjd-empty-ink);
	font-weight: 600;
	padding: .2rem 0;
}
.mjd-day {
	text-align: center;
	padding: 0;
	height: 3rem;
	border-radius: 6px;
	font-variant-numeric: tabular-nums;
}
.mjd-day > a,
.mjd-day > span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 6px;
	text-decoration: none;
}

/* States */
.mjd-day.has-entry > a {
	background: var(--mjd-accent);
	color: var(--mjd-accent-ink);
	font-weight: 700;
}
.mjd-day.has-entry > a:hover,
.mjd-day.has-entry > a:focus-visible { filter: brightness(1.15); outline: 2px solid var(--mjd-accent); outline-offset: 2px; }
.mjd-day.no-info > a {
	background: var(--mjd-noinfo);
	color: var(--mjd-noinfo-ink);
}
.mjd-day.is-empty > span {
	color: var(--mjd-empty-ink);
	border: 1px dashed var(--mjd-line);
}
.mjd-day.is-outside > span { color: transparent; }

/* Entry exists only in the default language (English): striped + small "EN" */
.mjd-day.is-fallback > a {
	position: relative;
	background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .28) 0 3px, transparent 3px 7px);
}
.mjd-day.is-fallback > a::after {
	content: "EN";
	position: absolute;
	top: 2px;
	right: 3px;
	font-size: .5rem;
	font-weight: 700;
	line-height: 1;
	opacity: .85;
}
.mjd-cal--mini .mjd-day.is-fallback > a::after { display: none; }
.mjd-swatch.is-fallback {
	background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .45) 0 2px, transparent 2px 4px);
}

/* Year view: 12 mini sheets */
.mjd-year {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
	gap: 1rem;
}
.mjd-cal--mini { border-spacing: 2px; padding: .35rem; }
.mjd-cal--mini caption { font-size: 1rem; padding: .2rem 0 .3rem; }
.mjd-cal--mini th { font-size: .6rem; }
.mjd-cal--mini .mjd-day { height: 1.6rem; font-size: .75rem; }
.mjd-cal--mini .mjd-day > a,
.mjd-cal--mini .mjd-day > span { border-radius: 3px; }

/* Legend */
.mjd-legend {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	justify-content: center;
	padding: 0;
	margin: 1rem 0 0;
	font-size: .85rem;
}
.mjd-legend li { display: flex; align-items: center; gap: .4rem; }
.mjd-swatch { width: 1rem; height: 1rem; border-radius: 3px; display: inline-block; }
.mjd-swatch.has-entry { background: var(--mjd-accent); }
.mjd-swatch.no-info { background: var(--mjd-noinfo); }
.mjd-swatch.is-empty { border: 1px dashed var(--mjd-empty-ink); }

/* Single day */
.mjd-dayinfo__meta { font-weight: 600; opacity: .8; }
.mjd-dayinfo__note { font-style: italic; }
.mjd-sources { margin-top: 2rem; font-size: .9rem; }
.mjd-daynav { display: flex; justify-content: space-between; margin-top: 2rem; gap: 1rem; }
.mjd-daynav__next { margin-left: auto; }

@media (max-width: 480px) {
	.mjd-day { height: 2.4rem; font-size: .9rem; }
	.mjd-cal { border-spacing: 2px; }
}
