/*
Theme Name: Bic-Erog Themes
Theme URI: https://blog.bic-erog.com/
Author: Your Name
Author URI: https://your-website.com/
Description: Bic-Erogメインサイトのデザインを共通化したWordPressブログテーマ。
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bic-erog-themes
*/

/* -------------------------------------------------------------
    WordPress Admin Bar Compatibility - 最終版（再々修正）
    WordPressがhtmlに付与するmargin-topを受け入れ、その上でレイアウトを調整します。
------------------------------------------------------------- */

/* WordPressがhtmlに付与するmargin-topを尊重するため、body自体のmargin-topは0に保つ（admin-barの有無に関わらず） */
body {
    margin-top: 0 !important; /* 他の可能性のあるbodyへのmargin-topをリセット */
}

/* 固定ナビバーは、非ログイン時はページ上部に固定、ログイン時は管理バーの下に固定 */
.navbar.fixed-top {
    position: fixed; /* 念のためfixedを明示 */
    top: 0; /* 非ログイン時はページトップに */
    width: 100%; /* 幅を確保 */
    z-index: 1030; /* 管理バーより下の値で、コンテンツより上 */
}

body.admin-bar .navbar.fixed-top {
    top: 32px; /* WordPress Admin Bar のデフォルト高さ (デスクトップ) */
}

/* モバイル対応：管理バーの高さが46pxになる場合 */
@media screen and (max-width: 782px) {
    body.admin-bar .navbar.fixed-top {
        top: 46px; /* モバイル時の管理バー高さ */
    }
}


/* body全体のパディング：固定ヘッダーと管理バーの合計高さを確保 */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #f8f9fa;
    /* 非ログイン時: 固定ナビバーの高さのみ */
    padding-top: 56px; /* 固定ナビバーの高さ (例: Bootstrapのnavbar-expand-lg) */
}

/* ログイン時（管理バー表示時）のbodyのpadding-topを上書き */
/* HTMLに既にmargin-top:32pxが適用されているので、bodyのpadding-topは固定ヘッダーの高さのみで良い */
/* ★★★ここを修正★★★ */
body.admin-bar {
    /* ナビバーの高さ + 管理バーの高さ */
    padding-top: calc(56px + 32px) !important; /* デスクトップ時 */
}

/* モバイル対応：管理バーの高さが46pxになる場合 */
@media screen and (max-width: 782px) {
    body.admin-bar {
        padding-top: calc(56px + 46px) !important; /* モバイル時 */
    }
}
/* ★★★ここまで修正★★★ */


/* サイドバーの sticky top 位置を管理バーに対応させる */
#secondary.widget-area {
    position: sticky;
    top: 56px; /* 非ログイン時: ナビバーの下から開始 */
    height: calc(100vh - 56px); /* 画面の高さからナビバーの高さを引く */
    z-index: 100;
    overflow-x: hidden;
    overflow-y: auto;
    border-right: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

/* ログイン時（管理バー表示時）のサイドバーのsticky top を調整 */
body.admin-bar #secondary.widget-area {
    /* ナビバーのtopが管理バーの下にあるため、そこからの相対位置で計算 */
    top: calc(56px + 32px); /* ナビバーの高さ + デスクトップ管理バーの高さ */
    height: calc(100vh - (56px + 32px)); /* 画面の高さからナビバーとデスクトップ管理バーの合計を引く */
}

/* モバイル対応：管理バーの高さが46pxになる場合 */
@media screen and (max-width: 782px) {
    body.admin-bar #secondary.widget-area {
        top: calc(56px + 46px); /* ナビバーの高さ + モバイル管理バーの高さ */
        height: calc(100vh - (56px + 46px)); /* 画面の高さからナビバーとモバイル管理バーの合計を引く */
    }
}


/* -------------------------------------------------------------
    --- default.php から移行した共通スタイル (変更なし) ---
------------------------------------------------------------- */
.navbar-brand {
    font-weight: bold;
}

#content {
    flex-grow: 1; /* メインコンテンツが残りのスペースを占める */
    padding-bottom: 2rem;
    /* bodyのpadding-topで吸収されるため、ここにmargin-topは不要 */
    /* ★★★前回の追加分は削除またはコメントアウト★★★ */
    /*
    body.admin-bar #content {
        margin-top: 32px;
    }
    @media screen and (max-width: 782px) {
        body.admin-bar #content {
            margin-top: 46px;
        }
    }
    */
    /* ★★★ここまで削除またはコメントアウト★★★ */
}

.main-container-wrapper { /* HTMLにない場合は影響しません */
    flex-grow: 1;
    display: flex;
}

footer {
    flex-shrink: 0;
    padding: 1rem 0;
    background-color: #e9ecef;
    color: #495057;
    border-top: 1px solid #dee2e6;
}

/* ログイン情報表示用のスタイル */
.user-info {
    display: flex;
    align-items: center;
    color: #ffffff;
    margin-right: 15px;
}
.user-info span {
    margin-right: 5px;
}
.user-info .user-name {
    font-weight: bold;
}
.user-info .user-role {
    font-size: 0.8em;
    opacity: 0.8;
}

/* アクティブなサイドバーリンクのスタイル */
.sidebar .nav-link.active {
    color: #0d6efd;
    font-weight: bold;
    background-color: #e2e6ea;
}