/**
 * 営業日カレンダー - フロント用スタイル
 * 超シンプル・ライン有無・サンプル画像風
 */

.bdc-wrapper {
	--bdc-line-color: #e0e0e0;
	max-width: 100%;
	
}

.bdc-widget-title {
	margin: 0 0 0.5em;
	font-size: 1.6rem;
}

.bdc-calendar-wrap {
	position: relative;
	background: #fafaf8;
	border-radius: 4px;
	padding: 1em;
}

/* 年・月ヘッダー（サンプル1風: 年は小さく、月は大きく太く） */
.bdc-header {
	margin-bottom: 0.75em;
	display: flex;
	align-items: baseline;
	gap: 0.25em;
}

.bdc-year {
	font-size: 1.6rem;
	font-weight: 400;
	color: #666;
}

.bdc-month {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
}

/* テーブル：ライン無しがデフォルト */
.bdc-table {
	width: 100%;
	table-layout: fixed;
}
.bdc-table {
  border-collapse: separate; /* 隙間を有効にする */
  border-spacing: 2px;      /* 隙間の幅（上下左右共通） */
  border: none;              /* テーブルの枠線を無し */
}

.bdc-table td, .bdc-table th {
  border: none;              /* セルの枠線を無し */
}
.bdc-table th,
.bdc-table td {
	text-align: center;
	vertical-align: middle;
	padding: 0.4em 0.2em;
	font-size: 1.2rem;
}

.bdc-table th {
	font-weight: 600;
	font-size: 1rem;
	color: #555;
}

.bdc-table td.bdc-empty {
	background: transparent;
}

.bdc-table td.bdc-day {
	border: none;
}

.bdc-table td.bdc-day a {
	text-decoration: none;
	color: inherit;
	display: block;
}

/* ラインあり時：極細ボーダー */

.bdc-table.bdc-has-lines {
	border-collapse: collapse;
}
.bdc-table.bdc-has-lines th,
.bdc-table.bdc-has-lines td {
	border: 1px solid var(--bdc-line-color);
}

.bdc-table.bdc-has-lines td.bdc-empty {
	border-color: var(--bdc-line-color);
}

/* 色タイプ：背景 */
.bdc-day.bdc-color-background {
	/* background はインラインで指定 */
}

/* 色タイプ：文字 */
.bdc-day.bdc-color-text {
	background: transparent !important;
}

/* 前月・次月ナビ */
.bdc-nav {
	margin-top: 0.75em;
	display: flex;
	justify-content: center;
	gap: 1em;
}

.bdc-nav button {
	background: transparent;
	border: 1px solid var(--bdc-line-color, #e0e0e0);
	border-radius: 4px;
	width: 2em;
	height: 2em;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	color: #555;
	transition: background 0.15s, color 0.15s;
	padding: 0;
}

.bdc-nav button:hover:not(:disabled) {
	background: #eee;
	color: #1a1a1a;
}

.bdc-nav button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* カレンダー下の説明・凡例 */
.bdc-description {
	margin-top: 1em;
	padding-top: 0.75em;
}

.bdc-description p {
	margin: 0 0 0.5em;
}

.bdc-description p:last-child {
	margin-bottom: 0;
}

/* 凡例（色の四角 + ラベル） */
.bdc-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	margin-right: 1em;
	margin-bottom: 0.25em;
}

.bdc-legend-swatch {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 2px;
	flex-shrink: 0;
}
