/* ============================================================
   LOSSCAN – auth / page-specific overrides
============================================================ */

/* ログインページではサイトヘッダーを非表示 */
body.page-login .header,
body.page-login .mobile-nav,
body.page-login .float-cta,
body.page-login .site-cursor,
body.page-login .footer { display: none !important; }

/* float-cta マイページ・ログアウトボタン拡張スタイル */
.float-cta__btn--mypage {
    position: relative;
    background: linear-gradient(135deg, #BE185D 0%, #831843 100%);
    color: var(--c-white, #fff);
    border: 1px solid rgba(236, 72, 153,.4);
    box-shadow: 0 4px 18px rgba(0,0,0,.35), 0 1px 0 rgba(255,255,255,.08) inset;
}
.float-cta__btn--mypage:hover {
    background: linear-gradient(135deg, #4B2040 0%, #BE185D 100%);
    border-color: rgba(236, 72, 153,.7);
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(0,0,0,.45), 0 1px 0 rgba(255,255,255,.12) inset;
    color: var(--c-white, #fff);
}

.float-cta__btn--logout {
    background: rgba(190, 24, 93,.75);
    color: rgba(255,255,255,.75);
    border: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 2px 10px rgba(0,0,0,.2);
}
.float-cta__btn--logout:hover {
    background: rgba(239,68,68,.85);
    color: var(--c-white, #fff);
    border-color: rgba(239,68,68,.5);
    transform: translateY(-4px);
    box-shadow: 0 6px 22px rgba(239,68,68,.35);
}

/* フッターのスティッキーレイアウト */
.l-site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.l-site > main,
.l-site > .l-main {
    flex: 1 0 auto;
}

/* 法律ページ – ヘッダー常時白 */
.legal-page .header { background: rgba(255,255,255,.98) !important; box-shadow: 0 1px 0 var(--c-border, #FBCFE8) !important; }
.legal-page .header .logo { color: var(--c-accent, #EC4899) !important; }
.legal-page .header .nav-item a:not(.btn) { color: var(--c-text, #4B2040) !important; }
