/*
 * Catanduvas Admin Theme — tela de login.
 * Fundo escuro elegante, card branco, primária vermelha da marca.
 */

:root {
    --cat-green:      #7CB342;
    --cat-orange:     #F39200;
    --cat-red:        #E63312;
    --cat-red-600:    #C2280C;
    --cat-ink:        #0F1115;
    --cat-ink-700:    #1A1D23;
    --cat-line:       #E3E6EB;
    --cat-text:       #111827;
    --cat-muted:      #6B7280;
}

body.login {
    background:
        radial-gradient(1200px 600px at 80% -10%, rgba(243,146,0,.16), transparent 60%),
        radial-gradient(900px 500px at 0% 100%, rgba(124,179,66,.12), transparent 55%),
        var(--cat-ink);
    color: #E6E8ED;
    font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Centraliza o formulário verticalmente. min-height (não height) deixa o body
   crescer e rolar quando o conteúdo passar da viewport (vários erros, "definir
   nova senha", confirmação de e-mail de admin).
   Exclui o interim-login: o modal de sessão expirada reabre o wp-login.php num
   iframe pequeno dentro do admin e o core o trata com height:auto — forçar
   100vh/centralização ali criaria espaço em branco e scroll no modal. */
body.login:not(.interim-login) {
    min-height: 100vh;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#login {
    padding: 12px 0;
    width: 320px;
    /* Neutraliza o `margin:auto` do core (wp-admin/css/login.css): em flexbox
       ele tem precedência sobre o justify-content e desalinharia o formulário
       quando o language-switcher aparece. A centralização horizontal já vem do
       align-items. O interim e o confirm_admin_email têm regras mais específicas
       no core e continuam mandando no próprio margin. */
    margin: 0;
}

#login h1 a {
    width: 240px;
    height: 64px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 auto 14px;
    /* Fallback SVG (URL-encoded p/ máxima compat). Sobrescrito quando login_logo_url está definido. */
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 84'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23F39200'/%3E%3Cstop offset='1' stop-color='%23E63312'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='40' cy='42' r='22' fill='none' stroke='%237CB342' stroke-width='6'/%3E%3Cpath d='M30 42 q10 -16 20 0' fill='none' stroke='%237CB342' stroke-width='6' stroke-linecap='round'/%3E%3Ctext x='78' y='54' font-family='sans-serif' font-weight='800' font-size='30' fill='url(%23g)'%3ECatanduvas%3C/text%3E%3C/svg%3E");
}

#loginform, .login form {
    background: #fff;
    border: 1px solid var(--cat-line);
    border-radius: 10px;
    box-shadow: 0 18px 36px rgba(0,0,0,.32);
    padding: 20px 20px 14px;
    margin-top: 6px;
}

.login form .input,
.login input[type="text"],
.login input[type="password"] {
    background: #fff;
    color: var(--cat-text);
    border: 1px solid var(--cat-line);
    border-radius: 6px;
    font-size: 13.5px;
    padding: 7px 10px;
    line-height: 1.5;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus {
    border-color: var(--cat-red);
    box-shadow: 0 0 0 2px rgba(230,51,18,.18);
    outline: 0;
}

.login label {
    color: var(--cat-text);
    font-weight: 500;
    font-size: 12.5px;
}
.login form .forgetmenot label,
.login form .pw-weak label {
    color: var(--cat-muted);
    font-size: 12px;
}

.wp-core-ui .button.wp-hide-pw {
    border-radius: 0 6px 6px 0;
    border-color: var(--cat-line);
    background: #fff;
    color: var(--cat-muted);
    box-shadow: none;
}

.wp-core-ui .button-primary,
.login .button.button-large {
    background: var(--cat-red) !important;
    border: 1px solid var(--cat-red) !important;
    color: #fff !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 6px 14px !important;
    width: 100%;
    transition: background .15s ease, transform .05s ease;
}
.wp-core-ui .button-primary:hover,
.login .button.button-large:hover {
    background: var(--cat-red-600) !important;
    border-color: var(--cat-red-600) !important;
}
.wp-core-ui .button-primary:active { transform: translateY(1px); }

#login #nav, #login #backtoblog {
    padding: 0;
    text-align: center;
    margin-top: 10px;
}
#login #nav a,
#login #backtoblog a {
    color: #CBD1DA !important;
    text-decoration: none;
    font-size: 12px;
    transition: color .15s ease;
}
#login #nav a:hover,
#login #backtoblog a:hover {
    color: var(--cat-orange) !important;
}

.login .privacy-policy-page-link { display: none; }

.login #login_error,
.login .message,
.login .notice {
    background: #fff;
    color: var(--cat-text);
    border: 1px solid var(--cat-line);
    border-left: 3px solid var(--cat-red);
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(0,0,0,.16);
    padding: 8px 12px;
    font-size: 12.5px;
}
.login .message { border-left-color: var(--cat-green); }

/* Indicador de senha */
.login .pw-weak { margin-top: 10px; }
.indicator-hint { color: var(--cat-muted); }

/* Idioma */
.login .language-switcher select {
    border-radius: 8px;
    border-color: rgba(255,255,255,.15);
    background: rgba(255,255,255,.04);
    color: #E6E8ED;
}

/* Acessibilidade */
*:focus-visible {
    outline: 2px solid var(--cat-orange);
    outline-offset: 2px;
    border-radius: 4px;
}
