/* =====================================================================
   kiroku.space child theme
   写真を主役にしたシンプルデザイン + ダークモード
   ===================================================================== */

:root {
	--k-bg: #ffffff;
	--k-surface: #f4f4f6;
	--k-text: #1a1a1a;
	--k-muted: #6b6b72;
	--k-border: #e3e3e8;
	--k-accent: #111111;
	--k-shadow: 0 1px 3px rgba(0,0,0,.08);
	--k-radius: 6px;
	--k-gap: 16px;
}

[data-theme="dark"] {
	--k-bg: #0e0e10;
	--k-surface: #191a1d;
	--k-text: #ededee;
	--k-muted: #9a9aa2;
	--k-border: #2a2b2f;
	--k-accent: #ffffff;
	--k-shadow: 0 1px 3px rgba(0,0,0,.5);
}

body {
	font-family: "Noto Sans JP", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	background-color: var(--k-bg);
	color: var(--k-text);
	transition: background-color .2s ease, color .2s ease;
}

a { color: var(--k-text); }
a:hover { opacity: .75; }

.site-content,
.inside-article,
.entry-content { color: var(--k-text); }

/* ---- コンテンツ幅（親テーマに合わせ中央寄せ＋左右余白） ----------- */
.kiroku-front,
.kiroku-archive,
.kiroku-user,
.kiroku-search {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 28px clamp(16px, 4vw, 40px) 64px;
	box-sizing: border-box;
}
.kiroku-single-photo { padding: 24px clamp(16px, 4vw, 40px) 56px; }

/* ---- グリッド（幅に追従・均一サムネイル） ------------------------- */
.kiroku-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--k-gap);
}
@media (min-width: 1100px) {
	.kiroku-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
}

.kiroku-card {
	background: var(--k-surface);
	border-radius: var(--k-radius);
	overflow: hidden;
	box-shadow: var(--k-shadow);
}
.kiroku-card-link {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	line-height: 0;
}
.kiroku-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kiroku-card-meta {
	display: flex; flex-direction: column; gap: 2px;
	padding: 10px 12px;
}
.kiroku-card-title { font-weight: 500; font-size: .95rem; }
.kiroku-card-author { color: var(--k-muted); font-size: .8rem; }

.kiroku-empty { color: var(--k-muted); padding: 24px 0; }

/* ---- セクション見出し --------------------------------------------- */
.kiroku-section { margin: 0 0 48px; }
.kiroku-section-head {
	display: flex; align-items: baseline; justify-content: space-between;
	margin: 0 0 16px; padding-bottom: 8px;
	border-bottom: 1px solid var(--k-border);
}
.kiroku-section-head h2 { font-size: 1.15rem; font-weight: 700; margin: 0; }
.kiroku-section-head a { font-size: .85rem; color: var(--k-muted); }

/* ---- フィーチャー（ヒーロー） ------------------------------------- */
.kiroku-hero { margin: 0 0 48px; }
.kiroku-hero a { display: block; line-height: 0; }
.kiroku-hero img {
	width: 100%; height: auto; display: block;
	border-radius: var(--k-radius);
	max-height: 78vh; object-fit: cover;
}
.kiroku-hero-caption {
	display: flex; justify-content: space-between; align-items: baseline;
	padding: 10px 4px 0; color: var(--k-muted); font-size: .85rem;
}

/* ---- 写真詳細 ------------------------------------------------------ */
.kiroku-single-photo { max-width: 1100px; margin: 0 auto; }
.kiroku-single-photo .kiroku-main-img {
	width: 100%; height: auto; display: block; margin: 0 auto 20px;
	max-height: 88vh; object-fit: contain;
	background: var(--k-surface);
}
.kiroku-photo-header {
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px; margin-bottom: 8px;
}
.kiroku-photo-header h1 { font-size: 1.4rem; margin: 0; }
.kiroku-photo-author { color: var(--k-muted); font-size: .9rem; }

.kiroku-exif {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px 16px; margin: 16px 0 24px;
	padding: 16px; background: var(--k-surface);
	border-radius: var(--k-radius);
}
.kiroku-exif dt { color: var(--k-muted); font-size: .72rem; margin: 0; }
.kiroku-exif dd { margin: 0 0 6px; font-size: .9rem; font-weight: 500; }

.kiroku-taxes { margin: 12px 0; }
.kiroku-tax-chip {
	display: inline-block; padding: 3px 10px; margin: 0 6px 6px 0;
	background: var(--k-surface); border: 1px solid var(--k-border);
	border-radius: 999px; font-size: .8rem; color: var(--k-muted);
}

/* ---- いいねボタン ------------------------------------------------- */
.kiroku-like {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 14px; border: 1px solid var(--k-border);
	background: var(--k-surface); color: var(--k-text);
	border-radius: 999px; cursor: pointer; font-size: .9rem;
	transition: all .15s ease;
}
.kiroku-like:hover { border-color: var(--k-accent); }
.kiroku-like.is-liked { color: #e0245e; border-color: #e0245e; }

/* ---- プロフィール（ユーザーページ） ------------------------------- */
.kiroku-profile {
	display: flex; gap: 20px; align-items: center;
	padding: 24px 0; margin-bottom: 24px;
	border-bottom: 1px solid var(--k-border);
}
.kiroku-profile-avatar img { border-radius: 50%; }
.kiroku-profile h1 { margin: 0 0 6px; font-size: 1.3rem; }
.kiroku-profile-bio { color: var(--k-muted); font-size: .9rem; margin: 0 0 8px; }
.kiroku-sns a {
	display: inline-block; margin-right: 12px; font-size: .85rem; color: var(--k-muted);
}

/* ---- 詳細検索フォーム --------------------------------------------- */
.kiroku-search-form {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 12px; padding: 16px; margin-bottom: 24px;
	background: var(--k-surface); border-radius: var(--k-radius);
}
.kiroku-search-form label { display: block; font-size: .75rem; color: var(--k-muted); margin-bottom: 4px; }
.kiroku-search-form select,
.kiroku-search-form input {
	width: 100%; padding: 6px 8px; border: 1px solid var(--k-border);
	border-radius: 4px; background: var(--k-bg); color: var(--k-text);
}
.kiroku-search-submit { grid-column: 1 / -1; }
.kiroku-search-submit button {
	padding: 8px 24px; background: var(--k-accent); color: var(--k-bg);
	border: 0; border-radius: 4px; cursor: pointer; font-weight: 500;
}

/* ---- フォーム（登録・ログイン・投稿） ----------------------------- */
.kiroku-form { max-width: 480px; margin: 0 auto 24px; }
.kiroku-form p { margin: 0 0 14px; }
.kiroku-form label { font-size: .85rem; color: var(--k-muted); }
.kiroku-form input[type="text"],
.kiroku-form input[type="email"],
.kiroku-form input[type="password"],
.kiroku-form input[type="file"],
.kiroku-form textarea {
	width: 100%; padding: 8px 10px; margin-top: 4px;
	border: 1px solid var(--k-border); border-radius: 4px;
	background: var(--k-bg); color: var(--k-text); font-size: .95rem;
}
.kiroku-form button,
.kiroku-login-form .button {
	padding: 9px 26px; background: var(--k-accent); color: var(--k-bg);
	border: 0; border-radius: 4px; cursor: pointer; font-weight: 500; font-size: .95rem;
}
.kiroku-notice { padding: 10px 14px; border-radius: 4px; margin: 0 auto 16px; max-width: 480px; font-size: .9rem; }
.kiroku-ok  { background: #e7f6ec; color: #1a7f44; }
.kiroku-err { background: #fbe9e9; color: #b3261e; }
[data-theme="dark"] .kiroku-ok  { background: #15301f; color: #6fdc97; }
[data-theme="dark"] .kiroku-err { background: #3a1b1b; color: #f3a39b; }
.kiroku-my-photos { list-style: none; padding: 0; max-width: 480px; margin: 8px auto 0; }
.kiroku-my-photos li { padding: 6px 0; border-bottom: 1px solid var(--k-border); font-size: .9rem; }
.kiroku-status { color: var(--k-muted); font-size: .8rem; }

/* =====================================================================
   GeneratePress 全体のダークモード対応（親テーマ要素を確実に上書き）
   ===================================================================== */

/* GeneratePress のグローバルカラー変数も上書き（対応バージョンでは自動反映） */
[data-theme="dark"] {
	--base-3: #0e0e10;
	--base-2: #191a1d;
	--base: #2a2b2f;
	--contrast: #ededee;
	--contrast-2: #b9b9c0;
	--contrast-3: #2a2b2f;
}

/* ベース */
[data-theme="dark"] body,
[data-theme="dark"] .site,
[data-theme="dark"] #page {
	background-color: var(--k-bg) !important;
	color: var(--k-text) !important;
}

/* ヘッダー */
[data-theme="dark"] .site-header,
[data-theme="dark"] #masthead {
	background-color: var(--k-surface) !important;
	border-bottom: 1px solid var(--k-border);
}
[data-theme="dark"] .site-header .main-title a,
[data-theme="dark"] .site-header .site-title a,
[data-theme="dark"] .main-title a,
[data-theme="dark"] .site-description {
	color: var(--k-text) !important;
}

/* ナビゲーション（メニュー・ドロップダウン・モバイルトグル） */
[data-theme="dark"] .main-navigation,
[data-theme="dark"] .main-navigation ul ul,
[data-theme="dark"] .menu-toggle,
[data-theme="dark"] nav.main-navigation {
	background-color: var(--k-surface) !important;
}
[data-theme="dark"] .main-navigation .main-nav ul li a,
[data-theme="dark"] .main-navigation a,
[data-theme="dark"] .menu-toggle,
[data-theme="dark"] .main-navigation .menu-bar-items {
	color: var(--k-text) !important;
}
[data-theme="dark"] .main-navigation ul li:hover > a,
[data-theme="dark"] .main-navigation ul li.sfHover > a,
[data-theme="dark"] .main-navigation .current-menu-item > a {
	background-color: var(--k-bg) !important;
	color: var(--k-text) !important;
}

/* コンテンツ・記事・コンテナ */
[data-theme="dark"] .site-content,
[data-theme="dark"] #content,
[data-theme="dark"] #primary,
[data-theme="dark"] #main,
[data-theme="dark"] .entry-content,
[data-theme="dark"] article {
	background-color: transparent !important;
	color: var(--k-text) !important;
}
[data-theme="dark"] .separate-containers .inside-article,
[data-theme="dark"] .separate-containers .paging-navigation,
[data-theme="dark"] .one-container .site-content,
[data-theme="dark"] .inside-article {
	background-color: var(--k-surface) !important;
	color: var(--k-text) !important;
}

/* ウィジェット・サイドバー */
[data-theme="dark"] .widget,
[data-theme="dark"] .sidebar .widget,
[data-theme="dark"] .widget-area .widget {
	background-color: var(--k-surface) !important;
	color: var(--k-text) !important;
}

/* フッター */
[data-theme="dark"] .site-footer,
[data-theme="dark"] .site-info,
[data-theme="dark"] #footer-widgets,
[data-theme="dark"] .footer-widgets,
[data-theme="dark"] .inside-footer-widgets {
	background-color: var(--k-surface) !important;
	color: var(--k-muted) !important;
}
[data-theme="dark"] .site-info a,
[data-theme="dark"] #footer-widgets a {
	color: var(--k-text) !important;
}

/* テキスト・見出し・リンク全般 */
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6,
[data-theme="dark"] p, [data-theme="dark"] li, [data-theme="dark"] dd, [data-theme="dark"] dt,
[data-theme="dark"] .entry-title,
[data-theme="dark"] .entry-title a,
[data-theme="dark"] .entry-meta {
	color: var(--k-text) !important;
}
[data-theme="dark"] .entry-meta,
[data-theme="dark"] .entry-meta a { color: var(--k-muted) !important; }

/* フォーム・入力 */
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select {
	background-color: var(--k-bg) !important;
	color: var(--k-text) !important;
	border-color: var(--k-border) !important;
}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder { color: var(--k-muted) !important; }

/* コメント欄 */
[data-theme="dark"] .comment-body,
[data-theme="dark"] .comments-area,
[data-theme="dark"] ol.comment-list li {
	background-color: transparent !important;
	color: var(--k-text) !important;
}

/* ---- ダークモード切替ボタン --------------------------------------- */
.kiroku-theme-toggle {
	position: fixed; right: 18px; bottom: 18px; z-index: 999;
	width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid var(--k-border); background: var(--k-surface);
	color: var(--k-text); cursor: pointer; box-shadow: var(--k-shadow);
	font-size: 1.1rem; line-height: 1;
}
.kiroku-icon-moon { display: none; }
.kiroku-icon-sun { display: none; }
[data-theme="light"] .kiroku-icon-moon { display: inline; }
[data-theme="dark"] .kiroku-icon-sun { display: inline; }
