/*
Theme Name: HAPO-CAMPUS
Theme URI: https://example.com/hapo-campus
Author: HAPO Team
Author URI: https://example.com
Description: WordPress標準ブログ機能を搭載した親テーマ。Twenty Seventeen相当の投稿機能を実装し、全子テーマで自動使用可能。
Version: 0.1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hapo-campus
Tags: blog, custom-menu, featured-images, threaded-comments, translation-ready
*/

/**
 * ==============================================
 * HAPO-CAMPUS 親テーマ
 * 構造最小スタイル（装飾は子テーマで実装）
 * ==============================================
 */

/* ---------------------------------------------
   基本構造（中立的なレイアウトのみ）
--------------------------------------------- */

body {
    margin: 0;
    padding: 0;
}

.site-main {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

/* ---------------------------------------------
   投稿一覧レイアウト
--------------------------------------------- */

.posts-list {
    display: grid;
    gap: 30px;
}

.post-excerpt {
    margin-bottom: 30px;
}

/* ---------------------------------------------
   投稿メタ情報
--------------------------------------------- */

.entry-meta {
    margin: 10px 0;
}

.entry-meta span {
    margin-right: 15px;
}

/* ---------------------------------------------
   アイキャッチ画像
--------------------------------------------- */

.post-thumbnail {
    margin-bottom: 15px;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

/* ---------------------------------------------
   投稿コンテンツ
--------------------------------------------- */

.entry-content {
    margin: 20px 0;
}

.entry-content img {
    max-width: 100%;
    height: auto;
}

.entry-footer {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
}

.entry-footer span {
    margin-right: 15px;
}

/* ---------------------------------------------
   ページネーション
--------------------------------------------- */

.pagination {
    margin: 40px 0;
    text-align: center;
}

.pagination .page-numbers {
    display: inline-block;
    padding: 8px 12px;
    margin: 0 5px;
}

/* ---------------------------------------------
   コメント
--------------------------------------------- */

#comments {
    margin-top: 40px;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-list li {
    margin-bottom: 20px;
}

.comment-form {
    margin-top: 30px;
}

/* ---------------------------------------------
   検索結果・投稿なし
--------------------------------------------- */

.page-header {
    margin-bottom: 30px;
}

.page-title {
    margin: 0 0 15px 0;
}

.no-results {
    padding: 40px 20px;
    text-align: center;
}

/* ---------------------------------------------
   レスポンシブ（構造のみ）
--------------------------------------------- */

@media screen and (max-width: 768px) {
    .site-main {
        padding: 15px;
    }
    
    .posts-list {
        gap: 20px;
    }
}

/* ---------------------------------------------
   PC表示時のブログ系ページ余白強化
   （固定ページと同等の余白・最大幅を適用）
--------------------------------------------- */

@media (min-width: 1024px) {
    .blog .site-main,
    .archive .site-main,
    .search .site-main,
    .single-post .site-main {
        max-width: 1040px;
        margin-inline: auto;
        padding-inline: 32px;
        padding-block: clamp(24px, 5vw, 64px); /* 上下余白 */
    }
    
    .blog .entry,
    .archive .entry,
    .search .entry,
    .single-post .entry {
        margin-block: 24px; /* 記事間の縦余白 */
    }
}

/* =============================================
   Header nav: lock font-size regardless of page context
   ============================================= */

:root {
    --nav-font-size: 14px; /* ヘッダーナビの基準フォントサイズ */
}

.site-header,
.site-header nav,
.site-header .menu,
.site-header .menu a,
.site-header .nav-menu,
.site-header .nav-menu a {
    font-size: var(--nav-font-size) !important;
    line-height: 1.2 !important;
}

/* ブログ系の拡大ルールがヘッダーに波及しないよう明示 */
.blog .site-header,
.blog .site-header *,
.archive .site-header,
.archive .site-header *,
.search .site-header,
.search .site-header *,
.single-post .site-header,
.single-post .site-header * {
    font-size: var(--nav-font-size) !important;
    line-height: 1.2 !important;
}
