/* ============================================================
   RETAIN SIGNAL – 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, #14532D 0%, #052E16 100%);
  color: var(--c-white, #fff);
  border: 1px solid rgba(34, 197, 94, 0.4);
  box-shadow:
    0 4px 18px rgba(0, 0, 0, 0.35),
    0 1px 0 rgba(255, 255, 255, 0.08) inset;
}
.float-cta__btn--mypage:hover {
  opacity: 0.9;
}

.float-cta__btn--logout {
  background: rgba(20, 83, 45, 0.75);
  color: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
.float-cta__btn--logout:hover {
  opacity: 0.9;
}

/* フッターのスティッキーレイアウト */
.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, 0.98) !important;
  box-shadow: 0 1px 0 var(--c-border, #e2e8f0) !important;
}
.legal-page .header .logo {
  color: var(--c-accent, #22C55E) !important;
}
.legal-page .header .nav-item a:not(.btn) {
  color: var(--c-text, #16A34A) !important;
}
