/* ========================================
   8. 日記
======================================== */


/* ========================================
   8-1. 日記アーカイブ：全体
======================================== */

.diary-archive-page {
	width: calc(100% - 32px);
	max-width: 1100px;
	margin: 0 auto 40px;
	padding: 30px;

	background: rgba(251, 250, 243, 0.96);

	border: 1px solid rgba(83, 102, 50, 0.28);

	box-shadow:
		2px 2px 0 rgba(83, 102, 50, 0.18),
		inset 0 0 24px rgba(217, 232, 167, 0.08);

	box-sizing: border-box;
}


/* ========================================
   8-2. 日記アーカイブ：2カラム
======================================== */

.diary-archive-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 250px;
	align-items: start;

	gap: 28px;

	width: 100%;
}


.diary-archive-main {
	min-width: 0;
}


.diary-sidebar {
	display: flex;
	flex-direction: column;

	gap: 18px;

	min-width: 0;
}


/* ========================================
   8-3. 日記一覧
======================================== */


.diary-archive-page .diary-list .wp-block-post {
	margin: 0 0 24px !important;
	padding: 22px 24px !important;

	background: rgba(255, 255, 255, 0.78) !important;

	border-top: 2px solid rgba(255, 255, 255, 0.95) !important;
	border-left: 2px solid rgba(255, 255, 255, 0.95) !important;
	border-right: 2px solid rgba(83, 102, 50, 0.42) !important;
	border-bottom: 2px solid rgba(83, 102, 50, 0.42) !important;

	box-shadow:
		2px 2px 0 rgba(83, 102, 50, 0.13),
		inset 0 0 18px rgba(217, 232, 167, 0.07) !important;

	box-sizing: border-box;
}


/* 最後の記事だけ下余白なし */
.diary-archive-page .diary-list .wp-block-post:last-child {
	margin-bottom: 0 !important;
}


/* 中の diary-window はレイアウトだけ担当 */
.diary-archive-page .diary-list .diary-window {
	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* ----------------------------------------
   タイトル
---------------------------------------- */

.diary-archive-page .diary-window .wp-block-post-title {
	margin-top: 0;
	margin-bottom: 7px;

	line-height: 1.45;
}


.diary-archive-page .diary-window .wp-block-post-title a {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}


/* ----------------------------------------
   投稿日
---------------------------------------- */

.diary-archive-page .diary-entry-date {
	display: block;

	margin: 0 0 10px;

	color: rgba(83, 102, 50, 0.72);

	font-size: 0.72rem;
	line-height: 1.4;
	letter-spacing: 0.08em;

	text-align: left;
}


/* ----------------------------------------
   本文プレビュー
---------------------------------------- */

.diary-archive-page .wp-block-post-excerpt,
.diary-archive-page .diary-preview-wrap {
	display: block;

	margin: 0;
}


.diary-archive-page .diary-preview {
	display: block;

	margin: 0;

	font-size: 0.88rem;
	line-height: 1.85;

	text-align: left;
}


.diary-archive-page .diary-preview--full > :first-child {
	margin-top: 0;
}


.diary-archive-page .diary-preview--full > :last-child {
	margin-bottom: 0;
}


.diary-archive-page .diary-preview__text {
	margin: 0;
}


/* ----------------------------------------
   続きをよむ
---------------------------------------- */

.diary-archive-page .diary-preview__more {
	margin: 18px 0 0;

	text-align: right;
}


.diary-archive-page .diary-preview__more-link {
	display: inline-block;

	padding: 5px 12px;

	color: var(--color-text);

	background: rgba(217, 232, 167, 0.72);

	border-top: 2px solid rgba(247, 255, 226, 0.95);
	border-left: 2px solid rgba(247, 255, 226, 0.95);
	border-right: 2px solid rgba(83, 102, 50, 0.65);
	border-bottom: 2px solid rgba(83, 102, 50, 0.65);

	font-size: 0.82rem;
	line-height: 1.4;

	text-decoration: none;

	transition:
		transform 0.1s ease,
		filter 0.1s ease;
}


.diary-archive-page .diary-preview__more-link:hover {
	transform: translateY(-2px);

	filter: brightness(1.07);
}


.diary-archive-page .diary-preview__more-link:active {
	transform: translateY(1px);
}


/* ========================================
   8-4. 一覧タイトル横のカテゴリ
======================================== */

.diary-title-categories {
	display: inline-flex;
	align-items: center;

	gap: 3px;

	margin-left: 5px;

	vertical-align: middle;
}


.diary-archive-page
.wp-block-post-title
.diary-title-categories
.diary-category-link {
	display: inline-block;

	margin: 0;
	padding: 1px 5px;

	color: var(--color-text);

	background: rgba(217, 232, 167, 0.4);

	border: 1px solid rgba(83, 102, 50, 0.28);

	box-shadow: none;

	font-size: 0.6rem !important;
	font-weight: 400;
	line-height: 1.25 !important;
	letter-spacing: 0;

	vertical-align: middle;
}


.diary-archive-page
.wp-block-post-title
.diary-title-categories
.diary-category-link:hover {
	background: rgba(217, 232, 167, 0.7);
}


/* ========================================
   8-5. サイドバー
======================================== */

.diary-sidebar-box {
	overflow: hidden;

	background: rgba(255, 255, 255, 0.72);

	border-top: 2px solid rgba(255, 255, 255, 0.95);
	border-left: 2px solid rgba(255, 255, 255, 0.95);
	border-right: 2px solid rgba(83, 102, 50, 0.55);
	border-bottom: 2px solid rgba(83, 102, 50, 0.55);

	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.08);
}


/* ----------------------------------------
   サイドバー見出し
---------------------------------------- */

.diary-sidebar-title {
	margin: 0;
	padding: 6px 10px;

	color: #fff;

	background: linear-gradient(
		to right,
		#66852e 0%,
		#98b75d 100%
	);

	font-family: var(--font-title);
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.08em;
}


/* ========================================
   8-6. サイドバー：カテゴリ
======================================== */

.diary-sidebar .diary-category-nav {
	display: flex;
	flex-direction: column;
	align-items: stretch;

	gap: 0;

	width: 100%;

	margin: 0;
	padding: 12px;

	box-sizing: border-box;
}


.diary-sidebar .diary-category-nav a {
	display: block;

	width: 100%;

	margin: 0;
	padding: 7px 8px;

	color: var(--color-text);

	background: transparent;

	border: 0;
	border-bottom: 1px dotted rgba(83, 102, 50, 0.3);

	box-shadow: none;

	font-family: var(--font-title);
	font-size: 0.8rem;
	line-height: 1.5;

	text-align: left;
	text-decoration: none;

	white-space: normal;

	box-sizing: border-box;

	transition: background 0.12s ease;
}


.diary-sidebar .diary-category-nav a::before {
	content: "▶";

	margin-right: 6px;

	color: #789b3c;

	font-size: 0.7em;
}


.diary-sidebar .diary-category-nav a:hover {
	color: var(--color-text);

	background: rgba(217, 232, 167, 0.35);

	filter: none;
}


.diary-sidebar .diary-category-nav a:active {
	transform: none;

	border: 0;
	border-bottom: 1px dotted rgba(83, 102, 50, 0.3);

	box-shadow: none;
}


/* ========================================
   8-7. サイドバー：月別アーカイブ
   CATEGORYと表示形式を統一
======================================== */

.diary-sidebar .diary-monthly-archives {
	width: 100%;
	margin: 0;
	padding: 12px;

	box-sizing: border-box;
}


.diary-sidebar .diary-monthly-title {
	display: none;
}


.diary-sidebar .diary-monthly-archives ul {
	display: flex;
	flex-direction: column;
	align-items: stretch;

	gap: 0;

	margin: 0;
	padding: 0;

	list-style: none;
}


/* 月ごとの1行 */
.diary-sidebar .diary-monthly-archives li {
	display: flex;
	align-items: center;

	width: 100%;
	margin: 0;
	padding: 0;

	color: rgba(55, 65, 43, 0.72);

	border-bottom: 1px dotted rgba(83, 102, 50, 0.3);

	font-family: var(--font-title);
	font-size: 0.76rem;
	line-height: 1.5;

	box-sizing: border-box;
}


/* 月リンク */
.diary-sidebar .diary-monthly-archives a {
	display: inline-block;

	width: auto;

	margin: 0;
	padding: 7px 4px 7px 8px;

	color: var(--color-text);
	background: transparent;

	border: 0;
	box-shadow: none;

	font-family: var(--font-title);
	font-size: 0.8rem;
	line-height: 1.5;

	text-decoration: none;

	transition: background 0.12s ease;
}


/* CATEGORYと同じ▶ */
.diary-sidebar .diary-monthly-archives a::before {
	content: "▶";

	margin-right: 6px;

	color: #789b3c;

	font-size: 0.7em;
}


/* ホバー */
.diary-sidebar .diary-monthly-archives li:hover {
	background: rgba(217, 232, 167, 0.35);
}

.diary-sidebar .diary-monthly-archives a:hover {
	color: var(--color-text);
	background: transparent;
	filter: none;
}


/* 押した時 */
.diary-sidebar .diary-monthly-archives a:active {
	transform: none;
	border: 0;
	box-shadow: none;
}

/* ========================================
   日記：単一記事本文
   一覧の抜粋と文字サイズ・色を統一
======================================== */

body.single-diary .content-window > .wp-block-post-content {
	color: var(--color-text) !important;
	font-size: 0.88rem !important;
	line-height: 1.85 !important;
	text-align: left;
}

/* 段落・リストなど */
body.single-diary .content-window > .wp-block-post-content p,
body.single-diary .content-window > .wp-block-post-content li,
body.single-diary .content-window > .wp-block-post-content blockquote,
body.single-diary .content-window > .wp-block-post-content td,
body.single-diary .content-window > .wp-block-post-content th {
	color: inherit !important;
	font-size: 0.88rem !important;
	line-height: 1.85 !important;
}

/* ブロック側で文字サイズ指定されていても統一 */
body.single-diary .content-window > .wp-block-post-content .has-small-font-size,
body.single-diary .content-window > .wp-block-post-content .has-medium-font-size,
body.single-diary .content-window > .wp-block-post-content .has-large-font-size,
body.single-diary .content-window > .wp-block-post-content .has-x-large-font-size {
	font-size: 0.88rem !important;
	line-height: 1.85 !important;
}


/* 日記単一ページ：タイトル下の余白を縮める */
body.single-diary .content-window .wp-block-post-title {
	margin-bottom: 18px !important;
}

/* ----------------------------------------
   個別記事タイトル
---------------------------------------- */

body.single-diary .diary-window .wp-block-post-title {
	margin-top: 0;
	margin-bottom: 6px;

	line-height: 1.45;
}


/* ----------------------------------------
   個別記事メタ
---------------------------------------- */

.diary-single-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 8px 14px;

	margin: 6px 0 26px;
}


.diary-single-categories {
	display: flex;
	flex-wrap: wrap;

	gap: 7px;
}


.diary-single-date {
	color: rgba(55, 65, 43, 0.72);

	font-size: 0.82rem;
	letter-spacing: 0.06em;
}


/* ----------------------------------------
   個別記事本文
   一覧の抜粋と文字サイズ・色を統一
---------------------------------------- */

body.single-diary .diary-window .wp-block-post-content {
	color: var(--color-text);

	font-size: 0.88rem;
	line-height: 1.85;

	text-align: left;
}

body.single-diary .diary-window .wp-block-post-content p,
body.single-diary .diary-window .wp-block-post-content li {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}


/* ========================================
   8-9. 共通カテゴリボタン
======================================== */

.diary-category-link {
	display: inline-block;

	margin: 0;
	padding: 5px 12px;

	color: var(--color-text);

	background: linear-gradient(
		to bottom,
		var(--color-white) 0%,
		var(--button-middle) 45%,
		var(--button-bottom) 100%
	);

	border-top: 2px solid var(--color-white);
	border-left: 2px solid var(--color-white);
	border-right: 2px solid var(--button-border-dark);
	border-bottom: 2px solid var(--button-border-dark);

	box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.12);

	font-family: var(--font-title);
	font-size: 0.82rem;
	line-height: 1.4;

	text-decoration: none;

	white-space: nowrap;

	cursor: pointer;
}


.diary-category-link:hover {
	color: var(--color-text);

	filter: brightness(1.04);
}


.diary-category-link:active {
	transform: translate(1px, 1px);

	border-top-color: var(--button-border-dark);
	border-left-color: var(--button-border-dark);
	border-right-color: var(--color-white);
	border-bottom-color: var(--color-white);

	box-shadow: none;
}


/* ========================================
   9. 日記アーカイブ：ページ送り
======================================== */

.diary-archive-page .wp-block-query-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;

	gap: 8px;

	margin-top: 30px;
	padding-top: 16px;

	border-top: 1px solid rgba(130, 155, 95, 0.35);
}


.diary-archive-page .wp-block-query-pagination a,
.diary-archive-page .wp-block-query-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 32px;
	min-height: 28px;

	padding: 4px 9px;

	color: var(--color-text);

	background: linear-gradient(
		to bottom,
		var(--color-white) 0%,
		var(--button-middle) 45%,
		var(--button-bottom) 100%
	);

	border-top: 2px solid var(--color-white);
	border-left: 2px solid var(--color-white);
	border-right: 2px solid var(--button-border-dark);
	border-bottom: 2px solid var(--button-border-dark);

	box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.12);

	font-family: var(--font-title);
	font-size: 0.78rem;
	line-height: 1.2;

	text-decoration: none;
}


.diary-archive-page .wp-block-query-pagination a:hover {
	filter: brightness(1.05);
}


.diary-archive-page .wp-block-query-pagination a:active {
	transform: translate(1px, 1px);

	border-top-color: var(--button-border-dark);
	border-left-color: var(--button-border-dark);
	border-right-color: var(--color-white);
	border-bottom-color: var(--color-white);

	box-shadow: none;
}


.diary-archive-page .wp-block-query-pagination .current {
	color: var(--color-white);

	background: linear-gradient(
		to bottom,
		#8faf4f 0%,
		#66852e 100%
	);

	border-top-color: #526d25;
	border-left-color: #526d25;
	border-right-color: #dff4a8;
	border-bottom-color: #dff4a8;

	box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.18);
}


.diary-archive-page .wp-block-query-pagination .dots {
	min-width: auto;

	padding-inline: 2px;

	background: none;

	border: 0;

	box-shadow: none;
}


.diary-archive-page .wp-block-query-pagination-previous,
.diary-archive-page .wp-block-query-pagination-next {
	padding-inline: 12px !important;
}


/* ========================================
   10. 日記：レスポンシブ
======================================== */

/* ----------------------------------------
   タブレット以下
---------------------------------------- */

@media (max-width: 800px) {

	/*
	 * 日記全体
	 *
	 * PCと同じ基本幅を維持。
	 * ヘッダーとの間には隙間を作らない。
	 */
	.diary-archive-page {
		width: calc(100% - 32px);
		max-width: 1100px;

		margin: 0 auto 30px;
		padding: 22px 20px;

		box-sizing: border-box;
	}


	/* ----------------------------------------
	   2カラム → 1カラム
	---------------------------------------- */

	.diary-archive-layout {
		grid-template-columns: 1fr;

		gap: 28px;
	}


	/* ----------------------------------------
	   サイドバー
	   タブレットでは2列
	---------------------------------------- */

	.diary-sidebar {
		display: grid;

		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap: 14px;
	}


	/* ----------------------------------------
	   個別記事
	---------------------------------------- */

	body.single-diary .diary-window {
		width: calc(100% - 32px);

		margin: 16px auto 28px;
		padding: 26px 22px;
	}

}


/* ----------------------------------------
   700px以下
---------------------------------------- */

@media (max-width: 700px) {

	/* ----------------------------------------
	   一覧の記事カード
	---------------------------------------- */

	.diary-archive-page
	.diary-list
	.wp-block-post {
		margin-bottom: 18px !important;
		padding: 18px 16px !important;
	}


	/*
	 * 中の diary-window は
	 * カードのレイアウトだけ担当
	 */
	.diary-archive-page
	.diary-list
	.diary-window {
		margin: 0 !important;
		padding: 0 !important;
	}


	/* タイトル */

	.diary-archive-page
	.diary-window
	.wp-block-post-title {
		font-size: 1.05rem !important;
	}


	/* プレビュー */

	.diary-archive-page
	.diary-preview {
		font-size: 0.85rem;
	}


	/* 続きをよむ */

	.diary-archive-page
	.diary-preview__more-link {
		font-size: 0.78rem;
	}


	/* ----------------------------------------
	   個別記事
	---------------------------------------- */

	body.single-diary .diary-window {
		margin: 16px auto 28px;
		padding: 22px 18px 20px;
	}

}


/* ----------------------------------------
   スマホ
---------------------------------------- */

@media (max-width: 600px) {

	/*
	 * 日記全体
	 *
	 * ここでは横幅をさらに縮めない。
	 * タブレット側の
	 * width: calc(100% - 32px)
	 * をそのまま使用する。
	 */
	.diary-archive-page {
		margin-top: 0;

		padding: 18px 14px;
	}


	/* ----------------------------------------
	   サイドバーも1列
	---------------------------------------- */

	.diary-sidebar {
		grid-template-columns: 1fr;
	}


	/* ----------------------------------------
	   個別記事メタ
	---------------------------------------- */

	.diary-single-meta {
		margin-bottom: 20px;
	}


	/* ----------------------------------------
	   個別記事
	---------------------------------------- */

	body.single-diary .diary-window {
		width: calc(100% - 32px);

		margin: 10px auto 24px;
		padding: 18px 14px;
	}


	/* ----------------------------------------
	   ページ送り
	---------------------------------------- */

	.diary-archive-page
	.wp-block-query-pagination {
		gap: 6px;
	}


	.diary-archive-page
	.wp-block-query-pagination a,

	.diary-archive-page
	.wp-block-query-pagination
	.page-numbers {
		min-width: 29px;
		min-height: 26px;

		padding: 3px 7px;

		font-size: 0.72rem;
	}


	/* ----------------------------------------
	   最新日記キャラクター
	---------------------------------------- */

	.latest-diary-character {
		align-items: flex-start;

		gap: 7px;

		margin: 24px auto;
	}


	.latest-diary-penguin {
		flex-basis: 64px;

		width: 64px !important;
	}


	.latest-diary-penguin img {
		width: 64px !important;
		height: 64px !important;
	}


	.latest-diary-bubble {
		padding: 10px 12px;
	}


	.latest-diary-text {
		font-size: 0.8rem;
	}

}


/* ========================================
   日記一覧：サムネイル
======================================== */

.diary-preview-layout {
	display: flex;
	align-items: flex-start;
	gap: 18px;

	width: 100%;
}


.diary-preview-thumbnail {
	display: block;

	flex: 0 0 120px;

	width: 120px;
	height: 120px;

	overflow: hidden;

	background: rgba(217, 232, 167, 0.25);

	border-top: 2px solid rgba(255, 255, 255, 0.95);
	border-left: 2px solid rgba(255, 255, 255, 0.95);
	border-right: 2px solid rgba(83, 102, 50, 0.4);
	border-bottom: 2px solid rgba(83, 102, 50, 0.4);

	box-sizing: border-box;
}


.diary-preview-thumbnail img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


.diary-preview-body {
	flex: 1 1 auto;
	min-width: 0;
}


/* スマホ */
@media (max-width: 600px) {

	.diary-preview-layout {
		gap: 12px;
	}


	.diary-preview-thumbnail {
		flex-basis: 88px;

		width: 88px;
		height: 88px;
	}

}


/* ========================================
   Diary Like
======================================== */

.diary-like {
	display: flex;
	flex-direction: column;
	align-items: center;

	gap: 8px;

	margin: 34px auto 26px;
}


/* ----------------------------------------
   ボタン
---------------------------------------- */

.diary-like__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 7px;

	min-width: 150px;

	padding: 8px 16px;

	color: var(--color-text);

	background: linear-gradient(
		to bottom,
		var(--color-white) 0%,
		var(--button-middle) 45%,
		var(--button-bottom) 100%
	);

	border-top: 2px solid var(--color-white);
	border-left: 2px solid var(--color-white);
	border-right: 2px solid var(--button-border-dark);
	border-bottom: 2px solid var(--button-border-dark);

	box-shadow:
		1px 1px 0 rgba(0, 0, 0, 0.14);

	font-family: var(--font-title);
	font-size: 0.82rem;
	line-height: 1.4;

	cursor: pointer;

	transition:
		transform 0.1s ease,
		filter 0.1s ease;
}


/* ホバー */
.diary-like__button:hover:not(:disabled) {
	transform: translateY(-1px);

	filter: brightness(1.05);
}


/* 押した瞬間 */
.diary-like__button:active:not(:disabled) {
	transform: translate(1px, 1px);

	border-top-color: var(--button-border-dark);
	border-left-color: var(--button-border-dark);
	border-right-color: var(--color-white);
	border-bottom-color: var(--color-white);

	box-shadow: none;
}


/* ----------------------------------------
   ハート
---------------------------------------- */

.diary-like__heart {
	color: #8da84e;

	font-size: 1.15rem;
	line-height: 1;
}


/* ----------------------------------------
   件数
---------------------------------------- */

.diary-like__count {
	min-width: 1.5em;

	padding-left: 7px;

	border-left:
		1px solid rgba(83, 102, 50, 0.25);

	font-size: 0.78rem;

	text-align: center;
}


/* ========================================
   押した後
======================================== */

.diary-like__button.is-liked {
	color: #51682b;

	background: linear-gradient(
		to bottom,
		#f4ffd9 0%,
		#dceba8 50%,
		#c4dc7e 100%
	);

	cursor: default;

	opacity: 1;
}


.diary-like__button.is-liked
.diary-like__heart {
	color: #789b3c;
}


/*
 * disabledにするとブラウザによって
 * 勝手に薄くなるので戻す
 */
.diary-like__button:disabled {
	opacity: 1;
}


/* ----------------------------------------
   メッセージ
---------------------------------------- */

.diary-like__status {
	margin: 0;

	color: rgba(83, 102, 50, 0.72);

	font-size: 0.72rem;
	line-height: 1.4;
}


/* ========================================
   スマホ
======================================== */

@media (max-width: 600px) {

	.diary-like {
		margin: 28px auto 22px;
	}


	.diary-like__button {
		min-width: 140px;

		padding: 7px 14px;

		font-size: 0.78rem;
	}

}