/* ==========================================================================
   MidNightCafe Novel Link Cards (v1.0.4)
   ========================================================================== */

/* カード外枠 */
.mnclc-card {
	display: block !important;
	max-width: 820px !important;
	margin: 40px auto !important;
	border-radius: 8px !important;
	background: #faf7f0 !important;
	box-shadow: 0 12px 35px rgba(24, 38, 30, 0.07), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
	border: 1px solid rgba(36, 39, 34, 0.12) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.mnclc-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 18px 45px rgba(24, 38, 30, 0.12), 0 4px 10px rgba(0, 0, 0, 0.06) !important;
}

/* カード内リンク（左右2カラムグリッド：垂直中央揃えで黄金バランス） */
.mnclc-card__link {
	display: grid !important;
	grid-template-columns: 220px 1fr !important;
	gap: 40px !important;
	padding: 36px 40px !important;
	box-sizing: border-box !important;
	align-items: center !important;
	text-decoration: none !important;
	color: inherit !important;
	border: none !important;
	outline: none !important;
	background: transparent !important;
}

.mnclc-card__link:hover,
.mnclc-card__link:focus,
.mnclc-card__link:active {
	text-decoration: none !important;
	border: none !important;
}

/* --------------------------------------------------------------------------
   左側：文庫本表紙ステージ
   -------------------------------------------------------------------------- */
.mnclc-card__visual {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* 文庫本本体（A6黄金比率 1 : 1.414） */
.mnclc-book {
	position: relative !important;
	width: 100% !important;
	max-width: 220px !important;
	aspect-ratio: 1 / 1.414 !important;
	height: auto !important;
	margin: 0 auto !important;
	border-radius: 3px 6px 6px 3px !important;
	overflow: hidden !important;
	background: #15221b !important;
	box-sizing: border-box !important;
	/* 右端の小口（生成り色の紙束厚み）と重厚な落ち影 */
	box-shadow:
		inset -6px 0 0 rgba(248, 243, 233, 0.95),
		inset -9px 0 0 rgba(210, 198, 178, 0.6),
		inset 4px 0 6px rgba(0, 0, 0, 0.4),
		6px 12px 24px rgba(0, 0, 0, 0.16),
		16px 24px 44px rgba(15, 28, 20, 0.24) !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* 表紙写真 */
.mnclc-book img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: inherit !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	filter: saturate(0.98) contrast(1.02) !important;
	transition: transform 0.4s ease !important;
}

/* 背表紙の丸み＆折り返し溝＆マットPP紙光沢（左側擬似要素） */
.mnclc-book::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 5 !important;
	pointer-events: none !important;
	border-radius: inherit !important;
	background:
		linear-gradient(to right,
			rgba(0, 0, 0, 0.45) 0px,
			rgba(0, 0, 0, 0.08) 5px,
			rgba(255, 255, 255, 0.28) 8px,
			rgba(0, 0, 0, 0.25) 12px,
			rgba(0, 0, 0, 0.04) 18px,
			transparent 30px
		),
		linear-gradient(to left,
			rgba(0, 0, 0, 0.25) 0px,
			transparent 8px
		),
		linear-gradient(135deg,
			rgba(255, 255, 255, 0.15) 0%,
			rgba(255, 255, 255, 0.02) 35%,
			transparent 65%
		) !important;
}

/* 表紙上の文字オーバーレイ */
.mnclc-book__overlay {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 22px 18px 22px 24px !important;
	writing-mode: horizontal-tb !important;
	-webkit-writing-mode: horizontal-tb !important;
	background: radial-gradient(
		circle at 50% 50%,
		rgba(8, 16, 12, 0.25) 0%,
		rgba(8, 16, 12, 0.55) 75%,
		rgba(8, 16, 12, 0.82) 100%
	) !important;
	z-index: 6 !important;
	pointer-events: none !important;
	box-sizing: border-box !important;
}

/* 上部：シリーズ名（HEISHIN等） */
.mnclc-book__series,
.mnclc-book__overlay small {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 11px !important;
	color: #d7cfbf !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.95) !important;
	margin: 0 auto !important;
	align-self: center !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	line-height: 1 !important;
}

/* 中央：縦書きタイトル ＆ 装飾アクセント（改行防止・1行縦書き維持） */
.mnclc-book__title {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	writing-mode: vertical-rl !important;
	-webkit-writing-mode: vertical-rl !important;
	-ms-writing-mode: tb-rl !important;
	white-space: nowrap !important;
	font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
	font-weight: 500 !important;
	font-size: 17px !important;
	line-height: 1.8 !important;
	letter-spacing: 0.16em !important;
	color: #ffffff !important;
	text-shadow:
		0 1px 3px rgba(0, 0, 0, 0.95),
		0 2px 14px rgba(0, 0, 0, 0.9) !important;
	margin: auto !important;
	height: auto !important;
	max-height: none !important;
	padding: 20px 4px !important;
	overflow: visible !important;
	text-align: center !important;
}

/* タイトル上部の飾り（◆ 菱形ダイヤアクセント） */
.mnclc-book__title::before {
	content: "◆" !important;
	position: absolute !important;
	top: -4px !important;
	right: 50% !important;
	transform: translateX(50%) !important;
	font-size: 8px !important;
	color: #e5d8be !important;
	text-shadow: 0 0 6px rgba(229, 216, 190, 0.8), 0 1px 3px rgba(0, 0, 0, 0.9) !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	writing-mode: horizontal-tb !important;
	-webkit-writing-mode: horizontal-tb !important;
}

/* タイトル下部の飾り（◆ 菱形ダイヤアクセント） */
.mnclc-book__title::after {
	content: "◆" !important;
	position: absolute !important;
	bottom: -4px !important;
	right: 50% !important;
	transform: translateX(50%) !important;
	font-size: 8px !important;
	color: #e5d8be !important;
	text-shadow: 0 0 6px rgba(229, 216, 190, 0.8), 0 1px 3px rgba(0, 0, 0, 0.9) !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	writing-mode: horizontal-tb !important;
	-webkit-writing-mode: horizontal-tb !important;
}

.mnclc-book__title ruby {
	ruby-align: center !important;
	ruby-position: over !important;
}

.mnclc-book__title rt {
	font-size: 0.5em !important;
	letter-spacing: 0.05em !important;
	color: #f0e6d6 !important;
	line-height: 1 !important;
}

/* 下部：レーベル名（MidNightCafe：白枠なし・洗練されたセリフ書体） */
.mnclc-book__label,
.mnclc-book__overlay span {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 10px !important;
	letter-spacing: 0.28em !important;
	color: #f4eee2 !important;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.95) !important;
	margin: 0 auto !important;
	align-self: center !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	line-height: 1 !important;
}

/* ホバー時の本の浮遊エフェクト */
.mnclc-card:hover .mnclc-book {
	transform: translateY(-5px) !important;
	box-shadow:
		inset -6px 0 0 rgba(250, 245, 235, 0.98),
		inset -9px 0 0 rgba(215, 202, 182, 0.65),
		inset 4px 0 6px rgba(0, 0, 0, 0.45),
		8px 16px 28px rgba(0, 0, 0, 0.18),
		22px 34px 55px rgba(15, 28, 20, 0.28) !important;
}

.mnclc-card:hover .mnclc-book img {
	transform: scale(1.02) !important;
	filter: saturate(1.02) brightness(1.02) !important;
}

/* --------------------------------------------------------------------------
   右側：作品テキストエリア（シリーズ名 ➔ タイトル ➔ 抜粋文 ➔ 読むボタン）
   -------------------------------------------------------------------------- */
.mnclc-card__body {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* シリーズ名タグ（端正な文学的タグスタイル） */
.mnclc-card__series {
	align-self: flex-start !important;
	margin: 0 0 14px !important;
	padding: 4px 12px !important;
	border-radius: 4px !important;
	background: rgba(39, 87, 72, 0.08) !important;
	color: #275748 !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	line-height: 1.3 !important;
}

/* 作品タイトル（ゆったりと品格ある明朝体） */
.mnclc-card__title {
	margin: 0 0 16px !important;
	padding: 0 !important;
	color: #1a1e1c !important;
	font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
	font-weight: 500 !important;
	font-size: 25px !important;
	line-height: 1.42 !important;
	letter-spacing: 0.06em !important;
	transition: color 0.3s ease !important;
}

.mnclc-card__title ruby {
	ruby-position: over !important;
	ruby-align: center !important;
}

.mnclc-card__title rt {
	font-size: 0.48em !important;
	color: #6d7570 !important;
	font-weight: 400 !important;
	letter-spacing: 0.05em !important;
}

.mnclc-card:hover .mnclc-card__title {
	color: #275748 !important;
}

/* 抜粋文（繊細な行間と落ち着いたトーン） */
.mnclc-card__synopsis {
	display: -webkit-box !important;
	overflow: hidden !important;
	margin: 0 0 24px !important;
	color: #525a55 !important;
	font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
	font-size: 13.5px !important;
	line-height: 1.9 !important;
	letter-spacing: 0.04em !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 3 !important;
}

/* --------------------------------------------------------------------------
   抜粋文の下：「読む」ボタン（テキスト中央 ＆ 矢印右寄せ配置）
   -------------------------------------------------------------------------- */
.mnclc-card__action {
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mnclc-card__cta {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	padding: 14px 48px 14px 28px !important;
	background: #183d32 !important;
	color: #ffffff !important;
	border: 1px solid #183d32 !important;
	border-radius: 4px !important;
	font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.16em !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.mnclc-card__cta-arrow {
	position: absolute !important;
	right: 24px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-family: "Hiragino Sans", "Yu Gothic", sans-serif !important;
	font-size: 14px !important;
	line-height: 1 !important;
	transition: transform 0.25s ease !important;
}

.mnclc-card:hover .mnclc-card__cta {
	background: #275748 !important;
	border-color: #275748 !important;
	box-shadow: 0 6px 20px rgba(24, 61, 50, 0.25) !important;
	transform: translateY(-2px) !important;
}

.mnclc-card:hover .mnclc-card__cta .mnclc-card__cta-arrow {
	transform: translateY(-50%) translateX(5px) !important;
}

/* --------------------------------------------------------------------------
   ダークモード対応
   -------------------------------------------------------------------------- */
html[data-theme="dark"] .mnclc-card {
	background: #1b211e !important;
	border-color: rgba(239, 234, 220, 0.12) !important;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35) !important;
}

html[data-theme="dark"] .mnclc-card__series {
	background: rgba(135, 169, 152, 0.15) !important;
	color: #87a998 !important;
}

html[data-theme="dark"] .mnclc-card__title {
	color: #ede8dc !important;
}

html[data-theme="dark"] .mnclc-card:hover .mnclc-card__title {
	color: #92b8a5 !important;
}

html[data-theme="dark"] .mnclc-card__synopsis {
	color: #a8aea5 !important;
}

html[data-theme="dark"] .mnclc-card__cta {
	background: #275748 !important;
	color: #ede8dc !important;
	border-color: #275748 !important;
}

html[data-theme="dark"] .mnclc-card:hover .mnclc-card__cta {
	background: #34705e !important;
	border-color: #34705e !important;
	box-shadow: 0 6px 20px rgba(52, 112, 94, 0.35) !important;
}

/* --------------------------------------------------------------------------
   レスポンシブ（スマホ・モバイル：縦積み1カラムでゆったり配置）
   -------------------------------------------------------------------------- */
@media (max-width: 680px) {
	.mnclc-card {
		margin: 28px auto !important;
		border-radius: 12px !important;
	}

	.mnclc-card__link {
		display: flex !important;
		flex-direction: column !important;
		gap: 24px !important;
		padding: 30px 22px 26px !important;
		align-items: center !important;
	}

	.mnclc-card__visual {
		width: 100% !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		padding: 6px 0 !important;
	}

	.mnclc-book {
		width: 100% !important;
		max-width: 200px !important;
		aspect-ratio: 1 / 1.414 !important;
		border-radius: 3px 6px 6px 3px !important;
		box-shadow:
			inset -6px 0 0 rgba(248, 243, 233, 0.95),
			inset -8px 0 0 rgba(210, 198, 178, 0.6),
			inset 3px 0 5px rgba(0, 0, 0, 0.4),
			6px 12px 24px rgba(0, 0, 0, 0.16),
			14px 22px 40px rgba(15, 28, 20, 0.24) !important;
	}

	.mnclc-book__overlay {
		padding: 20px 16px 18px 20px !important;
	}

	.mnclc-book__series,
	.mnclc-book__overlay small {
		font-size: 10px !important;
		letter-spacing: 0.22em !important;
	}

	.mnclc-book__title {
		font-size: 15.5px !important;
		letter-spacing: 0.16em !important;
		line-height: 1.8 !important;
		white-space: nowrap !important;
		max-height: none !important;
		height: auto !important;
		padding: 18px 4px !important;
	}

	.mnclc-book__title::before,
	.mnclc-book__title::after {
		font-size: 7px !important;
	}

	.mnclc-book__title::before {
		top: -4px !important;
	}

	.mnclc-book__title::after {
		bottom: -4px !important;
	}

	.mnclc-book__label,
	.mnclc-book__overlay span {
		font-size: 9.5px !important;
		letter-spacing: 0.24em !important;
	}

	.mnclc-card__body {
		width: 100% !important;
		display: flex !important;
		flex-direction: column !important;
	}

	.mnclc-card__series {
		align-self: flex-start !important;
		margin: 0 0 16px !important;
		font-size: 10.5px !important;
		padding: 3px 12px !important;
	}

	.mnclc-card__title {
		font-size: 22px !important;
		line-height: 1.45 !important;
		margin: 0 0 12px !important;
		padding-top: 2px !important;
	}

	.mnclc-card__synopsis {
		font-size: 13.5px !important;
		line-height: 1.85 !important;
		-webkit-line-clamp: 3 !important;
		margin: 0 0 22px !important;
	}

	.mnclc-card__action {
		width: 100% !important;
	}

	.mnclc-card__cta {
		width: 100% !important;
		font-size: 14.5px !important;
		padding: 13px 42px 13px 24px !important;
	}

	.mnclc-card__cta-arrow {
		right: 18px !important;
	}
}

/* --------------------------------------------------------------------------
   お知らせ・記事ページの日付（headerメニューと共通のフォント・13px・右寄せ）
   -------------------------------------------------------------------------- */
.content-page header time,
.content-page time,
.content-page-date,
time.content-page-date,
article.post header time,
article.post time,
.article-date,
header time {
	display: block !important;
	text-align: right !important;
	font-family: "Hiragino Sans", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: 13px !important;
	color: #6d7068 !important;
	letter-spacing: 0.05em !important;
	margin-top: 14px !important;
	margin-bottom: 24px !important;
}
