/* ふれーゆ営業カレンダー — 表示スタイル
   元の運営カレンダー画像の配色に忠実に合わせる */

.fureyu-cal {
	--navy: #0d2b4e;
	--teal: #15e0b0;
	--line: #d8dde3;
	--sun: #e23b3b;
	--sat: #2f6fe0;
	--short-bg: #dbe4f0;   /* 時短営業 */
	--weekend-bg: #fcefcf; /* 土日祝 */
	--closed-bg: #f8d7bd;  /* 休館日 */
	--special-bg: #fff36b; /* 臨時休館（本文） */
	--special-bar: #ff2d2d;/* 臨時休館（帯） */

	max-width: 960px;
	margin: 0 auto;
	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
	color: var(--navy);
}

.fureyu-cal__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 10px;
	border-bottom: 4px solid var(--teal);
	flex-wrap: wrap;
}
.fureyu-cal__title { display: flex; align-items: baseline; gap: 10px; }
.fureyu-cal__num { font-size: 52px; font-weight: 800; line-height: 1; }
.fureyu-cal__en { font-size: 22px; font-weight: 700; letter-spacing: .04em; }
.fureyu-cal__year { font-size: 15px; color: #4a5b6e; }

.fureyu-cal__legend { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; font-size: 12px; }
.fureyu-cal__legend li { padding: 4px 10px; border-radius: 4px; font-weight: 600; }
.fureyu-cal__legend .lg-normal { background: #fff; border: 1px solid var(--line); }
.fureyu-cal__legend .lg-short { background: var(--short-bg); }
.fureyu-cal__legend .lg-weekend { background: var(--weekend-bg); }

.fureyu-cal__grid { width: 100%; border-collapse: collapse; margin-top: 12px; table-layout: fixed; }
.fureyu-cal__grid th {
	padding: 8px 0;
	font-size: 14px;
	border-bottom: 2px solid var(--teal);
	background: #fff;
}
.fureyu-cal__grid th.is-sun { color: var(--sun); }
.fureyu-cal__grid th.is-sat { color: var(--sat); }

.fureyu-cal__grid td {
	border: 1px solid var(--line);
	height: 84px;
	vertical-align: top;
	padding: 4px 6px;
	background: #fff;
	overflow: hidden;
}
.fureyu-cal__grid td.is-empty { background: #f6f7f9; }

.fureyu-cal__d { display: block; font-size: 15px; font-weight: 700; }
.fureyu-cal__day.is-sun .fureyu-cal__d { color: var(--sun); }
.fureyu-cal__day.is-sat .fureyu-cal__d { color: var(--sat); }
.fureyu-cal__label { display: block; font-size: 11px; font-weight: 700; margin-top: 2px; }
.fureyu-cal__hours { display: block; font-size: 13px; font-weight: 600; margin-top: 2px; }

/* 区分ごとの背景 */
.fureyu-cal__day.type-short { background: var(--short-bg); }
.fureyu-cal__day.type-weekend { background: var(--weekend-bg); }
.fureyu-cal__day.type-closed { background: var(--closed-bg); }
.fureyu-cal__day.type-closed .fureyu-cal__label { color: var(--navy); }

/* 臨時休館（例外・closed かつ label が「休館日」以外）— 帯＋黄色本文 */
.fureyu-cal__day.type-closed.is-special { background: var(--special-bg); }

.fureyu-cal__notes { margin-top: 14px; font-size: 12px; line-height: 1.7; color: #3a4a5c; }

@media (max-width: 600px) {
	.fureyu-cal__grid td { height: 64px; padding: 3px; }
	.fureyu-cal__hours { font-size: 11px; }
	.fureyu-cal__num { font-size: 40px; }
}

/* カフェ表示（カフェモジュール有効時のみ出力される） */
.fureyu-cal__cafe { display: block; font-size: 10px; color: #4a5b6e; margin-top: 2px; border-top: 1px dashed var(--line); padding-top: 2px; }
.fureyu-cal__cafe-notes { margin-top: 4px; font-size: 13px; font-weight: 600; }
.fureyu-cal__cafe-notes .is-weekend { color: var(--sun); }
