/* ============================================================
   gorogo-books-list.css  FINAL
   書籍一覧ページ（/books/）専用スタイル
   モックアップ既刊案内（sb-back-grid）に準拠
   ============================================================ */

/* ── サイドバー非表示・メイン全幅 ── */
body.post-type-archive-books .sub-section,
body.post-type-archive-books aside.sub-section {
    display: none !important;
}
body.post-type-archive-books .main-section {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* ── Lightningのアーカイブタイトルバー非表示 ── */
body.post-type-archive-books .page-header,
body.post-type-archive-books .vk-page-header,
body.post-type-archive-books .entry-header {
    display: none !important;
}

/* ── vk_postsをモックアップのsb-back-gridに合わせる ── */
body.post-type-archive-books .vk_posts {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    background: var(--gorogo-bg, #EDECEA) !important;
    max-width: 1020px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

/* ── 各カード（sb-card-vに対応）── */
body.post-type-archive-books .vk_post {
    display: flex !important;
    flex-direction: column !important;
    background: var(--gorogo-bg3, #FAFAF8) !important;
    border: 1px solid var(--gorogo-rule, #DDDBD8) !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    transition: box-shadow 0.2s, transform 0.2s !important;
}
body.post-type-archive-books .vk_post:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.09) !important;
    transform: translateY(-2px) !important;
}

/* ── 書影コンテナ（sb-cover-unifiedに対応）── */
body.post-type-archive-books .vk_post_imgOuter {
    width: 100% !important;
    min-width: unset !important;
    max-width: 100% !important;
    height: 320px !important;
    min-height: 320px !important;
    background: #e8e7e2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
    overflow: hidden !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

/* ── aタグを書影全体に ── */
body.post-type-archive-books .vk_post_imgOuter > a {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 0 !important;
    padding: 12px !important;
}

/* ── 画像（VKのleft:-9999pxを上書き）── */
body.post-type-archive-books .vk_post_imgOuter img,
body.post-type-archive-books .vk_post_imgOuter_img {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
    margin: 0 auto !important;
    transform: none !important;
    max-width: 100% !important;
    max-height: 284px !important;
}

/* ── VKデフォルト要素を非表示 ── */
body.post-type-archive-books .vk_post_imgOuter_singleTermLabel,
body.post-type-archive-books .card-img-overlay,
body.post-type-archive-books .vk_post_btn,
body.post-type-archive-books .vk_post_btn_readMore,
body.post-type-archive-books .vk_post_date,
body.post-type-archive-books .vk_post_author,
body.post-type-archive-books .vk_post_title .vk_post_title_new {
    display: none !important;
}

/* ── テキストボディ（sb-card-v-bodyに対応）── */
body.post-type-archive-books .vk_post_body,
body.post-type-archive-books .media-body {
    flex: 1 !important;
    padding: 14px 14px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-left: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

/* タイトル */
body.post-type-archive-books .vk_post_title {
    font-family: 'Noto Serif JP', serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--gorogo-ink, #141412) !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
}
body.post-type-archive-books .vk_post_title a {
    color: var(--gorogo-ink, #141412) !important;
    text-decoration: none !important;
}
body.post-type-archive-books .vk_post_title a:hover {
    color: var(--gorogo-pop, #2D78C8) !important;
}

/* 抜粋 */
body.post-type-archive-books .vk_post_excerpt {
    font-size: 14px !important;
    color: var(--gorogo-ink-mid, #5C5A56) !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}

/* ── レスポンシブ ── */
@media (max-width: 768px) {
    body.post-type-archive-books .vk_posts {
        grid-template-columns: repeat(2, 1fr) !important;
        padding: 0 16px !important;
        gap: 14px !important;
    }
    body.post-type-archive-books .vk_post_imgOuter {
        height: 260px !important;
        min-height: 260px !important;
    }
}
@media (max-width: 480px) {
    body.post-type-archive-books .vk_posts {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
}

/* ===== フォントサイズ調整：事業案内本文(16px)基準 ===== */
/* トップページ書籍カード */
.gorogo-card-excerpt,
.gorogo-card-excerpt p    { font-size: 14px !important; line-height: 1.75 !important; }
.gorogo-card-meta,
.gorogo-card-meta span    { font-size: 13px !important; }
.gorogo-btn               { font-size: 12px !important; }
.gorogo-btn--ghost        { font-size: 12px !important; }
.gorogo-btn--primary      { font-size: 12px !important; }
.gorogo-btn--pdf          { font-size: 12px !important; }
.gorogo-tag               { font-size: 12px !important; }
/* 書籍一覧 価格・ISBN */
.gorogo-books-price       { font-size: 14px !important; }
.gorogo-books-isbn        { font-size: 13px !important; }

/* ===== 抜粋マージン調整・3行確保 ===== */
.gorogo-card-excerpt               { margin-top: 2px !important; margin-bottom: 2px !important; min-height: 74px !important; }
.gorogo-card-body                  { gap: 4px !important; }
.gorogo-card-title                 { margin-bottom: 4px !important; }

/* ===== ヒーロー・INFORMATIONフォント調整 ===== */
.gorogo-hero__sub                  { font-size: 15px !important; line-height: 1.7 !important; }
.gorogo-news-bar__label            { font-size: 12px !important; letter-spacing: .1em !important; }
.gorogo-news-bar__date             { font-size: 14px !important; }
.gorogo-news-bar__text,
.gorogo-news-bar__text a           { font-size: 14px !important; }

/* 書籍一覧ページ 価格・ISBNのマージン調整 */
body.post-type-archive-books .vk_post_excerpt { margin-bottom: 4px !important; }

/* ===== 抜粋文：3行表示（3行目末で省略）===== */
.gorogo-card-excerpt {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    max-height: none !important;
}
/* 書籍一覧ページの抜粋も3行 */
body.post-type-archive-books .vk_post_excerpt {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* ===== 価格・ISBN：縦並びレイアウト強制 ===== */
.gorogo-books-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid var(--gorogo-rule, #DDDBD8) !important;
    width: 100% !important;
}
.gorogo-books-price {
    display: block !important;
    font-size: 14px !important;
    color: var(--gorogo-ink-mid, #5C5A56) !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}
.gorogo-books-isbn {
    display: block !important;
    font-size: 13px !important;
    color: var(--gorogo-ink-soft, #9A9893) !important;
    line-height: 1.5 !important;
}

/* ===== トップページ書籍カード：高さ調整をfootで行う ===== */
/* bodyを固定・footを伸縮させてボタン下部でスペース調整 */
.gorogo-book-card {
    display: flex !important;
    flex-direction: column !important;
}
.gorogo-card-body {
    flex: 0 0 auto !important;
}
.gorogo-card-foot {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 7px !important;
    padding: 12px 20px 16px !important;
    border-top: 1px solid var(--gorogo-rule, #DDDBD8) !important;
}
/* 詳細・Amazonボタン行 */
.gorogo-card-foot > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: 100% !important;
}