.bcs-calendar {
	--bcs-font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", "Segoe UI", sans-serif;
	--bcs-border: #e5e5e5;
	--bcs-text: #2b2b2b;
	--bcs-muted: #9a9a9a;
	--bcs-bg: #ffffff;
	--bcs-accent: #2b2b2b;

	font-family: var(--bcs-font);
	color: var(--bcs-text);
	background: var(--bcs-bg);
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	border: 1px solid var(--bcs-border);
	border-radius: 10px;
	padding: 20px;
	box-sizing: border-box;
	transition: opacity .15s ease;
}

.bcs-calendar.bcs-loading {
	opacity: .45;
	pointer-events: none;
}

.bcs-title {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .04em;
	margin-bottom: 10px;
	color: var(--bcs-text);
	background: #ffffff;
}

.bcs-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
	background: #ffffff;
}

.bcs-yearmonth {
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .05em;
	background: #ffffff;
}

.bcs-nav {
	appearance: none;
	border: 1px solid var(--bcs-border);
	background: #ffffff;
	color: var(--bcs-text);
	width: 30px;
	height: 30px;
	border-radius: 50%;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}

.bcs-nav:hover:not(:disabled) {
	background: var(--bcs-accent);
	color: #fff;
}

.bcs-nav:disabled {
	opacity: .25;
	cursor: default;
}

.bcs-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	background: #ffffff;
}

.bcs-table th {
	font-size: 11px;
	font-weight: 500;
	color: var(--bcs-muted) !important;
	padding-bottom: 8px;
	text-align: center;
	letter-spacing: .05em;
	background: #ffffff !important;
}

.bcs-table th.bcs-w-sun { color: #c0392b !important; }
.bcs-table th.bcs-w-sat { color: #2d6ca2 !important; }

.bcs-table td {
	text-align: center;
	vertical-align: middle;
	padding: 3px;
	aspect-ratio: 1 / 1;
	height: auto;
	border-top: 1px solid #f2f2f2;
	position: relative;
	background: #ffffff;
}

.bcs-daynum {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	font-size: 13px;
	border-radius: 50%;
	background: #ffffff;
}

.bcs-day.bcs-w-sun .bcs-daynum { color: #c0392b; }
.bcs-day.bcs-w-sat .bcs-daynum { color: #2d6ca2; }
.bcs-day.bcs-holiday .bcs-daynum { color: #c0392b; }

.bcs-day.bcs-highlight .bcs-daynum {
	background-color: var(--bcs-cell-color, #eee);
	color: var(--bcs-cell-text, #ffffff);
	font-weight: 600;
}

.bcs-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid var(--bcs-border);
	font-size: 12px;
	color: var(--bcs-muted);
	background: #ffffff;
}

.bcs-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #ffffff;
}

.bcs-dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

@media ( max-width: 650px ) {
	.bcs-calendar {
		max-width: 100%;
		padding: 14px;
		border-radius: 0;
		border-left: none;
		border-right: none;
	}
}

/* ブロックエディタのプレビュー内では前月/次月ボタンが機能しないため、
   クリックがブロック選択に使われるようポインターイベントを無効化する */
.wp-block-bcs-biz-calendar .bcs-nav {
	pointer-events: none;
}
