/* =========================================================
   WordPress 用の追加スタイル（main.css のデザインに合わせています）
   ========================================================= */

/* アイキャッチ画像があるカバー */
.cover.has-img::before,.cover.has-img::after{display:none}
.cover.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* トップ：記事一覧へのボタン */
.more-row{display:flex;justify-content:center;margin-top:40px}

/* 下層ヒーロー：更新日 */
.page-hero .page-lead .upd{margin-left:.8em;font-size:.9em}

/* 固定ページの見出しラベル（サイトマップ） */
.arc-label{font-family:var(--serif)!important;font-weight:700;font-size:20px!important;letter-spacing:.08em;color:var(--text)!important;font-style:normal!important}

/* 404 などのサブボタン */
.btn-ghost{color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}
.btn-ghost:hover{background:var(--noir);color:var(--champagne)}
.cta-inline{gap:12px;flex-wrap:wrap}

/* =========================================================
   記事本文（ブロックエディタの出力）
   ========================================================= */
.entry-eyecatch{margin:0 0 36px!important}
.entry ul:not(.check):not(.tags):not([class*="wp-block-gallery"]),
.entry ol{padding-left:1.4em;margin:0 0 1.6em}
.entry li{margin:.3em 0}
.entry li::marker{color:var(--wine)}
.entry h4{font-family:var(--serif);font-size:17px;letter-spacing:.06em;margin:32px 0 10px;padding-left:12px;border-left:3px solid var(--champagne)}
.entry img{height:auto}
.entry blockquote{margin:0 0 1.6em;padding:20px 24px;border-radius:0 14px 14px 0;border-left:3px solid var(--wine);background:var(--wine-soft);color:var(--text)}
.entry blockquote p:last-child{margin-bottom:0}
.entry blockquote cite{display:block;margin-top:8px;font-size:12.5px;color:var(--muted);font-style:normal}
.entry table{width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:14.5px}
.entry .wp-block-table{margin:0 0 1.6em;overflow-x:auto}
.entry .wp-block-table table{margin:0}
.entry th,.entry td{padding:12px 16px;border:1px solid var(--line);text-align:left;vertical-align:top}
.entry thead th,.entry table th{background:var(--ivory);font-family:var(--serif);font-weight:700}
.entry figure.wp-block-image,.entry .wp-block-image{border-radius:16px;overflow:hidden;background:var(--ivory)}
.entry .wp-block-image figcaption,.entry .wp-element-caption{font-size:12.5px;color:var(--muted);padding:10px 16px;font-family:var(--display);font-style:italic;margin:0;text-align:left}
.entry code{font-size:.9em;background:var(--ivory);padding:.1em .4em;border-radius:6px}
.entry pre{background:var(--noir);color:var(--on-dark);padding:20px;border-radius:14px;overflow-x:auto;font-size:13.5px;line-height:1.7;margin:0 0 1.6em}
.entry pre code{background:none;padding:0;color:inherit}
.entry hr{border:0;height:1px;background:var(--line);margin:48px 0}
.entry .wp-block-button__link{display:inline-flex;align-items:center;height:52px;padding:0 28px;border-radius:999px;background:var(--wine);color:#fff!important;text-decoration:none!important;font-weight:600;letter-spacing:.08em}
.entry .wp-block-embed{margin:0 0 1.6em}
.entry iframe{max-width:100%}
.alignleft{float:left;margin:.3em 1.6em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.6em}
.aligncenter{margin-left:auto;margin-right:auto;text-align:center}
.alignwide,.alignfull{max-width:100%}
.entry::after{content:"";display:table;clear:both}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.entry ul.tags{margin-top:40px}
.entry ul.tags a{color:var(--text)!important;text-decoration:none!important}
.page-links{margin-top:24px;font-weight:600}

/* 前後の記事 */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.post-nav a{display:block;padding:20px 24px;border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.post-nav a:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.post-nav .next{text-align:right;grid-column:2}
.post-nav small{display:block;font-family:var(--display);font-style:italic;font-size:15px;color:var(--wine)}
.post-nav span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.65}
@media (max-width:720px){.post-nav{grid-template-columns:1fr}.post-nav .next{grid-column:auto}}

/* 関連記事 */
.related{margin-top:80px;margin-bottom:0}

/* ページ送り */
.pagination{margin-top:48px}
.pagination .nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.pagination .page-numbers{display:grid;place-items:center;min-width:46px;height:46px;padding:0 14px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-family:"Inter",sans-serif;font-size:14px;font-weight:600;transition:.3s var(--ease)}
.pagination .page-numbers:hover{background:var(--noir);color:var(--champagne)}
.pagination .page-numbers.current{background:var(--noir);color:var(--champagne)}
.pagination .page-numbers.dots{background:none;box-shadow:none}

/* お問い合わせ */
.form-alert{padding:16px 20px;border-radius:14px;background:var(--wine-soft);color:var(--wine);font-weight:600;margin:0 0 24px}
.form-done strong{font-family:var(--serif);font-size:18px;letter-spacing:.06em}
.form .btn:disabled{opacity:.6;cursor:wait}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* コメント */
.comments{margin-top:32px}
.comments h2:first-child{margin-top:0}
.comment-list{list-style:none;padding:0;margin:0 0 40px}
.comment-list .children{list-style:none;padding-left:28px}
.comment-body{padding:18px 0;border-bottom:1px solid var(--line)}
.comment-author{display:flex;align-items:center;gap:10px;font-weight:600}
.comment-author img{border-radius:50%}
.comment-metadata{font-size:12px;color:var(--muted)}
.comment-metadata a{text-decoration:none!important;color:var(--muted)!important}
.comment-form{display:grid;gap:16px}
.comment-form label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{width:100%;border:1px solid var(--line-strong);background:var(--ivory);border-radius:14px;padding:13px 16px;font:inherit;font-size:15px}
.comment-form textarea{min-height:160px}
.comment-form input:focus,.comment-form textarea:focus{outline:0;border-color:var(--wine);background:#fff;box-shadow:0 0 0 4px var(--wine-soft)}
.comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start;font-size:13px}
.comment-form-cookies-consent label{font-weight:400;font-size:13px}
.comment-form .btn{justify-self:start}

/* 管理バー表示時のヘッダー位置 */
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}

/* =========================================================
   投稿ページ：記事タイトル（H1）を読みやすいサイズに
   ========================================================= */
.single .page-hero{padding:clamp(56px,9vh,96px) 0 clamp(48px,8vh,80px)}
.single .page-hero h1{
  font-size:clamp(22px,2.9vw,38px);
  font-weight:700;
  line-height:1.6;
  letter-spacing:.04em;
  max-width:30em;
}
.single .page-hero .rule{margin-top:22px}
@media (max-width:640px){
  .single .page-hero h1{font-size:21px;line-height:1.65;letter-spacing:.02em}
}
