@charset "UTF-8";

/* =========================================================
   Base / Reset
   - 全要素の初期化とボックスモデル統一
========================================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* =========================================================
   Global Layout & Typography
   - サイト全体の背景・フォント・基本色設定
========================================================= */
body {
    background-color: #008080;
    background-image: url('https://www.transparenttextures.com/patterns/diagmonds-light.png');

    font-family: "MS PGothic", "Osaka", sans-serif;
    line-height: 1.4;
    color: #000000;
}

/* =========================================================
   Link Styles
   - 全体のリンクデザイン（通常・hover）
========================================================= */
a {
    color: #0000FF;
    text-decoration: underline;
}

a:hover {
    color: #FF0000;
    text-decoration: none;
}

/* =========================================================
   Layout Container
   - コンテンツ最大幅と中央寄せ制御
========================================================= */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
}

/* =========================================================
   Header
   - サイトタイトル・サブタイトル領域
========================================================= */
header {
    background-color: #C0C0C0;
    padding: 20px 0 0 0;
    border-bottom: 3px outset #FFFFFF;
    margin-bottom: 30px;
    text-align: center;
}

header h1 a {
    color: #000080;
    font-size: 2.5rem;
    font-weight: bold;
    text-decoration: none;
    text-shadow: 2px 2px 0 #FFFFFF, 4px 4px 0 #808080;
}

.site-desc {
    color: #000000;
    font-size: 1rem;
    margin-top: 10px;
    margin-bottom: 20px;
}

/* =========================================================
   Global Navigation (Category Nav)
   - 上部カテゴリメニュー
========================================================= */
.category-nav {
    background-color: #808080;
    border-top: 2px inset #FFFFFF;
    padding: 5px 0;
}

.category-nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.category-nav a {
    color: #FFFF00;
    font-weight: bold;
    font-size: 0.9rem;
    text-decoration: none;

    display: inline-block;   /* 幅（width）を指定できるようにする */
    width: 140px;            /* ボタン1つの横幅（お好みで 120px〜160px 等に調整してください） */
    text-align: center;      /* ボタン内の文字を中央寄せにする */

    background-color: #808080; /* ボタンの背景をグレーに */
    color: #FFFF00;            /* 文字色をネイビーに */
    border: 2px outset #FFFFFF;/* 立体的なボタン枠 */
    padding: 3px 0;            /* 上下に少し隙間を作る */
}

.category-nav a:hover {
    background-color: #FFFFFF; /* 背景を白に */
    color: #FF0000;            /* 文字を赤に */
    text-decoration: none;     /* 下線はなしのまま */
}

/* =========================================================
   Main Layout (2-column)
   - main + aside の横並び構成
========================================================= */
.wrapper {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

main {
    flex: 1;
    min-width: 0;
}

aside {
    width: 320px;
    flex-shrink: 0;
}

/* =========================================================
   Post Card (Article List Item)
   - 記事一覧のカードUI
========================================================= */
.post-card {
    background-color: #FFFFFF;
    padding: 15px;
    margin-bottom: 25px;
    border: 4px outset #C0C0C0;
}

.post-card h2 {
    font-size: 1.3rem;
    margin-bottom: 10px;
    background-color: #000080;
    color: #FFFFFF;
    padding: 5px;
}

.post-card h2 a {
    color: #FFFFFF;
    text-decoration: none;
}

.post-card h2 a:hover {
    text-decoration: underline;
}

.post-meta {
    font-size: 0.8rem;
    color: #808080;
    margin-bottom: 10px;
    text-align: right;
}

.post-excerpt {
    font-size: 0.95rem;
    color: #000000;
    margin-bottom: 10px;
}

.read-more {
    font-size: 0.9rem;
    font-weight: bold;
    color: #FF0000;
}

/* 記事本文内のリストが左側へめり込むのを防ぐ */
.post-content ul, 
.post-content ol {
    margin-left: 25px;   /* 左側に少し隙間を空けて、数字やマークを内側に入れる */
    margin-bottom: 10px; /* リストの下側にも少し隙間を空けて読みやすく */
}

.post-content li {
    margin-bottom: 5px;  /* 箇条書きの項目ごとの行間を少しあける */
}

.post-content p {
    margin-bottom: 1.2em; /* 1文字分強の隙間を空ける（お好みで 15px や 1.5em などに調整してください） */
}

/* =========================================================
   Pagination
   - ページ送りUI
========================================================= */
.pagination {
    text-align: center;
    margin: 30px 0;
    padding: 10px;
    background-color: #C0C0C0;
    border: 3px inset #FFFFFF;
}

.pagination a,
.pagination span {
    display: inline-block;
    padding: 5px 12px;
    margin: 0 3px;
    font-weight: bold;
    font-size: 1rem;
    text-decoration: none;
}

.pagination a {
    background-color: #E0E0E0;
    color: #0000FF;
    border: 2px outset #FFFFFF;
}

.pagination a:hover {
    background-color: #FFFFFF;
    color: #FF0000;
}

.pagination .current-page {
    background-color: #808000;
    color: #FFFF00;
    border: 2px inset #FFFFFF;
}

/* =========================================================
   Sidebar Widgets
   - サイドバー内の各ブロック共通スタイル
========================================================= */
.sidebar-widget {
    background-color: #C0C0C0;
    padding: 10px;
    margin-bottom: 25px;
    border: 3px inset #FFFFFF;
}

.sidebar-widget h3 {
    font-size: 1rem;
    background-color: #808000;
    color: #FFFF00;
    padding: 3px;
    margin-bottom: 10px;
    text-align: center;
}

/* =========================================================
   Recent Posts List
========================================================= */
.recent-posts {
    list-style: square;
    margin-left: 20px;
}

.recent-posts li {
    margin-bottom: 5px;
    font-size: 0.85rem;
}

/* =========================================================
   Access Counter
   - 数値表示部分（デジタル風カウンター）
========================================================= */
.counter-box {
    text-align: center;
    font-size: 0.85rem;
    padding: 5px 0;
    color: #000000;
}

.counter_num {
    display: inline-block;
    background-color: #000000;
    color: #00FF00;
    font-family: "Courier New", monospace;
    font-weight: bold;
    font-size: 1.2rem;
    padding: 2px 8px;
    margin: 0 3px;
    border: 2px inset #808080;
    letter-spacing: 2px;
}

/* =========================================================
   Footer
========================================================= */
footer {
    background-color: #000000;
    color: #FFFFFF;
    text-align: center;
    padding: 15px 0;
    margin-top: 40px;
    border-top: 3px solid #FF0000;
    font-size: 0.8rem;
}

/* =========================================================
   Responsive (Mobile)
   - 768px以下でのレイアウト調整
========================================================= */
@media (max-width: 768px) {
    .wrapper {
        flex-direction: column;
    }

    aside {
        width: 100%;
    }

    header h1 a {
        font-size: 1.8rem;
    }
}

/* =========================================================================
   8. いいねボタン（拍手機能）の装飾
   ========================================================================= */

/* 通常時のボタン（Windows 95風立体ボタン） */
.like-btn {
    font-family: "MS PGothic", "Osaka", sans-serif;
    font-size: 1.1rem;
    font-weight: bold;
    background-color: #C0C0C0;   /* 定番のグレー */
    color: #000000;
    padding: 6px 20px;
    border: 3px outset #FFFFFF;  /* 出っ張った立体感 */
    cursor: pointer;
}

.like-btn:active {
    border: 3px inset #FFFFFF;   /* クリックした瞬間に凹む演出 */
    padding: 7px 19px 5px 21px;  /* 押したときに文字がちょっとズレる当時のリアルな再現 */
}

.like-btn:hover {
    background-color: #D4D4D4;
}

/* 投票済みで無効化（disabled）されたボタン */
.like-btn.liked {
    background-color: #808080;   /* 濃いグレー（非活性） */
    color: #C0C0C0;              /* 文字を薄く */
    border: 3px inset #FFFFFF;   /* ずっと凹んだ状態 */
    cursor: not-allowed;
}

/* カウンターの文字 */
.like-counter {
    margin-top: 10px;
    font-size: 0.9rem;
    color: #000000;
}

.like-num {
    font-weight: bold;
    color: #FF0000;              /* いいね数は赤文字で強調 */
    font-size: 1.1rem;
}