/**
 * Page Base Styles
 * 公開サイトの個別ページ共通スタイル
 * ニュース一覧、オーディション、ガイドラインなどで使用
 */

/* ========================================
   ページベース
   ======================================== */

.page-base {
    min-height: 100vh;
    padding-top: 140px;
    padding-bottom: 80px;
    position: relative;
    z-index: 1;
}

/* モバイル対応 */
@media (max-width: 767px) {
    .page-base {
        padding-top: 64px; /* モバイルヘッダー分 */
    }
}

/* ========================================
   背景設定（黒背景）
   ======================================== */

/* 黒背景ページ用 */
body:has(.page-base.bg-black) .site-background {
    background-image: url('/img/bg_black.png');
    background-size: cover;
    background-position: center;
}

body:has(.page-base.bg-black) .site-background video {
    display: none;
}

/* ========================================
   背景設定（白背景）
   ======================================== */

/* 白背景ページ用 */
body:has(.page-base.bg-white) .site-background {
    background-image: url('/img/bg_white.png');
    background-size: cover;
    background-position: center;
}

body:has(.page-base.bg-white) .site-background video {
    display: none;
}

/* ========================================
   背景設定（オーディション背景）
   ======================================== */

/* オーディション背景ページ用 */
body:has(.page-base.bg-audition) .site-background {
    background-image: url('/img/bg_audition_detail.png');
    background-size: cover;
    background-position: center;
}

body:has(.page-base.bg-audition) .site-background video {
    display: none;
}

/* モバイル対応 */
@media (max-width: 767px) {
    body:has(.page-base.bg-audition) .site-background {
        background-image: url('/img/sumaho_back_audition.png');
    }
}

/* ========================================
   背景設定（ガイドライン背景）
   ======================================== */

/* ガイドライン背景ページ用 */
body:has(.page-base.bg-guideline) .site-background {
    background-image: url('/img/bg_guideline.png');
    background-size: cover;
    background-position: center;
}

body:has(.page-base.bg-guideline) .site-background video {
    display: none;
}

/* ========================================
   コンテナ
   ======================================== */

.page-container {
    max-width: 90%;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    z-index: 2;
}

@media (max-width: 767px) {
    .page-container {
        max-width: 95%;
        padding: 40px 20px;
    }
}

/* ========================================
   ページヘッダー
   ======================================== */

.page-header {
    margin-bottom: 60px;
    text-align: center;
}

.page-title {
    font-size: 4rem;
    font-weight: 900;
    letter-spacing: 0.3em;
    text-align: center;
}

/* 黒背景用（白文字） */
.page-base.bg-black .page-title,
.page-base.bg-audition .page-title {
    color: #f7f9fb;
}

/* 白背景用（黒文字） */
.page-base.bg-white .page-title,
.page-base.bg-guideline .page-title {
    color: #202023;
}

@media (max-width: 767px) {
    .page-title {
        font-size: 2.5rem;
        letter-spacing: 0.2em;
    }
}

/* ========================================
   フッター（共通）
   ======================================== */

#footer {
    background: rgba(27, 23, 32, 0.95);
    color: #f7f9fb;
    padding: 60px 0 30px;
    min-height: auto;
    position: relative;
    z-index: 100; /* パーティクルオーバーレイより上、ヘッダーより下 */
}

#footer .footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}

#footer .footer-section h3 {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
}

#footer .footer-section ul {
    list-style: none;
    padding: 0;
}

#footer .footer-section li {
    margin-bottom: 12px;
}

#footer .footer-section a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: color 0.3s;
}

#footer .footer-section a:hover {
    color: #f7f9fb;
}

#footer .footer-bottom {
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
}

/* モバイル対応 */
@media (max-width: 767px) {
    #footer .footer-content {
        grid-template-columns: 1fr;
    }
}
