/*
Theme Name: PC Madoguchi
Description: パソコン修理の窓口 専用テーマ。静的ページ（/assets/css/style.css）とデザインを共有し、ブログ・下層ページを同じ見た目で表示する。
Version: 1.0
Author: パソコン修理の窓口
Text Domain: pc-madoguchi
*/

/* =========================================================
   ブログ固有スタイル（共通デザインは /assets/css/style.css を読込）
   ========================================================= */

/* ---- 記事一覧（TOPのブログカードを流用しつつ調整）---- */
.wp-archive{ padding-block:48px 72px; }
.wp-archive .blog__grid{ margin-top:8px; }
.post__thumb{ display:block; width:100%; aspect-ratio:320/200; object-fit:cover; border-radius:8px; margin-bottom:14px; }
.post__thumb--none{
  display:flex; align-items:center; justify-content:center;
  width:100%; aspect-ratio:320/200; border-radius:8px; margin-bottom:14px;
  background:var(--bg-tint); color:var(--cyan-ink); font-weight:900; font-size:14px;
}
.post__cat{ display:inline-block; background:var(--bg-tint); color:var(--cyan-ink); font-size:11px; font-weight:700; border-radius:999px; padding:2px 10px; margin-left:8px; }

/* ---- ページネーション ---- */
.wp-pagination{ margin-top:44px; text-align:center; }
.wp-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 12px; margin:0 3px;
  border:1px solid var(--line); border-radius:8px;
  font-weight:700; font-size:14px; color:var(--teal); background:var(--white);
}
.wp-pagination .page-numbers.current{ background:var(--teal); color:var(--white); border-color:var(--teal); }
.wp-pagination a.page-numbers:hover{ background:var(--bg-tint); }
.wp-pagination .dots{ border:0; background:none; }

/* ---- 記事ページ ---- */
.wp-single{ padding-block:40px 72px; }
.wp-single .entry-head{ max-width:840px; margin-inline:auto; margin-bottom:28px; }
.entry-meta{ display:flex; align-items:center; gap:12px; margin-bottom:12px; font-size:13px; }
.entry-meta time{ color:var(--cyan-ink); font-weight:700; }
.entry-meta .post__cat{ margin-left:0; }
.entry-title{ font-size:28px; font-weight:900; color:var(--teal); line-height:1.5; }

.entry{ max-width:840px; margin-inline:auto; }
.entry > *{ margin-bottom:1.2em; }
.entry h2{ font-size:22px; font-weight:900; color:var(--teal); padding-left:12px; border-left:4px solid var(--cyan); margin:1.8em 0 .8em; }
.entry h3{ font-size:18px; font-weight:900; color:var(--teal); margin:1.6em 0 .6em; }
.entry h4{ font-size:16px; font-weight:700; color:var(--teal); margin:1.4em 0 .5em; }
.entry p{ line-height:1.9; }
.entry ul, .entry ol{ padding-left:1.6em; }
.entry ul{ list-style:disc; }
.entry ol{ list-style:decimal; }
.entry li{ margin-bottom:.4em; }
.entry img{ border-radius:8px; height:auto; }
.entry a{ color:var(--cyan-ink); font-weight:700; text-decoration:underline; }
.entry blockquote{ border-left:4px solid var(--line); padding:8px 18px; color:var(--text-mute); background:var(--bg-tint); border-radius:0 8px 8px 0; }
.entry table{ width:100%; border-collapse:collapse; }
.entry table th, .entry table td{ border:1px solid var(--line); padding:10px 14px; font-size:14px; }
.entry table th{ background:var(--bg-tint); color:var(--teal); }
.entry .wp-block-image figcaption{ font-size:12px; color:var(--text-mute); text-align:center; }

/* ---- 前後記事ナビ ---- */
.entry-nav{ max-width:840px; margin:44px auto 0; display:flex; justify-content:space-between; gap:14px; }
.entry-nav a{
  flex:1; display:block; padding:14px 16px;
  border:1px solid var(--line); border-radius:8px;
  font-size:13px; font-weight:700; color:var(--teal); background:var(--white);
}
.entry-nav a:hover{ background:var(--bg-tint); }
.entry-nav .nav-next{ text-align:right; }
.entry-nav__label{ display:block; font-size:11px; color:var(--cyan-ink); margin-bottom:4px; }

/* ---- 固定ページ ---- */
.wp-page{ padding-block:40px 72px; }
.wp-page .entry-title{ text-align:center; margin-bottom:32px; }

/* ---- アーカイブ見出し ---- */
.archive-desc{ text-align:center; color:var(--text-mute); font-size:14px; margin-top:-32px; margin-bottom:36px; }

/* ---- お問い合わせ（電話バー）---- */
.cf7-callbar{
  background:var(--bg-tint); border:2px solid var(--teal); border-radius:var(--radius);
  padding:22px 20px; text-align:center; margin:24px 0 8px;
}
.cf7-callbar__label{ font-size:13px; font-weight:700; color:var(--cyan-ink); margin:0 0 4px; }
.cf7-callbar__num{ display:inline-block; font-size:32px; font-weight:900; color:var(--teal); letter-spacing:.02em; line-height:1.2; text-decoration:none; }
.cf7-callbar__note{ font-size:12px; color:var(--text-mute); margin:6px 0 0; }

/* ---- Contact Form 7 フォーム ---- */
.wpcf7{ margin-top:8px; }
.wpcf7 label{ display:block; font-weight:700; color:var(--teal); font-size:15px; margin-bottom:20px; }
.wpcf7 .wpcf7-form-control-wrap{ display:block; margin-top:6px; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea{
  display:block; width:100%; padding:12px 14px; margin-top:6px;
  border:1px solid var(--line); border-radius:8px;
  font-size:15px; font-family:inherit; color:var(--text); background:var(--white);
}
.wpcf7 textarea{ min-height:150px; resize:vertical; }
.wpcf7 input:focus, .wpcf7 textarea:focus{ outline:2px solid var(--cyan); border-color:transparent; }
.wpcf7 .wpcf7-not-valid{ border-color:var(--accent); }
.wpcf7 .wpcf7-not-valid-tip{ color:var(--accent); font-size:12px; font-weight:700; margin-top:4px; }
.cf7-consent{ font-weight:400 !important; color:var(--text) !important; font-size:14px; background:var(--bg-tint); border-radius:8px; padding:12px 14px; }
.cf7-consent a{ color:var(--cyan-ink); font-weight:700; text-decoration:underline; }
.wpcf7 .wpcf7-submit{ margin-top:8px; cursor:pointer; }
.wpcf7-spinner{ margin:0 0 0 10px; }
/* 送信結果メッセージ */
.wpcf7 form .wpcf7-response-output{
  margin:20px 0 0; padding:12px 16px; border-radius:8px; font-size:14px; font-weight:700;
}
.wpcf7 form.sent .wpcf7-response-output{ border:2px solid #1aa179; background:#eaf7f1; color:#0b6b4f; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{ border:2px solid var(--accent); background:#fdecea; color:var(--accent-dark); }
