/* ============================================================
   営業カレンダー（ミオンなかさと TOP ページ）
   FullCalendar 6 カスタムスタイル
   ============================================================ */

/* ---- セクション ---- */
.mionCalendar {
	padding: 6rem 0;
	position: relative;
	z-index: 2;
	background-color: #fff;
}

.mionCalendar .contents-inner1 {
	max-width: 90rem;
	margin: 0 auto;
	padding: 0 2rem;
}

/* カレンダー本体ラッパー */
#mion-calendar {
	background: #fff;
	border-radius: 0.4rem;
	overflow: hidden;
}

/* ============================================================
   FullCalendar ベーススタイル上書き
   ============================================================ */

/* ---- ツールバー（月ナビ + タイトル）---- */
#mion-calendar .fc-toolbar {
	background: #fff;
	padding: 1.6rem 2rem 1rem;
	margin-bottom: 0;
	align-items: center;
}

/* prev / next ボタン */
#mion-calendar .fc-prev-button,
#mion-calendar .fc-next-button {
	background: transparent;
	border: none;
	color: #4f3407;
	font-size: 2rem;
	padding: 0.4rem 1rem;
	cursor: pointer;
	box-shadow: none;
}

#mion-calendar .fc-prev-button:hover,
#mion-calendar .fc-next-button:hover {
	background: transparent;
	color: #8a7b6a;
	box-shadow: none;
}

#mion-calendar .fc-prev-button:focus,
#mion-calendar .fc-next-button:focus,
#mion-calendar .fc-prev-button:active,
#mion-calendar .fc-next-button:active {
	background: transparent;
	box-shadow: none;
	outline: none;
}

/* タイトル（February / 2月 の二段表示） */
#mion-calendar .fc-toolbar-title {
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.2;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#mion-calendar .fc-title-en {
	font-size: 1.4rem;
	color: #aaa;
	letter-spacing: 0.13em;
	text-transform: capitalize;
}

#mion-calendar .fc-title-ja {
	font-size: 3.2rem;
	color: #3a3528;
	letter-spacing: 0.05em;
}

/* ---- 営業期間バー ---- */
.mion-season-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	background: #fff;
}

.mion-season-bar-img {
	height: auto;
	width: 5rem;
}

.mion-season-bar-text {
	font-size: 1.6rem;
	color: #5a4f42;
	padding-bottom: 1rem;
	background-image: url("data:image/svg+xml,%3Csvg width='8.28' height='2.76' viewBox='0 0 8.28 2.76' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1.38' y1='1.38' x2='3.22' y2='1.38' stroke='%23AF9E7F' stroke-width='2.76' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-position: bottom;
	background-size: 0.828rem 0.276rem;
}

#mion-calendar .fc-view-harness {
	margin-top: 2.5rem;
}

/* ---- 曜日ヘッダー ---- */
#mion-calendar .fc-col-header {
	border-bottom: 0.1rem solid #e0ddd8;
}

#mion-calendar .fc-col-header-cell {
	padding: 0.6rem 0;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.8rem;
	font-weight: normal;
	color: #4f3407;
	background: #faf8f5;
	width: auto;
}

/* 日曜 */
#mion-calendar .fc-col-header-cell.fc-day-sun,
#mion-calendar .fc-col-header-cell.fc-day-sun a {
	color: #ad2a2a;
}

/* 土曜 */
#mion-calendar .fc-col-header-cell.fc-day-sat,
#mion-calendar .fc-col-header-cell.fc-day-sat a {
	color: #0f6674;
}

/* ---- 日付セル ---- */
#mion-calendar .fc-daygrid-day {
	background: #fff;
}

#mion-calendar .fc-daygrid-day-frame {
	min-height: 12.5rem;
}

#mion-calendar .fc-daygrid-day-number {
	font-family: 'Noto Serif JP', serif;
	font-size: 2rem;
	color: #4f3407;
	padding: 0.4rem 0.6rem;
	text-decoration: none;
}

#mion-calendar .fc-daygrid-day-top {
	flex-direction: row;
}

/* 日曜日の日付 */
#mion-calendar .fc-day-sun .fc-daygrid-day-number,
#mion-calendar .fc-day-sun .fc-daygrid-day-number a {
	color: #ad2a2a;
}

/* 土曜日の日付 */
#mion-calendar .fc-day-sat .fc-daygrid-day-number,
#mion-calendar .fc-day-sat .fc-daygrid-day-number a {
	color: #0f6674;
}

/* 今日のセル */
#mion-calendar .fc-day-today {
	background: #fdf8f0 !important;
}

#mion-calendar .fc-day-today .fc-daygrid-day-number {
	font-weight: bold;
}

/* ---- イベントバッジ ---- */
#mion-calendar .fc-daygrid-day-events {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	margin-bottom: 0;
	padding: 0 0.8rem;
	text-align: center;
}

#mion-calendar .fc-event {
	border: none;
	border-radius: 0.3rem;
	padding: 0.1rem 1rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.65;
	cursor: default;
	/* デフォルト色（JS の backgroundColor で上書きされる） */
	background-color: #459A47;
	color: #fff;
}

#mion-calendar .fc-event:hover {
	opacity: 1;
}

#mion-calendar .fc-event-title {
	font-weight: bold;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	white-space: normal;
}


/* ---- 「もっと見る」リンク ---- */
#mion-calendar .fc-daygrid-more-link {
	font-size: 1.2rem;
	color: #888;
}

/* ---- グリッド線 ---- */
#mion-calendar .fc-theme-standard td,
#mion-calendar .fc-theme-standard th {
	border-color: #e8e5e0;
}

/* ---- お食事処営業時間 ---- */
#mion-dining-hours {
	text-align: center;
	margin-bottom: 5rem;
}

.mion-dining-hours-ttl {
	font-size: 3.2rem;
	color: #4f3407;
	letter-spacing: 0.05em;
	margin-bottom: 1.4rem;
}

.mion-dining-hours-text {
	display: flex;
	justify-content: center;
	gap: 3em;
	flex-wrap: wrap;
	font-size: 1.8rem;
	color: #4f3407;
	line-height: 3.6rem;
	letter-spacing: 0.02em;
}

/* ---- スマホ対応 ---- */
@media screen and (max-width: 767px) {
	.mion-dining-hours-text {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}
	.mionCalendar {
		padding: 4rem 0;
	}

	/* カレンダーグリッド部分のみ横スクロール */
	#mion-calendar .fc-view-harness {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 1.3rem;
		/* Firefox */
		scrollbar-width: thin;
		scrollbar-color: #af9e7f #e6e6e6;
	}

	/* Chrome / Safari / Edge */
	#mion-calendar .fc-view-harness::-webkit-scrollbar {
		height: 0.4rem;
	}

	#mion-calendar .fc-view-harness::-webkit-scrollbar-track {
		background: #e6e6e6;
	}

	#mion-calendar .fc-view-harness::-webkit-scrollbar-thumb {
		background: #af9e7f;
		border-radius: 0.2rem;
	}

	/* グリッドに最小幅 */
	#mion-calendar .fc-dayGridMonth-view {
		min-width: 150vw;
	}

	/* FullCalendar 内部スクローラーを無効化して fc-view-harness のスクロールに委ねる */
	#mion-calendar .fc-scroller {
		overflow: visible !important;
		height: auto !important;
	}

	#mion-calendar .fc-scroller-liquid-absolute {
		position: relative !important;
	}
	.mion-dining-hours-ttl {
		font-size: 2.5rem; /* 768px以下: 8px基準 → 20px */
	}

}
