/* =========================================================
 * Huiming - 記事詳細ページ専用スタイル (article.css)
 * 配置: /wp-content/themes/cocoon-child-master/article.css
 *
 *  - 単一記事ページ (body.single) でのみ読み込まれる。
 *  - Cocoon の標準パーツは body.single 上でのみ非表示にする。
 *  - すべて .huiming-article-page 配下にスコープし、他ページへ影響しない。
 * ======================================================= */

/* ---- Cocoon オーバーライド（記事ページ・固定ページ） ---- */
.single #header-container,
.single #header,
.single .navi,
.single #navi,
.single .breadcrumb,
.single #breadcrumb,
.single #sidebar,
.single .sidebar,
.single #footer,
.single .footer,
.single .pagination,
.single .go-to-top,
.single .date-tags,
.single .pankuzu,
.page #header-container,
.page #header,
.page .navi,
.page #navi,
.page .breadcrumb,
.page #breadcrumb,
.page #sidebar,
.page .sidebar,
.page #footer,
.page .footer,
.page .pagination,
.page .go-to-top,
.page .date-tags,
.page .pankuzu {
	display: none !important;
}
.single #container,
.single #wrap,
.single #main,
.single #content,
.single .content,
.single .content-in,
.single .main,
.single article.post,
.page #container,
.page #wrap,
.page #main,
.page #content,
.page .content,
.page .content-in,
.page .main,
.page article.post {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	float: none !important;
}
.single, .single #body, .single .body, .single #wrap,
.page, .page #body, .page .body, .page #wrap { background: #FFFFFF !important; }

/* =========================================================
 * Design tokens
 * ======================================================= */
.huiming-article-page {
	--d-bg:#0F0F0F;
	--d-text:#F5F5F5;
	--d-sub:#B3B3B3;
	--d-border:#333333;
	--bg:#FFFFFF;
	--text:#111111;
	--sub:#666666;
	--border:#E5E5E5;
	--accent:#E8D54A;
	--code-bg:#F8F9F9;
	--note-bg:#FCFAF3;
	--soft:#F8F7F6;
	--maxw:1180px;
	--content:760px;
	--side:288px;
	--pad:40px;
	--sans:'Noto Sans JP',sans-serif;
	--latin:'Helvetica Neue',Arial,'Noto Sans JP',sans-serif;
	--mono:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;

	background:var(--bg);
	color:var(--text);
	font-family:var(--sans);
	line-height:1.95;
	font-size:16px;
	-webkit-font-smoothing:antialiased;
	letter-spacing:.01em;
}
.huiming-article-page *{box-sizing:border-box}
.huiming-article-page a{color:inherit;text-decoration:none}
.huiming-article-page img{display:block;max-width:100%;height:auto}
.huiming-article-page ::selection{background:var(--accent);color:#111}

/* =========================================================
 * ヘッダー（黒・固定）
 * ======================================================= */
.huiming-article-page .huiming-header--fixed{
	position:fixed;top:0;left:0;right:0;z-index:100;
	background:var(--d-bg);border-bottom:1px solid var(--d-border);
}
.huiming-article-page .huiming-header__inner{
	max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
	height:72px;display:flex;align-items:center;gap:40px;
}
.huiming-article-page .huiming-logo{font-family:var(--latin);font-size:24px;font-weight:700;letter-spacing:.02em;color:var(--d-text)}
.huiming-article-page .huiming-nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.huiming-article-page .huiming-nav a{font-size:14px;font-weight:500;color:var(--d-sub);white-space:nowrap;transition:color .18s}
.huiming-article-page .huiming-nav a:hover{color:var(--d-text)}
.huiming-article-page .huiming-search{display:flex;padding:6px;margin-left:2px;color:var(--d-text)}
.huiming-article-page .huiming-search svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}
.huiming-article-page .huiming-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto}
.huiming-article-page .huiming-burger span{display:block;width:22px;height:1.6px;background:var(--d-text);transition:.25s}
.huiming-article-page .huiming-burger.is-open span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.huiming-article-page .huiming-burger.is-open span:nth-child(2){opacity:0}
.huiming-article-page .huiming-burger.is-open span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

.huiming-article-page .huiming-page{padding-top:72px}

/* =========================================================
 * レイアウト
 * ======================================================= */
.huiming-article-page .huiming-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.huiming-article-page .huiming-layout{
	display:grid;grid-template-columns:minmax(0,1fr) var(--side);
	gap:56px;padding:46px 0 80px;align-items:start;
}
.huiming-article-page .huiming-article{min-width:0;max-width:var(--content);width:100%}

/* パンくず */
.huiming-article-page .huiming-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12.5px;color:var(--sub);margin-bottom:26px}
.huiming-article-page .huiming-crumb a:hover{color:var(--text)}
.huiming-article-page .huiming-crumb .sep{opacity:.6}

/* カテゴリーラベル */
.huiming-article-page .huiming-cat-label{display:inline-block;background:var(--accent);color:#111;font-size:12px;font-weight:700;letter-spacing:.04em;padding:4px 11px;border-radius:3px;margin-bottom:18px}

/* タイトル */
.huiming-article-page .huiming-title{font-size:34px;font-weight:900;line-height:1.4;letter-spacing:.01em;margin:0 0 18px}

/* メタ */
.huiming-article-page .huiming-meta{display:flex;flex-wrap:wrap;align-items:center;gap:22px;color:var(--sub);font-size:13px;margin-bottom:32px}
.huiming-article-page .huiming-meta .m{display:inline-flex;align-items:center;gap:7px;font-family:var(--latin)}
.huiming-article-page .huiming-meta svg{width:15px;height:15px;stroke:var(--sub);fill:none;stroke-width:1.5;flex:none}

/* アイキャッチ */
.huiming-article-page .huiming-eyecatch{width:100%;border-radius:6px;overflow:hidden;background:#222;margin:0 0 34px}
.huiming-article-page .huiming-eyecatch img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.huiming-article-page .huiming-eyecatch--empty{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.huiming-article-page .huiming-eyecatch--empty span{font-family:var(--latin);font-size:13px;letter-spacing:.18em;color:#777}

/* リード */
.huiming-article-page .huiming-lead{font-size:16px;line-height:2;color:#333;margin:0 0 36px}

/* =========================================================
 * 目次
 * ======================================================= */
.huiming-article-page .huiming-toc--inline{border:1px solid var(--border);border-radius:8px;padding:26px 30px;margin:0 0 46px}
.huiming-article-page .huiming-toc__ttl{font-size:16px;font-weight:700;margin-bottom:14px}
.huiming-article-page .huiming-toc--inline ol{list-style:none;counter-reset:toc;margin:0;padding:0}
.huiming-article-page .huiming-toc--inline ol li{counter-increment:toc;padding:6px 0 6px 4px;font-size:14.5px;color:var(--sub);line-height:1.6}
.huiming-article-page .huiming-toc--inline ol li::before{content:counter(toc) ". ";color:var(--sub)}
.huiming-article-page .huiming-toc--inline ol li a:hover{color:var(--text)}

/* サイドバー目次 */
.huiming-article-page .huiming-toc--side .huiming-toc__ttl{font-size:15px}
.huiming-article-page .huiming-toc--side ol{list-style:none;counter-reset:stoc;margin:0;padding:0}
.huiming-article-page .huiming-toc--side ol li{counter-increment:stoc;font-size:13px;color:var(--sub);padding:6px 0 6px 2px;line-height:1.6}
.huiming-article-page .huiming-toc--side ol li::before{content:counter(stoc) ". ";color:var(--sub)}
.huiming-article-page .huiming-toc--side ol li a:hover{color:var(--text)}

/* =========================================================
 * 本文（Gutenberg/Cocoon の出力をそのまま整形）
 * ======================================================= */
.huiming-article-page .huiming-body h2{font-size:22px;font-weight:700;line-height:1.5;margin:54px 0 20px;padding-left:14px;border-left:5px solid var(--accent)}
.huiming-article-page .huiming-body h3{font-size:18px;font-weight:700;line-height:1.6;margin:40px 0 16px}
.huiming-article-page .huiming-body p{font-size:16px;line-height:2.05;margin:0 0 22px;color:var(--text)}
.huiming-article-page .huiming-body ul,
.huiming-article-page .huiming-body ol{margin:0 0 26px;padding-left:26px}
.huiming-article-page .huiming-body ul li,
.huiming-article-page .huiming-body ol li{font-size:16px;line-height:1.9;margin-bottom:8px}
.huiming-article-page .huiming-body ul{list-style:disc}
.huiming-article-page .huiming-body ol{list-style:decimal}
.huiming-article-page .huiming-body ul li::marker,
.huiming-article-page .huiming-body ol li::marker{color:var(--text)}
.huiming-article-page .huiming-body img{width:100%;height:auto;border-radius:6px;margin:30px 0}
.huiming-article-page .huiming-body figure{margin:30px 0}
.huiming-article-page .huiming-body figure img{margin:0}
.huiming-article-page .huiming-body a{color:#9a7f15;text-decoration:underline;text-underline-offset:2px}

/* 引用 */
.huiming-article-page .huiming-body blockquote{border-left:3px solid var(--border);background:var(--soft);padding:18px 24px;margin:0 0 26px;color:var(--sub);font-size:15.5px;line-height:1.95}
.huiming-article-page .huiming-body blockquote p{margin:0;color:var(--sub)}

/* コードブロック（pre / wp-block-code） */
.huiming-article-page .huiming-body pre,
.huiming-article-page .huiming-body .wp-block-code{
	position:relative;border:1px solid var(--border);border-radius:8px;
	background:var(--code-bg);margin:0 0 28px;padding:0;overflow:hidden;
}
.huiming-article-page .huiming-body pre > code,
.huiming-article-page .huiming-body .wp-block-code code{
	display:block;font-family:var(--mono);font-size:13px;line-height:1.85;color:#1f2328;
	padding:18px 20px;overflow-x:auto;white-space:pre;background:transparent;border:none;
}
/* JS で付与する言語ラベル＆コピーボタンのバー */
.huiming-article-page .huiming-codebar{
	display:flex;align-items:center;justify-content:space-between;
	padding:9px 16px;border-bottom:1px solid var(--border);
	font-family:var(--mono);font-size:12px;color:var(--sub);
}
.huiming-article-page .huiming-codebar__copy{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:var(--sub);font-family:var(--sans);font-size:12px}
.huiming-article-page .huiming-codebar__copy svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.6}
.huiming-article-page .huiming-codebar__copy.is-done{color:#0a7d33}

/* 注意ボックス（記事内で .huiming-note クラスを付与） */
.huiming-article-page .huiming-body .huiming-note{
	background:var(--note-bg);border:1px solid var(--accent);border-radius:8px;
	padding:18px 22px;margin:0 0 30px;
}
.huiming-article-page .huiming-body .huiming-note__ttl{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-bottom:6px}
.huiming-article-page .huiming-body .huiming-note p:last-child{margin:0;font-size:15px;line-height:1.9;color:var(--text)}

/* =========================================================
 * 前後記事
 * ======================================================= */
.huiming-article-page .huiming-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}
.huiming-article-page .huiming-pn{display:flex;align-items:center;gap:16px;border:1px solid var(--border);border-radius:8px;background:var(--soft);padding:20px 22px;transition:border-color .2s}
.huiming-article-page .huiming-pn:hover{border-color:#bbb}
.huiming-article-page .huiming-pn--empty{background:transparent;border:none}
.huiming-article-page .huiming-pn svg{width:20px;height:20px;stroke:var(--text);fill:none;stroke-width:1.6;flex:none}
.huiming-article-page .huiming-pn__inner{display:flex;flex-direction:column;gap:6px;min-width:0}
.huiming-article-page .huiming-pn__lbl{font-family:var(--latin);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--sub)}
.huiming-article-page .huiming-pn__ttl{font-size:14px;font-weight:700;line-height:1.5}
.huiming-article-page .huiming-pn--next{text-align:right;flex-direction:row-reverse}
.huiming-article-page .huiming-pn--next .huiming-pn__inner{align-items:flex-end}

/* =========================================================
 * サイドバー
 * ======================================================= */
.huiming-article-page .huiming-side{display:flex;flex-direction:column;gap:38px;position:sticky;top:96px}
.huiming-article-page .huiming-side-box{border:1px solid var(--border);border-radius:8px;padding:22px 24px}
.huiming-article-page .huiming-side-ttl{font-size:15px;font-weight:700;margin-bottom:16px}

/* 著者 */
.huiming-article-page .huiming-author__avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#ddd;margin:4px auto 16px;display:block}
.huiming-article-page .huiming-author__avatar--empty{display:flex;align-items:center;justify-content:center;font-family:var(--latin);font-size:11px;letter-spacing:.16em;color:#999;border:1px solid var(--border)}
.huiming-article-page .huiming-author__name{font-size:18px;font-weight:700;margin:0 0 10px}
.huiming-article-page .huiming-author__bio{font-size:13px;line-height:1.85;color:var(--sub);margin:0 0 18px}
.huiming-article-page .huiming-socials{display:flex;gap:16px}
.huiming-article-page .huiming-socials a{width:20px;height:20px;color:var(--text);opacity:.85;transition:.18s}
.huiming-article-page .huiming-socials a:hover{opacity:1;color:#000}
.huiming-article-page .huiming-socials svg{width:100%;height:100%;fill:currentColor}

/* 関連記事 */
.huiming-article-page .huiming-rel__ttl{font-size:15px;font-weight:700;margin:0 0 18px}
.huiming-article-page .huiming-rel-list{display:flex;flex-direction:column;gap:20px}
.huiming-article-page .huiming-rel-card{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:start}
.huiming-article-page .huiming-rel-card__thumb{display:block;width:84px;height:64px;border-radius:5px;overflow:hidden;background:#222}
.huiming-article-page .huiming-rel-card__thumb img{width:100%;height:100%;object-fit:cover}
.huiming-article-page .huiming-rel-card__noimg{display:block;width:100%;height:100%;background:repeating-linear-gradient(45deg,#e9e9e9,#e9e9e9 6px,#f3f3f3 6px,#f3f3f3 12px)}
.huiming-article-page .huiming-rel-card__cat{font-size:11px;font-weight:700;color:#C9A227;letter-spacing:.03em;display:block;margin-bottom:5px}
.huiming-article-page .huiming-rel-card__title{font-size:13.5px;font-weight:700;line-height:1.5;margin:0 0 7px}
.huiming-article-page .huiming-rel-card__title a:hover{color:#000}
.huiming-article-page .huiming-rel-card__date{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--sub);font-family:var(--latin)}
.huiming-article-page .huiming-rel-card__date svg{width:12px;height:12px;stroke:var(--sub);fill:none;stroke-width:1.5}

/* カテゴリーボックス */
.huiming-article-page .huiming-catbox ul{list-style:none;margin:0;padding:0}
.huiming-article-page .huiming-catbox ul li a{display:block;font-size:14px;color:var(--text);padding:13px 2px;border-bottom:1px solid var(--border)}
.huiming-article-page .huiming-catbox ul li:last-child a{border-bottom:none}
.huiming-article-page .huiming-catbox ul li a:hover{color:#000}

/* =========================================================
 * フッター（黒）
 * ======================================================= */
.huiming-article-page .huiming-footer{background:var(--d-bg);color:var(--d-text);padding:60px 0 30px}
.huiming-article-page .huiming-container{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.huiming-article-page .huiming-footer__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.1fr;gap:40px}
.huiming-article-page .huiming-footer__brand .huiming-logo{display:inline-block;margin-bottom:16px}
.huiming-article-page .huiming-footer__brand p{color:var(--d-sub);font-size:13px;line-height:1.85;max-width:260px;margin:0}
.huiming-article-page .huiming-footer__col h5{font-family:var(--latin);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--d-text);margin:0 0 18px}
.huiming-article-page .huiming-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.huiming-article-page .huiming-footer__col ul li a{font-size:13px;color:var(--d-sub);transition:color .18s}
.huiming-article-page .huiming-footer__col ul li a:hover{color:var(--d-text)}
.huiming-article-page .huiming-footer .huiming-socials a{color:var(--d-text)}
.huiming-article-page .huiming-footer .huiming-socials a:hover{color:var(--accent)}
.huiming-article-page .huiming-footer__copy{text-align:center;color:var(--d-sub);font-size:12px;font-family:var(--latin);letter-spacing:.04em;margin:46px 0 0;padding-top:26px;border-top:1px solid var(--d-border)}

/* モバイル時のみ表示する補助エリア（PCでは非表示） */
.huiming-article-page .huiming-mobile-extras{display:none}

/* =========================================================
 * レスポンシブ
 * ======================================================= */
@media(max-width:1000px){
	.huiming-article-page{--pad:28px}
	.huiming-article-page .huiming-layout{grid-template-columns:1fr;gap:0}
	.huiming-article-page .huiming-side{display:none}
	.huiming-article-page .huiming-article{max-width:760px;margin:0 auto}
	.huiming-article-page .huiming-mobile-extras{display:flex;flex-direction:column;gap:40px;margin-top:54px}
}
@media(max-width:768px){
	.huiming-article-page .huiming-nav,
	.huiming-article-page .huiming-search{display:none}
	.huiming-article-page .huiming-burger{display:flex}
	.huiming-article-page .huiming-nav{
		position:fixed;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
		background:#151515;border-bottom:1px solid var(--d-border);
		max-height:0;overflow:hidden;transition:max-height .3s;margin-left:0;display:flex;
	}
	.huiming-article-page .huiming-nav.is-open{max-height:380px}
	.huiming-article-page .huiming-nav a{padding:15px var(--pad);border-top:1px solid var(--d-border);font-size:15px;color:var(--d-text)}
	.huiming-article-page .huiming-title{font-size:26px}
	.huiming-article-page .huiming-body h2{font-size:19px}
	.huiming-article-page .huiming-prevnext{gap:12px}
	.huiming-article-page .huiming-pn{padding:16px;gap:10px}
	.huiming-article-page .huiming-pn__ttl{font-size:13px}
	.huiming-article-page .huiming-footer__grid{grid-template-columns:1fr 1fr;gap:32px}
	.huiming-article-page .huiming-footer__brand{grid-column:1 / -1}
}
@media(max-width:480px){
	.huiming-article-page{--pad:20px}
	.huiming-article-page .huiming-layout{padding:30px 0 60px}
	.huiming-article-page .huiming-footer__grid{grid-template-columns:1fr}
}

/* =========================================================
 * 固定ページ（page.php）— 中央1カラム
 * ======================================================= */
.huiming-page-tpl .huiming-pagedoc{max-width:760px;margin:0 auto;padding:46px 0 90px}
.huiming-page-tpl .huiming-article--page{max-width:none}
.huiming-page-tpl .huiming-meta{margin-bottom:30px}
.huiming-page-tpl .huiming-eyecatch{margin-bottom:34px}
/* 本文中のページ分割リンク */
.huiming-page-tpl .huiming-linkpages{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.huiming-page-tpl .huiming-linkpages a,
.huiming-page-tpl .huiming-linkpages > span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:8px;font-family:var(--latin);font-size:14px}
.huiming-page-tpl .huiming-linkpages a:hover{border-color:#bbb;background:var(--soft)}
@media(max-width:1000px){
	.huiming-page-tpl .huiming-pagedoc{max-width:760px}
}
@media(max-width:480px){
	.huiming-page-tpl .huiming-pagedoc{padding:30px 0 60px}
}
