@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}


/************************************
** 個々より上は触らない
************************************/

/* ======================================================

   イベント管理システム：最新統合デザインパッケージ（ board対応版 ）

   ====================================================== */



/* --- 全ページ共通コンテナ --- */

.event-full-detail-container,

.event-schedule-container {

    max-width: 1200px;

    margin: 40px auto;

    padding: 0 20px;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    color: #333;

}



.page-title {

    text-align: center;

    margin-bottom: 35px;

    font-size: 24px;

    font-weight: bold;

    color: #1e293b;

}



/* 共通：ナビゲーションボタン（前月/翌月・前週/翌週） */

.back-btn {

    display: inline-block;

    padding: 10px 22px;

    font-size: 14px;

    font-weight: bold;

    text-decoration: none;

    border-radius: 6px;

    text-align: center;

    transition: all 0.2s ease;

}

.btn-week {

    background: #ffffff;

    color: #475569;

    border: 1px solid #cbd5e1;

}

.btn-week:hover {

    background: #f1f5f9;

    border-color: #94a3b8;

}

.btn-month {

    background: #0073aa;

    color: #ffffff;

    border: 1px solid #0073aa;

}

.btn-month:hover {

    background: #005984;

    border-color: #005984;

}



/* 共通：予定カード（週間・月間共通） */

.event-link-card {

    display: block;

    background: #e3f2fd;

    color: #0d47a1;

    padding: 10px;

    margin-bottom: 8px;

    border-radius: 4px;

    font-size: 13px;

    font-weight: bold;

    text-decoration: none;

    border-left: 4px solid #111; /* シックな黒のアクセント線 */

    transition: all 0.2s ease;

}

.event-link-card:hover {

    background: #1e88e5;

    color: #fff;

    transform: translateY(-1px);

    box-shadow: 0 2px 5px rgba(0,0,0,0.1);

}

.no-event-text {

    text-align: center;

    color: #94a3b8;

    font-size: 12px;

    margin-top: 15px;

}



/* 共通：曜日毎のカード枠 */

.day-column {

    background: #fff;

    border: 1px solid #e2e8f0;

    border-radius: 6px;

    overflow: hidden;

    min-height: 180px;

    box-shadow: 0 2px 6px rgba(0,0,0,0.02);

}

.day-column.is-today {

    border: 2px solid #ff9800;

    box-shadow: 0 0 10px rgba(255,152,0,0.15);

}

.day-body {

    padding: 10px;

}





/* ======================================================

   1. 【page-week.php】週間スケジュール専用

   ====================================================== */

.weekly-grid {

    display: grid;

    grid-template-columns: repeat(7, 1fr);

    gap: 12px;

    align-items: start;

}

.weekly-grid .day-header {

    padding: 12px;

    text-align: center;

    background: #f8fafc;

    border-bottom: 1px solid #e2e8f0;

    display: flex;

    flex-direction: column;

    gap: 4px;

}

.weekly-grid .day-name {

    font-weight: bold;

    font-size: 14px;

}

.weekly-grid .day-date {

    font-size: 12px;

    color: #64748b;

}

.weekly-grid .day-6 .day-name { color: #0073aa; } /* 土曜日 */

.weekly-grid .day-7 .day-name { color: #d32f2f; } /* 日曜日 */





/* ======================================================

   2. 【page-month.php】月間スケジュール（拡張ボード版）

   ====================================================== */

.monthly-extended-board {

    display: flex;

    flex-direction: column;

    gap: 12px;

}



/* ① 最上部の固定独立曜日ヘッダー */

.fixed-week-header-row {

    display: grid;

    grid-template-columns: repeat(7, 1fr);

    gap: 12px;

    text-align: center;

    background: #111; /* シックな黒ベース */

    color: #fff;

    padding: 14px 0;

    border-radius: 6px;

    font-weight: bold;

    font-size: 14px;

}

.fixed-week-header-row .sat-label { color: #38bdf8; } /* 土曜（ライトブルー） */

.fixed-week-header-row .sun-label { color: #f87171; } /* 日曜（ライトレッド） */



/* ② 週間カードが下に自動改行して増えていくグリッド */

.monthly-weeks-container {

    display: grid;

    grid-template-columns: repeat(7, 1fr);

    gap: 12px;

    align-items: start;

}

.monthly-weeks-container .day-header {

    padding: 8px;

    text-align: center;

    background: #f8fafc;

    border-bottom: 1px solid #e2e8f0;

}

.monthly-weeks-container .day-date {

    font-size: 13px;

    font-weight: bold;

    color: #475569;

}



/* 今月以外の前月・次月の残像カードを半透明化 */

.other-month-card {

    opacity: 0.35;

    background: #f1f5f9;

}





/* ======================================================

   3. 【page-single.php】イベントデータ詳細フル網羅カード

   ====================================================== */

.event-complete-card {

    background: #ffffff;

    border: 1px solid #e2e8f0;

    border-radius: 12px;

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);

    padding: 40px;

}

.event-full-header {

    border-bottom: 3px solid #f1f5f9;

    padding-bottom: 20px;

    margin-bottom: 35px;

}

.event-badge {

    display: inline-block;

    background: #111;

    color: #ffffff;

    font-size: 11px;

    font-weight: bold;

    padding: 3px 12px;

    border-radius: 20px;

    letter-spacing: 1px;

    margin-bottom: 12px;

}

.event-full-title {

    font-size: 28px;

    color: #0f172a;

    margin: 0;

    line-height: 1.4;

}

.sub-section-title {

    font-size: 18px;

    color: #0f172a;

    border-left: 5px solid #111;

    padding-left: 12px;

    margin: 40px 0 20px 0;

}



/* 情報網羅テーブル */

.event-info-table {

    width: 100%;

    border-collapse: collapse;

    margin-bottom: 30px;

}

.event-info-table th, 

.event-info-table td {

    padding: 18px 20px;

    border-bottom: 1px solid #e2e8f0;

    font-size: 15px;

    line-height: 1.6;

}

.event-info-table th {

    width: 25%;

    background: #f8fafc;

    color: #475569;

    text-align: left;

    font-weight: bold;

    white-space: nowrap;

}

.event-info-table td {

    color: #0f172a;

    background: #ffffff;

}

.event-info-table tr:first-child th,

.event-info-table tr:first-child td {

    border-top: 1px solid #e2e8f0;

}

.event-info-table th i {

    color: #0073aa;

    margin-right: 8px;

    width: 20px;

    text-align: center;

}



/* 説明文（本文）エリア */

.event-main-content {

    font-size: 16px;

    line-height: 1.9;

    color: #334155;

    background: #fafafa;

    padding: 25px;

    border-radius: 8px;

    border: 1px solid #f1f5f9;

}

.event-full-footer {

    margin-top: 50px;

    padding-top: 25px;

    border-top: 1px solid #e2e8f0;

}

.navigation-buttons {

    display: flex;

    gap: 20px;

    justify-content: center;

}





/* ======================================================

   4. レスポンシブ対応（横幅960px以下のスマホ・タブレット用）

   ====================================================== */

@media screen and (max-width: 960px) {

    /* 共通レイアウトの縦一列化 */

    .weekly-grid,

    .monthly-weeks-container {

        grid-template-columns: 1fr;

        gap: 15px;

    }

    

    /* 月間スケジュールの最上部曜日バーはスマホでは非表示 */

    .fixed-week-header-row {

        display: none;

    }

    

    /* スマホ表示のとき、カードの上部に曜日名を自動で復活させる親切設計 */

    .monthly-weeks-container .day-1 .day-header::before { content: "月曜日 ─ "; font-weight: bold; color: #475569; }

    .monthly-weeks-container .day-2 .day-header::before { content: "火曜日 ─ "; font-weight: bold; color: #475569; }

    .monthly-weeks-container .day-3 .day-header::before { content: "水曜日 ─ "; font-weight: bold; color: #475569; }

    .monthly-weeks-container .day-4 .day-header::before { content: "木曜日 ─ "; font-weight: bold; color: #475569; }

    .monthly-weeks-container .day-5 .day-header::before { content: "金曜日 ─ "; font-weight: bold; color: #475569; }

    .monthly-weeks-container .day-6 .day-header::before { content: "土曜日 ─ "; font-weight: bold; color: #0073aa; }

    .monthly-weeks-container .day-7 .day-header::before { content: "日曜日 ─ "; font-weight: bold; color: #d32f2f; }



    /* 詳細ページの変形 */

    .event-complete-card { padding: 24px 16px; }

    .event-full-title { font-size: 22px; }

    .event-info-table th, 

    .event-info-table td {

        display: block;

        width: 100%;

    }

    .event-info-table th {

        background: #f1f5f9;

        padding: 10px 15px;

        border-bottom: none;

    }

    .event-info-table td {

        padding: 15px;

    }

    .event-info-table tr:first-child th { border-top: 1px solid #e2e8f0; }

    

    /* ボタンの縦配列化 */

    .navigation-buttons {

        flex-direction: column;

        gap: 12px;

    }

    .back-btn {

        width: 100%;

    }

}