/* file: contents/themes/kawaipublishing/assets/css/k-books-pdf.css */
:root{
  --brand:#0072ba;
  --ink:#111;
  --text:#333;
  --muted:#6B7280;
  --line:#D1D5DB;
  --panel:#F6FAFF;
  --card:#fff;
  --radius:6px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.06), 0 2px 6px rgba(0,0,0,.04);
}

.kbpdf .container{ max-width:1460px; padding:0 20px; margin:0 auto; }

/* 見出し（英字/和文） */
.info-eyebrow{ font-size:20px; color:#4a8fdc; margin:12px 0 6px; }
.info-title{ font-size:28px; font-weight:800; margin:0 0 8px; }

/* タイトル下の説明テキスト */
.kbpdf-lead{ margin:8px 0 18px; color:var(--text); line-height:1.8; }

/* ===== 「PDFご利用に関する注意」：onsei と同見た目 ===== */
.kbpdf-heading{
  position:relative; margin:18px 0 10px; padding:6px 0 6px 14px;
  font-size:18px; font-weight:800; color:var(--ink);
}
.kbpdf-heading::before{
  content:""; position:absolute; left:0; top:0; bottom:0;
  width:4px; background:var(--brand); border-radius:4px;
}
.kbpdf-divider{ height:0; border:0; border-bottom:1px solid #e5e7eb; margin:14px 0 22px; }

/* 注意ボックス（onsei-note と同等・幅いっぱい） */
.kbpdf-note{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:14px; margin:0 0 16px;
}
.kbpdf-note ol{ margin:0; padding-left:1.4em; }
.kbpdf-note li{ margin:.3em 0; }

/* ===== タブ：onsei.css に準拠（onseiクラスを併用） ===== */
.kbpdf-panels{ position:relative; }
.kbpdf-panel{
  background:#fff;
  border:2px solid var(--line); border-top:0;
  border-radius:0 0 var(--radius) var(--radius);
  padding:18px; margin-top:-2px; /* onsei-tabs のベースライン(2px)と揃える */
}
.kbpdf-panel[hidden]{ display:none; }

/* ===== カード（340px固定）— space-betweenで等間隔配置 ===== */
.kbpdf-grid{
  counter-reset: kbpdf;
  display:grid;
  grid-template-columns: repeat(3, 340px);  /* 3枚固定幅 */
  justify-content: space-between;           /* ← 余白を列間に自動配分 */
  column-gap: 0;                            /* 列間ギャップは space-between に任せる */
  row-gap: 24px;                            /* 行間のギャップは固定で確保 */
}
@media (max-width: 1120px){
  .kbpdf-grid{
    grid-template-columns: repeat(2, 340px); /* 2列でも space-between 維持 */
    justify-content: space-between;
  }
}
@media (max-width: 740px){
  .kbpdf-grid{
    grid-template-columns: minmax(0, 1fr);   /* スマホは1列 */
    justify-content: stretch;                /* 1列時は端まで広げる */
  }
}

.kbpdf-card{
  background:transparent; display:flex; flex-direction:column; gap:10px;
  counter-increment: kbpdf; /* カード通し番号 */
}
.kbpdf-card__cover img{ display:block; width:100%; height:auto; object-fit:contain; }

/* ▼ 書影の下の“テキストリンク行”（左寄せ＋番号＋右端DLアイコン＋下線2px） */
.kbpdf-card__link{
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px;
  text-decoration:none; padding:8px 0; border-bottom:2px solid var(--brand);
  color:var(--brand);
}
.kbpdf-card__label{ display:inline-block; }
.kbpdf-card__label::before{ content: counter(kbpdf) ". "; }
.kbpdf-link__icon{ display:block; width:24px; height:auto; }

/* 空表示 */
.kbpdf-empty{ color:#9CA3AF; }

/* ==== 下部の固定テキスト ==== */
.kbpdf-cta{ text-align:center; margin:28px 0 20px; }
.kbpdf-cta__card{
  width:min(780px,100%); margin:10px auto 16px; text-align:left;
  background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-sm); padding:16px;
}
.kbpdf-cta__ttl{ margin:0 0 6px; font-weight:800; color:#111; }
.kbpdf-cta__lead{ margin:8px 0; }
.kbpdf-cta__btn{
  display:inline-block; min-width:260px; line-height:48px; border-radius:24px;
  background:var(--brand); color:#fff; font-weight:800; padding:0 24px;
}
.kbpdf-cta__btn:hover{ filter:brightness(0.95); }
.kbpdf-cta__note{ color:#6b7280; font-size:13px; }

/* ========== 個別ダウンロードページ（従来通り） ========== */
.kbpdf-page-subtitle{ margin:6px 0 0; font-weight:700; }
.kbpdf-dl-block{ margin:22px 0; }
.kbpdf-dl-heading{
  position:relative; margin:0 0 12px; padding:8px 0 8px 14px; font-size:18px; font-weight:800;
  border-bottom:1px solid #e5e7eb;
}
.kbpdf-dl-heading::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--brand); border-radius:4px;
}

.kbpdf-all{ margin:0 0 14px; }
.kbpdf-all__btn{
  display:inline-block; padding:10px 14px; border:1px solid var(--brand); border-radius:10px; font-weight:700; color:var(--brand);
}
.kbpdf-all__btn:hover{ background:var(--brand); color:#fff; }

.kbpdf-filegrid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;
}
@media (max-width:1024px){ .kbpdf-filegrid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .kbpdf-filegrid{ grid-template-columns:1fr; } }

.kbpdf-filecard{ background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:12px; }
.kbpdf-filecard__link{ display:block; font-weight:700; color:var(--brand); text-decoration:none; }
.kbpdf-filecard__link:hover{ text-decoration:underline; }

.kbpdf-back{ text-align:center; margin:26px 0 10px; }

/* =========================================================
   k-books-pdf.css 追記 — kbpdfページのSP指定（onseiより強い特異性）
   ========================================================= */

/* 共通：info-eyebrow は PC/SP とも 400（明示固定） */
.kbpdf.info-page.onsei .info-eyebrow{ font-weight: 400; }

/* ── SP(<=879px) タイポ指定 ───────────────────── */
@media (max-width: 879px){

  /* ページ見出し */
  .kbpdf.info-page.onsei .info-eyebrow{ font-size: 12px; }        /* weight 400 は共通指定で固定 */
  .kbpdf.info-page.onsei .info-title{   font-size: 22px; font-weight: 500; }

  /* リード文 */
  .kbpdf .kbpdf-lead{ font-size: 14px; line-height: 1.8; }

  /* 「PDFご利用に関する注意」 */
  .kbpdf .kbpdf-heading{ font-size: 16px; font-weight: 700; }
  .kbpdf .kbpdf-note{    font-size: 14px; line-height: 1.8; }

  /* タブ（onseiタブのサイズをkbpdfで確定） */
  .kbpdf.onsei.onsei--tabline .onsei-tab{ font-size: 12px; font-weight: 700; }

  /* パネル内の注釈 */
  .kbpdf .kbpdf-annotation{ font-size: 11px; }

  /* カードのテキストリンク部ラベル */
  .kbpdf .kbpdf-card__label{ font-size: 12px; }

  /* CTAカード一式 */
  .kbpdf .kbpdf-cta__card{ font-size: 14px; line-height: 1.8; }
  .kbpdf .kbpdf-cta__ttl{  font-size: 14px; font-weight: 700; color: #0072ba; }
  .kbpdf .kbpdf-cta__lead{ font-size: 14px; text-align: left; }
  .kbpdf .kbpdf-cta__btn{  font-size: 14px; font-weight: 700; }
  .kbpdf .kbpdf-cta__note{ font-size: 14px; }
}

/* ================================================
   kbpdf タブ＆パネルのラッパ（左右20px）
   ================================================ */
.kbpdf-tabswrap{
  padding: 0 20px;
  box-sizing: border-box;
  width: 100%;
}

/* ================================================
   一覧カードのリンク行：PC/SP共通スタイルに統一
   （他ファイルの既存指定を上書き）
   ================================================ */
.kbpdf .kbpdf-card__link,
.kbpdf-panelwrap .kbpdf-card__link{
  border-bottom: 1px solid #0072ba !important;
  padding: 8px 10px 10px !important;
  color: #0072ba;             /* 既存トーン維持 */
  text-decoration: none;      /* 既存挙動維持 */
}
/* ================================================
   kbpdf タブ&パネル用ラッパ：SPだけ左右20px、PCは0
   （.kbpdf-tabswrap はマークアップで追加済み想定）
   ================================================ */

/* PCデフォルト（≥880px）：左右0 */
.kbpdf-tabswrap{
  padding: 0;
  box-sizing: border-box;
  width: 100%;
}

/* SP（≤879px）：左右20px */
@media (max-width: 879px){
  .kbpdf-tabswrap{
    padding: 0 20px;
  }
}

/* ================================================
   SP時：タブ高さを約48pxに統一
   - onsei.css の大きい min-height を上書き
   - kbpdfページ限定で強いセレクタに
   ================================================ */
@media (max-width: 879px){
  .kbpdf.info-page.onsei.onsei--tabline .kbpdf-tabs .onsei-tab{
    min-height: 48px !important;   /* 高さ目安 */
    padding: 10px 12px !important; /* 内側余白を控えめに */
    font-size: 12px;               /* 以前のご要望に合わせて明示 */
    font-weight: 700;
    display: flex;
    align-items: center;           /* 垂直中央 */
    justify-content: center;
  }
}
/* SP(<=879px)：kbpdf ページヘッダの上下余白を 40px に */
@media (max-width: 879px){
  .kbpdf .page-head{
    margin: 40px 0 !important;
    /* 必要なら左右ガターも揃える */
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }
}
