/* ログインページ全面スキン（UMフォームの機能はそのまま・見た目のみ）
   ページID判定に依存せず、.um-login の存在でスコープする */

/* 背景：ログインフォームがあるページだけドットパターン */
body:has(.um.um-login) .l-content,
body:has(.um.um-login) #content{
    background:#eef0f3;
    background-image:radial-gradient(circle, rgba(150,160,180,.18) 1px, transparent 1.4px);
    background-size:22px 22px;
}
body:has(.um.um-login) .l-mainContent,
body:has(.um.um-login) main{
    padding-top:48px;
    padding-bottom:80px;
    background:transparent;
}

/* ページタイトル「ログイン」→ 中央寄せ見出しに */
body:has(.um.um-login) h1,
body:has(.um.um-login) .c-pageTitle{
    text-align:center;
    font-size:24px;
    font-weight:800;
    color:#1f2733;
    border:none !important;
    letter-spacing:.04em;
}
body:has(.um.um-login) h1::before,
body:has(.um.um-login) h1::after{ display:none !important; }

/* フォーム全体：白カード化して中央へ */
.um.um-login{
    max-width:460px !important;
    margin:18px auto 0 !important;
    background:#fff;
    border:1px solid #e6e9ef;
    border-radius:18px;
    padding:36px 34px 30px;
    box-shadow:0 10px 30px rgba(40,60,120,.08);
    opacity:1 !important;
}
.um.um-login .um-form{ margin:0; }

/* ラベル */
.um.um-login .um-field-label,
.um.um-login .um-field-label label{
    font-size:13px;
    font-weight:700;
    color:#4a5161;
}

/* 入力欄 */
.um.um-login .um-form input[type="text"],
.um.um-login .um-form input[type="password"]{
    height:50px;
    border:1.5px solid #d7dbe2 !important;
    border-radius:12px !important;
    padding:0 16px !important;
    font-size:15px;
    background:#fafbfc !important;
    box-shadow:none !important;
    transition:border-color .15s ease, background .15s ease;
}
.um.um-login .um-form input[type="text"]:focus,
.um.um-login .um-form input[type="password"]:focus{
    border-color:#1b2436 !important;
    background:#fff !important;
    outline:none;
}

/* 「ログイン状態を保存する」チェック行 */
.um.um-login .um-field-checkbox{ font-size:13px; color:#6b7080; }

/* ボタン：ログイン（主）＝濃紺、登録（副）＝白枠 */
.um.um-login .um-button{
    height:52px;
    border-radius:12px !important;
    font-size:15px !important;
    font-weight:800 !important;
    letter-spacing:.04em;
    transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.um.um-login .um-button:not(.um-alt){
    background:#1b2436 !important;
    border:none !important;
    color:#fff !important;
    box-shadow:0 6px 16px rgba(20,30,55,.22);
}
.um.um-login .um-button:not(.um-alt):hover{
    background:#243049 !important;
    transform:translateY(-1px);
}
.um.um-login .um-button.um-alt{
    background:#fff !important;
    border:1px solid #d7dbe2 !important;
    color:#1f2733 !important;
}
.um.um-login .um-button.um-alt:hover{ background:#f7f8fa !important; }

/* パスワードを忘れた リンク */
.um.um-login .um-col-alt-b,
.um.um-login .um-col-alt-b a{
    text-align:center;
    font-size:13px;
    color:#7a828f !important;
    text-decoration:underline;
    text-underline-offset:3px;
}
.um.um-login .um-col-alt-b a:hover{ color:#1b2436 !important; }

/* UMのエラーメッセージを読みやすく */
.um.um-login .um-field-error{
    border-radius:8px;
    font-size:13px;
}

@media (max-width:520px){
    .um.um-login{ padding:26px 18px 22px !important; border-radius:14px; }
    body:has(.um.um-login) h1{ font-size:20px; }
}
