/*
Theme Name: Carmatch Blog
Theme URI: https://car-match.jp/
Description: カーマッチ各店の /wp/ ブログ用 共通テーマ。ヘッダー(ロゴ＋店名＋CTA)、記事一覧/個別、店舗情報フッターを備え、store-config.php で店舗情報だけ差し替えます。
Author: Carmatch
Version: 1.0.0
Requires at least: 5.5
Tested up to: 6.6
Requires PHP: 7.2
License: GNU General Public License v2 or later
Text Domain: carmatch-blog
*/

:root{
  --navy:#1c3b5e; --blue:#2660ad; --blue-d:#1c4d8c; --red:#e8352e; --line:#06C755;
  --ink:#2b3a4a; --muted:#8393a5; --bg:#eef4fb; --line-c:#e2ebf5;
}
*{box-sizing:border-box;}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.8;font-size:16px;}
img{max-width:100%;height:auto;}
a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:underline;}
.cm-wrap{max-width:1080px;margin:0 auto;padding:0 16px;}

/* ===== Header ===== */
.cm-header{background:#fff;border-bottom:1px solid var(--line-c);position:sticky;top:0;z-index:100;}
.cm-header-inner{display:flex;align-items:center;gap:14px;padding:10px 16px;max-width:1080px;margin:0 auto;}
.cm-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);flex:1;min-width:0;}
.cm-logo img{height:40px;width:auto;}
.cm-logo .cm-storename{font-weight:800;font-size:1.02em;color:var(--navy);line-height:1.2;}
.cm-cta{display:flex;gap:8px;flex:none;}
.cm-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  border-radius:8px;padding:7px 14px;font-weight:800;font-size:.82em;text-decoration:none;line-height:1.25;white-space:nowrap;}
.cm-btn small{font-weight:600;font-size:.8em;opacity:.9;}
.cm-btn-shinsa{background:var(--red);color:#fff;}
.cm-btn-line{background:var(--line);color:#fff;}
.cm-btn-tel{background:#fff;color:var(--blue);border:1.5px solid var(--blue);}
.cm-btn:hover{opacity:.92;text-decoration:none;}

/* ===== Page title band ===== */
.cm-pagehead{background:linear-gradient(180deg,var(--blue),var(--blue-d));color:#fff;padding:30px 16px;text-align:center;}
.cm-pagehead h1{margin:0;font-size:1.5em;font-weight:800;line-height:1.4;}
.cm-pagehead p{margin:8px 0 0;font-size:.9em;opacity:.92;}

/* ===== Layout ===== */
.cm-main{padding:34px 0 50px;}
.cm-breadcrumb{font-size:.82em;color:var(--muted);margin:0 0 18px;}
.cm-breadcrumb a{color:var(--muted);}

/* ===== Post list (cards) ===== */
.cm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;}
.cm-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(23,58,99,.08);
  border:1px solid var(--line-c);display:flex;flex-direction:column;transition:transform .15s;}
.cm-card:hover{transform:translateY(-3px);}
.cm-card a{text-decoration:none;color:inherit;}
.cm-card-thumb{aspect-ratio:16/9;background:#dbe7f5 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect width="64" height="64" fill="%23dbe7f5"/><path d="M14 44l12-14 8 9 6-6 10 11z" fill="%23aebfd6"/><circle cx="24" cy="22" r="5" fill="%23aebfd6"/></svg>') center/cover no-repeat;overflow:hidden;}
.cm-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.cm-card-body{padding:16px 18px 20px;flex:1;display:flex;flex-direction:column;}
.cm-card-date{font-size:.78em;color:var(--muted);margin:0 0 6px;}
.cm-card-title{font-size:1.06em;font-weight:800;color:var(--navy);margin:0 0 10px;line-height:1.5;}
.cm-card-ex{font-size:.9em;color:#556;margin:0;flex:1;}
.cm-card-more{margin-top:12px;font-weight:700;color:var(--blue);font-size:.86em;}

/* ===== Single ===== */
.cm-single{background:#fff;border-radius:16px;box-shadow:0 6px 18px rgba(23,58,99,.08);
  border:1px solid var(--line-c);max-width:820px;margin:0 auto;padding:28px 26px 40px;}
.cm-single h1.cm-title{font-size:1.6em;font-weight:800;color:var(--navy);line-height:1.5;margin:0 0 10px;}
.cm-meta{font-size:.82em;color:var(--muted);margin:0 0 20px;border-bottom:1px dashed var(--line-c);padding-bottom:14px;}
.cm-single .cm-featured{margin:0 0 22px;border-radius:10px;overflow:hidden;}
.cm-content{font-size:1.02em;}
.cm-content h2{font-size:1.32em;font-weight:800;color:var(--navy);margin:34px 0 14px;padding:10px 0 10px 14px;border-left:5px solid var(--blue);background:linear-gradient(90deg,rgba(38,96,173,.08),transparent);}
.cm-content h3{font-size:1.14em;font-weight:800;color:var(--navy);margin:26px 0 10px;border-bottom:2px solid var(--line-c);padding-bottom:5px;}
.cm-content p{margin:0 0 18px;}
.cm-content img{border-radius:8px;height:auto;}
.cm-content ul,.cm-content ol{padding-left:1.4em;margin:0 0 18px;}
.cm-content li{margin:0 0 6px;}
.cm-content a{color:var(--blue);text-decoration:underline;}
.cm-content blockquote{border-left:4px solid var(--blue);background:var(--bg);margin:0 0 18px;padding:12px 16px;border-radius:0 8px 8px 0;color:#455;}
.cm-content table{border-collapse:collapse;width:100%;margin:0 0 18px;font-size:.95em;}
.cm-content th,.cm-content td{border:1px solid var(--line-c);padding:9px 12px;text-align:left;}
.cm-content th{background:var(--bg);}
.cm-backlist{display:block;text-align:center;margin:30px auto 0;max-width:320px;background:var(--blue);color:#fff;
  padding:13px;border-radius:40px;font-weight:800;text-decoration:none;}
.cm-backlist:hover{opacity:.92;text-decoration:none;}

/* ===== Post CTA (article下部) ===== */
.cm-post-cta{max-width:820px;margin:26px auto 0;background:linear-gradient(180deg,var(--blue),var(--blue-d));
  color:#fff;border-radius:16px;padding:26px 22px;text-align:center;}
.cm-post-cta h3{margin:0 0 6px;font-size:1.24em;font-weight:800;}
.cm-post-cta p{margin:0 0 16px;font-size:.92em;opacity:.95;}
.cm-post-cta .cm-cta-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.cm-post-cta .cm-cta-row a{flex:1;min-width:150px;max-width:260px;padding:14px;border-radius:40px;font-weight:800;text-decoration:none;}
.cm-cta-shinsa{background:var(--red);color:#fff;}
.cm-cta-line{background:var(--line);color:#fff;}
.cm-cta-tel{background:#fff;color:var(--blue);}

/* ===== Pagination ===== */
.cm-pager{display:flex;justify-content:center;gap:8px;margin:34px 0 0;flex-wrap:wrap;}
.cm-pager a,.cm-pager span{padding:9px 15px;border-radius:8px;background:#fff;border:1px solid var(--line-c);
  color:var(--blue);text-decoration:none;font-weight:700;font-size:.9em;}
.cm-pager .current{background:var(--blue);color:#fff;border-color:var(--blue);}

/* ===== Footer ===== */
.cm-footer{background:var(--navy);color:#dbe6f2;padding:40px 16px 24px;margin-top:40px;}
.cm-footer-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:30px;}
.cm-foot-info{flex:1;min-width:280px;}
.cm-foot-info .cm-foot-store{font-weight:800;font-size:1.1em;color:#fff;margin:0 0 12px;}
.cm-foot-info dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:.9em;}
.cm-foot-info dt{color:#9fb6d2;white-space:nowrap;}
.cm-foot-info dd{margin:0;}
.cm-foot-info a{color:#cfe0f2;}
.cm-foot-map{flex:1;min-width:280px;}
.cm-foot-map iframe{width:100%;height:200px;border:0;border-radius:8px;display:block;}
.cm-foot-cta{display:flex;gap:8px;margin:14px 0 0;flex-wrap:wrap;}
.cm-foot-cta a{flex:1;min-width:130px;text-align:center;padding:11px;border-radius:8px;font-weight:800;text-decoration:none;font-size:.9em;}
.cm-copyright{text-align:center;font-size:.8em;color:#8ba3c2;margin:28px 0 0;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;}

@media(max-width:768px){
  .cm-header-inner{flex-wrap:wrap;gap:8px;padding:8px 12px;}
  .cm-logo{flex:1 1 auto;}
  .cm-logo img{height:34px;}
  .cm-logo .cm-storename{font-size:.86em;}
  .cm-cta{flex:1 1 100%;justify-content:center;}
  .cm-btn{flex:1;padding:8px 6px;font-size:.78em;}
  .cm-pagehead h1{font-size:1.24em;}
  .cm-single{padding:22px 16px 32px;}
}
