/*
 * トップページ（未ログイン/ログイン）共通セクションCSS
 * 対象: /  /dashboard/top
 * 作成日: 2026-05-25
 * スコープ: .page-top-renewal
 *
 * 納品HTML:
 *   - .claude/plans/3uplab_top_no_login.html
 *   - .claude/plans/3uplab_top_login.html
 * 規約: .claude/docs/design_replace_rules.md
 *
 * 設計判断（取り込みプロンプト「特殊指示4」に従う）:
 *   - 3UPラボとは → 未ログイン版デザイン採用（.about-sec / .about-logo-img）
 *   - ここがポイント → 未ログイン版デザイン採用（.pts-sec 系）
 *   - 参加者の声 → 未ログイン版デザイン採用（.voice-sec 系）
 *   - ままフェスタ → ログイン版デザイン採用（.festa-card 系）
 *
 * ローカルエイリアス:
 *   - --mr-r-lg/md/sm: 既存 --mr-radius-* のエイリアス（納品HTML命名互換）
 *   - --mr-cream: 納品色 #FEFAF7 を採用（既存 --mr-cream-light を流用）
 */

/* === ローカル変数定義（命名重複解消・スコープ化） === */
.page-top-renewal {
    --mr-r-lg: var(--mr-radius-lg);
    --mr-r-md: var(--mr-radius-md);
    --mr-r-sm: var(--mr-radius-sm);
}

/* === body のスコープ化（規約7.2） === */
.page-top-renewal {
    font-family: 'Noto Sans JP', sans-serif;
    background: var(--mr-cream-light);
    color: var(--mr-text);
    -webkit-font-smoothing: antialiased;
}
.page-top-renewal a { text-decoration: none; color: inherit; }

/* === セクション共通タイトル === */
.page-top-renewal .section {
    padding: 28px 16px 0;
}
.page-top-renewal .section__title {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 20px;
    font-weight: 900;
    color: var(--mr-text);
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.page-top-renewal .section__title::after {
    content: '';
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, var(--mr-beige-border), transparent);
    border-radius: 2px;
}
.page-top-renewal .section__body {
    max-width: 900px;
    margin: auto;
}

/* === 3UPラボとは（白カード削除・画像のみ表示） === */
.page-top-renewal .about-sec {
    padding: 28px 16px 0;
    text-align: center;
}
.page-top-renewal .about-logo-img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}
@media (min-width: 768px) {
    .page-top-renewal .about-logo-img {
        width: auto;
        max-width: 100%;
        max-height: 500px;
        margin: 0 auto;
    }
}

/* === ここがポイント（未ログイン版.pts-sec採用） === */
.page-top-renewal .pts-sec {
    padding: 28px 16px 0;
}
.page-top-renewal .pts-header {
    text-align: center;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 11px;
    font-weight: 900;
    color: var(--mr-orange);
    letter-spacing: 2px;
    margin-bottom: 6px;
}
.page-top-renewal .pts-header::before,
.page-top-renewal .pts-header::after {
    content: '✦ ';
}
.page-top-renewal .pts-title {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 18px;
    font-weight: 900;
    color: var(--mr-text);
    text-align: center;
    margin-bottom: 16px;
}
.page-top-renewal .pts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.page-top-renewal .pt-card {
    background: var(--mr-white);
    border-radius: var(--mr-r-md);
    border: 1px solid var(--mr-border);
    padding: 16px 8px 14px;
    text-align: center;
    box-shadow: var(--mr-shadow);
}
.page-top-renewal .pt-circle {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff8c00, var(--mr-orange));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto 8px;
    box-shadow: 0 4px 14px rgba(255, 100, 0, 0.25);
}
.page-top-renewal .pt-cval {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 14px;
    font-weight: 900;
    color: #fff;
    line-height: 1;
    text-align: center;
}
.page-top-renewal .pt-label {
    font-size: 10px;
    color: var(--mr-text-light);
    font-weight: 700;
    margin-bottom: 3px;
}
.page-top-renewal .pt-name {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 13px;
    font-weight: 900;
    color: var(--mr-orange);
    margin-bottom: 4px;
    line-height: 1.3;
}
.page-top-renewal .pt-desc {
    font-size: 11px;
    color: var(--mr-text-mid);
    line-height: 1.5;
}

/* === 参加した方の声（未ログイン版採用） === */
.page-top-renewal .voice-sec {
    padding: 28px 16px 0;
}
.page-top-renewal .voice-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.page-top-renewal .voice-card {
    background: var(--mr-white);
    border-radius: var(--mr-r-md);
    border: 1px solid var(--mr-border);
    padding: 14px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    box-shadow: var(--mr-shadow);
    position: relative;
    overflow: hidden;
}
.page-top-renewal .voice-card::before {
    content: '"';
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 80px;
    font-weight: 900;
    color: var(--mr-orange-pale);
    position: absolute;
    right: 10px;
    top: -10px;
    line-height: 1;
    pointer-events: none;
}
.page-top-renewal .voice-card__av {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--mr-beige-border);
}
.page-top-renewal .voice-card__body {
    flex: 1;
    position: relative;
    z-index: 1;
}
.page-top-renewal .voice-txt {
    font-size: 13px;
    line-height: 1.75;
    color: var(--mr-text);
    font-weight: 500;
    margin-bottom: 6px;
}
.page-top-renewal .voice-txt strong {
    color: var(--mr-orange);
    font-weight: 900;
}
.page-top-renewal .voice-name {
    font-size: 11px;
    color: var(--mr-text-light);
    font-weight: 700;
}

/* === ままフェスタ（ログイン版.festa-card採用） === */
.page-top-renewal .festa-sec {
    padding: 28px 16px 0;
}
.page-top-renewal .festa-card {
    background: var(--mr-white);
    border-radius: var(--mr-r-md);
    border: 1px solid var(--mr-border);
    overflow: hidden;
    box-shadow: var(--mr-shadow);
}
.page-top-renewal .festa-card__img {
    width: 100%;
    display: block;
}
.page-top-renewal .festa-card__body {
    padding: 16px 18px 18px;
}
.page-top-renewal .festa-card__badge {
    display: inline-block;
    background: var(--mr-orange);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    padding: 3px 12px;
    border-radius: 20px;
    margin-bottom: 10px;
    letter-spacing: 0.5px;
}
.page-top-renewal .festa-card__title {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 18px;
    font-weight: 900;
    color: var(--mr-text);
    line-height: 1.3;
    margin-bottom: 8px;
}
.page-top-renewal .festa-card__desc {
    font-size: 13px;
    color: var(--mr-text-mid);
    line-height: 1.7;
}
.page-top-renewal .festa-card__desc strong {
    color: var(--mr-orange);
    font-weight: 900;
}
