/* model-2026.css — 2026年モデル詳細ページ共通スタイル */
.model-hero {
  background: linear-gradient(160deg, #0a1a30 0%, #1a3050 60%, #2a5080 100%);
  border-radius: 10px; padding: 28px 24px 22px;
  margin-bottom: 28px; position: relative; overflow: hidden;
}
.model-hero .brand-label { font-size:11px; font-weight:bold; letter-spacing:2px; color:#7ec8e3; text-transform:uppercase; margin-bottom:6px; }
.model-hero .model-title { font-size:28px; font-weight:900; color:#fff; line-height:1.1; margin-bottom:4px; }
.model-hero .model-year-tag { display:inline-block; background:#e74c3c; color:#fff; font-size:11px; font-weight:bold; padding:2px 10px; border-radius:3px; margin-bottom:16px; }
.spec-pills { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.spec-pill { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); border-radius:20px; padding:4px 12px; font-size:12px; color:#cde; white-space:nowrap; }
.spec-pill strong { color:#f0c040; }
.hero-price { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.hero-price .price-num { font-size:30px; font-weight:900; color:#fff; line-height:1; }
.hero-price .price-tax { font-size:12px; color:#aac; }
.buy-section { background:#f7f9fc; border:1px solid #dde6f0; border-radius:8px; padding:18px 20px; margin:20px 0; }
.buy-section .buy-title { font-size:13px; font-weight:bold; color:#555; margin-bottom:10px; }
.btn-buy-primary { display:block; background:linear-gradient(135deg,#e67e22,#c0392b); color:#fff !important; text-align:center; padding:14px 16px; border-radius:6px; font-size:15px; font-weight:bold; text-decoration:none !important; margin-bottom:8px; box-shadow:0 3px 10px rgba(0,0,0,0.18); transition:filter 0.15s; }
.btn-buy-primary:hover { filter:brightness(1.08); }
.btn-buy-primary small { display:block; font-size:11px; font-weight:normal; margin-top:2px; opacity:0.8; }
.btn-buy-row { display:flex; gap:8px; flex-wrap:wrap; }
.btn-buy-sub { flex:1; min-width:120px; display:block; text-align:center; padding:10px 8px; border-radius:5px; font-size:13px; font-weight:bold; text-decoration:none !important; transition:filter 0.15s; }
.btn-buy-sub:hover { filter:brightness(1.06); }
.btn-amazon  { background:#ff9900; color:#111 !important; }
.btn-rakuten { background:#bf0000; color:#fff !important; }
.btn-yahoo   { background:#ff0033; color:#fff !important; }
.btn-kakaku  { background:#0066cc; color:#fff !important; }
.btn-dealer-only { display:block; background:#2c3e50; color:#fff !important; text-align:center; padding:11px 16px; border-radius:5px; font-size:13px; font-weight:bold; text-decoration:none !important; transition:filter 0.15s; }
.btn-dealer-only:hover { filter:brightness(1.12); }
.buy-note { font-size:11px; color:#888; margin-top:8px; margin-bottom:0; }
.section-heading { border-left:4px solid #1b3a5c; padding-left:12px; margin:28px 0 14px; font-size:17px; font-weight:bold; color:#1b3a5c; }
.section-heading span { display:block; font-size:11px; font-weight:normal; color:#7ec8e3; letter-spacing:1px; text-transform:uppercase; margin-bottom:2px; }
.point-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:24px; }
@media (min-width:480px) { .point-grid { grid-template-columns:repeat(3,1fr); } }
.point-card { background:#fff; border:1px solid #e0eaf5; border-top:3px solid #1b3a5c; border-radius:6px; padding:14px 12px; }
.point-card .pt-num { font-size:11px; font-weight:bold; color:#7ec8e3; letter-spacing:1px; margin-bottom:4px; }
.point-card .pt-title { font-size:13px; font-weight:bold; color:#1b3a5c; margin:0 0 6px 0; line-height:1.3; }
.point-card .pt-body { font-size:12px; color:#555; line-height:1.6; }
.target-box { background:#eef6ff; border-left:4px solid #1b3a5c; border-radius:0 6px 6px 0; padding:16px 18px; margin-bottom:24px; }
.target-box .target-title { font-size:14px; font-weight:bold; color:#1b3a5c; margin-bottom:10px; }
.target-box ul { margin:0; padding-left:18px; }
.target-box ul li { font-size:13px; color:#333; margin-bottom:5px; line-height:1.5; }
.spec-table { font-size:13px; }
.spec-table th { background:#f0f4f9; width:32%; font-size:12px; color:#444; vertical-align:middle; white-space:nowrap; }
.spec-table td { vertical-align:middle; }
.spec-table tr.highlight td { background:#fffbea; font-weight:bold; color:#7a5200; }
.faq-list { margin-bottom:20px; }
.faq-item { border:1px solid #dde6f0; border-radius:6px; margin-bottom:10px; overflow:hidden; }
.faq-item h3 { margin:0 !important; padding:0; font-size:13px; font-weight:bold; line-height:normal; }
.faq-q { background:#f0f4f9; padding:12px 16px; font-size:13px; font-weight:bold; color:#1b3a5c; display:flex; gap:10px; align-items:flex-start; margin:0 !important; }
.faq-q::before { content:"Q"; background:#1b3a5c; color:#fff; border-radius:3px; padding:0 5px; font-size:12px; flex-shrink:0; margin-top:1px; }
.faq-a { padding:12px 16px; font-size:13px; color:#333; line-height:1.65; display:flex; gap:10px; align-items:flex-start; }
.faq-a::before { content:"A"; background:#e67e22; color:#fff; border-radius:3px; padding:0 5px; font-size:12px; flex-shrink:0; margin-top:1px; }
.section-divider { border:none; border-top:1px solid #e8eef5; margin:28px 0; }
.summary-box { background:#fff8e1; border:2px solid #f0c040; border-radius:8px; padding:16px 18px; margin-bottom:24px; }
.summary-box .sum-label { font-size:10px; font-weight:bold; letter-spacing:2px; color:#b8860b; text-transform:uppercase; margin-bottom:6px; }
.summary-box .sum-verdict { font-size:15px; font-weight:bold; color:#333; margin-bottom:8px; line-height:1.45; }
.summary-box ul { margin:0; padding-left:18px; }
.summary-box ul li { font-size:12px; color:#555; margin-bottom:3px; }
.usage-scores { margin-bottom:24px; }
.usage-row { display:flex; align-items:center; margin-bottom:9px; gap:10px; }
.usage-label { width:90px; font-size:12px; color:#444; flex-shrink:0; text-align:right; }
.usage-bar-wrap { flex:1; background:#eee; border-radius:4px; height:10px; overflow:hidden; }
.usage-bar { height:10px; border-radius:4px; background:linear-gradient(90deg,#1b3a5c,#3d85c8); transition:width 0.6s ease; }
.usage-score-num { width:36px; font-size:12px; font-weight:bold; color:#1b3a5c; flex-shrink:0; }
@media (max-width:767px) {
  .model-hero { padding:20px 16px 18px; }
  .model-hero .model-title { font-size:22px; }
  .hero-price .price-num { font-size:24px; }
  .btn-buy-row { flex-direction:column; }
  .btn-buy-sub { min-width:unset; }
}
