/* CLB 車種サイズ — フロント表示 */
.clb-cs-front { --cs-blue: #004a81; --cs-navy: #1e2a3c; --cs-border: #e3e8ee; --cs-mist: #eef2f7; --cs-muted: #6c7682; color: #2b313a; margin-left: auto; margin-right: auto; }
.clb-cs-front--grid { max-width: 1200px; }      /* 一覧（メーカータイル）：PC 1200px・4カラム */
.clb-cs-front--detail { max-width: 600px; }      /* 詳細（車種・サイズ表）・検索結果：600px */

/* 検索 */
.clb-cs-search { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 0 0 26px; }
.clb-cs-search input[type="text"] { flex: 1 1 240px; min-width: 0; padding: 11px 14px; border: 1px solid var(--cs-border); border-radius: 6px; font-size: 15px; }
.clb-cs-search button { padding: 11px 24px; border: none; border-radius: 6px; background: var(--cs-blue); color: #fff; font-size: 15px; cursor: pointer; }
.clb-cs-search button:hover { opacity: .9; }
.clb-cs-clear { align-self: center; font-size: 13px; color: var(--cs-muted); text-decoration: none; }

.clb-cs-grouptitle { font-size: 1.05rem; color: var(--cs-navy); margin: 26px 0 14px; padding-left: 12px; border-left: 4px solid var(--cs-blue); }

/* メーカーロゴ グリッド（PC:4カラム／タブレット:3／スマホ:2） */
.clb-cs-grid { list-style: none; margin: 0 0 10px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 1000px) { .clb-cs-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .clb-cs-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
.clb-cs-tile { margin: 0; }
.clb-cs-tile a { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #fff; border: 1px solid var(--cs-border); border-radius: 8px; text-decoration: none; color: var(--cs-navy); transition: border-color .2s, box-shadow .2s, transform .2s; }
.clb-cs-tile a:hover { border-color: var(--cs-blue); box-shadow: 0 6px 18px rgba(0,74,129,.10); transform: translateY(-2px); }
.clb-cs-tile__logo { flex: 0 0 auto; width: 54px; height: 40px; display: flex; align-items: center; justify-content: center; }
.clb-cs-tile__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.clb-cs-tile__name { flex: 1 1 auto; font-size: 0.95rem; font-weight: 600; }
.clb-cs-tile__arrow { flex: 0 0 auto; width: 8px; height: 8px; border-top: 2px solid var(--cs-blue); border-right: 2px solid var(--cs-blue); transform: rotate(45deg); }

/* メーカー詳細 */
.clb-cs-back { display: inline-block; margin-bottom: 18px; color: var(--cs-blue); text-decoration: none; font-size: 14px; }

/* 車種テーブル */
.clb-cs-model-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.clb-cs-model-table th, .clb-cs-model-table td { border: 1px solid var(--cs-border); padding: 11px 14px; text-align: left; }
.clb-cs-model-table thead th { background: var(--cs-navy); color: #fff; font-weight: 600; }
.clb-cs-model-table tbody tr:nth-child(even) { background: var(--cs-mist); }
.clb-cs-model-table small { color: var(--cs-muted); }
.clb-cs-model-table a { color: var(--cs-blue); text-decoration: none; }
.clb-cs-case-col { width: 120px; text-align: center; white-space: nowrap; }
.clb-cs-case { display: inline-block; padding: 4px 12px; border: 1px solid var(--cs-blue); border-radius: 4px; font-size: 0.82rem; color: var(--cs-blue); text-decoration: none; transition: background .2s, color .2s; }
.clb-cs-case:hover { background: var(--cs-blue); color: #fff; }

/* サイズバッジ */
.clb-cs-size { display: inline-block; min-width: 40px; text-align: center; padding: 3px 10px; border-radius: 4px; background: var(--cs-blue); color: #fff; font-weight: 700; font-size: 13px; letter-spacing: .04em; }
.clb-cs-size--ss { background: #5b7a99; }
.clb-cs-size--s  { background: #3f6f9e; }
.clb-cs-size--m  { background: #004a81; }
.clb-cs-size--l  { background: #14406b; }
.clb-cs-size--ll { background: #12324f; }
.clb-cs-size--xl { background: #1e2a3c; }
