/**
 * WordPress ログイン画面カスタムスタイル
 *
 * デザイン：シンプル・ミニマル・モダン
 * カラー：ホワイト＆グレーベース
 */

/* =========================================
   ベーススタイル
========================================= */
body.login {
    background: #ffffff !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
    color: #333333 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
}

body.login div#login {
    padding: 0 !important;
    width: 400px !important;
    max-width: 90vw !important;
}


body.login .message, .login .notice, .login #login_error, body.login #login-message {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    text-align: center !important;
}
body.login #login_error {
    background: #FFF !important;
    border: none !important;
}
/* =========================================
   ロゴスタイル
========================================= */
.login h1 {
    text-align: center !important;
    margin-bottom: 40px !important;
}

.login h1 a {
    background-image: url('../img/login/login-logo.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 300px !important;
    height: 80px !important;
    display: block !important;
    text-indent: -9999px !important;
    margin: 0 auto !important;
    border: none !important;
    outline: none !important;
    text-decoration: none !important;
    transition: opacity 0.3s ease !important;
}

.login h1 a:hover {
    opacity: 0.8 !important;
}

/* =========================================
   フォームスタイル
========================================= */
.login form {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-top: 20px !important;
}

/* ラベルスタイル */
.login label {
    color: #666666 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    margin-bottom: 5px !important;
    display: block !important;
}

/* 入力フィールドスタイル */
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
    border: none !important;
    border-bottom: 1px solid #dddddd !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 16px !important;
    padding: 12px  !important;
    width: 100% !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.3s ease !important;
    margin-bottom: 20px !important;
    color: #333333 !important;
}

.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus {
    border-bottom-color: #333333 !important;
    box-shadow: none !important;
    outline: none !important;
}
[for="siteguard_captcha"] + br {
    display: none !important;
}

/* プレースホルダースタイル */
.login input::placeholder {
    color: #999999 !important;
    opacity: 1 !important;
}

/* パスワード表示ボタン */
.password-toggle {
    position: absolute !important;
    right: 0 !important;
    top: calc(50% - 10px) !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    color: #666666 !important;
    font-size: 16px !important;
    padding: 0 8px !important;
    transition: color 0.3s ease !important;
    z-index: 10 !important;
}

.password-toggle:hover {
    color: #333333 !important;
}

/* Remember Meチェックボックス */
.login .forgetmenot {
    margin-bottom: 20px !important;
    display: none !important;
}

.login .forgetmenot input {
    margin-right: 8px !important;
}

.login .forgetmenot label {
    font-size: 14px !important;
    color: #666666 !important;
}

.login .button.wp-hide-pw {
    display: none !important;
}

/* =========================================
   ボタンスタイル
========================================= */
.login .button-primary {
    background: #333333 !important;
    border: none !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    width: 100% !important;
    height: auto !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transition: background-color 0.3s ease !important;
    cursor: pointer !important;
    margin-top: 10px !important;
}

.login .button-primary:hover,
.login .button-primary:active,
.login .button-primary:focus {
    background: #222222 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* =========================================
   リンクスタイル
========================================= */
.login #nav,
.login #backtoblog {
    text-align: center !important;
    margin: 20px 0 0 !important;
    display: none !important;
}

.login #nav a,
.login #backtoblog a {
    color: #666666 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: color 0.3s ease !important;
}

.login #nav a:hover,
.login #backtoblog a:hover {
    color: #333333 !important;
}

.language-switcher {
    display: none !important;
}

/* =========================================
   エラーメッセージ
========================================= */
.login .message,
.login .notice,
.login #login_error {
    background: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 4px !important;
    color: #495057 !important;
    padding: 12px 16px !important;
    margin-bottom: 20px !important;
    box-shadow: none !important;
}

.login #login_error {
    background: #f8d7da !important;
    border-color: #f5c6cb !important;
    color: #721c24 !important;
}

/* =========================================
   レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
    body.login div#login {
        width: 90% !important;
        padding: 5% 0 0 !important;
    }

    .login h1 a {
        width: 250px !important;
        height: 65px !important;
    }

    .login input[type="text"],
    .login input[type="password"],
    .login input[type="email"] {
        font-size: 16px !important; /* iOS ズーム防止 */
    }
}

/* =========================================
   フォーカス・アクセシビリティ
========================================= */
.login input:focus,
.login button:focus {
    outline: 2px solid #333333 !important;
    outline-offset: 2px !important;
}

/* プリファード モーション減少対応 */
@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        animation: none !important;
    }
}

/* =========================================
   カスタムアニメーション
========================================= */
.login form {
    animation: fadeInUp 0.5s ease-out !important;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Reduce motion preference support */
@media (prefers-reduced-motion: reduce) {
    .login form {
        animation: none !important;
    }
}