/* ═══════════════════════════════════════════════════════════════════════════
   HFP Intranet - Custom Login Page
   HIGH SPECIFICITY — overrides Woffice + WP defaults
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── Base Reset ──────────────────────────────────────────────────────────── */

html body.login,
body.login {
    background: #ffffff !important;
    font-family: 'Lato', sans-serif !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
}

/* ─── Split Layout: Left Panel (centered form) ────────────────────────────── */

html body.login div#login,
body.login #login {
    width: 50% !important;
    max-width: 50% !important;
    margin: 0 !important;
    padding: 40px 60px !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 100vh !important;
    float: none !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

html body.login div#login h1,
html body.login div#login form#loginform,
html body.login div#login #login_error,
body.login #login h1,
body.login #login #loginform,
body.login #login #login_error {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 420px !important;
}

/* ─── Logo / Brand ─────────────────────────────────────────────────────────── */

html body.login div#login h1,
body.login #login h1 {
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

html body.login div#login h1 a,
body.login #login h1 a {
    display: block !important;
    background: none !important;
    background-image: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    color: #c71648 !important;
    pointer-events: none !important;
    line-height: 1.1 !important;
    text-align: left !important;
    overflow: visible !important;
}

/* KILL the accent bar — pseudo-elements AND borders */
html body.login div#login h1,
body.login #login h1 {
    border: none !important;
    border-left: none !important;
    padding-left: 0 !important;
    position: relative !important;
}
html body.login div#login h1::before,
html body.login div#login h1::after,
body.login #login h1::before,
body.login #login h1::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: none !important;
    background: none !important;
}
html body.login div#login h1 a,
body.login #login h1 a {
    border: none !important;
    border-left: none !important;
    padding-left: 0 !important;
}
html body.login div#login h1 a::before,
html body.login div#login h1 a::after,
body.login #login h1 a::before,
body.login #login h1 a::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: none !important;
    background: none !important;
}

/* Logo image */
body.login .hfp-login-logo-img,
.hfp-login-logo-img {
    width: 200px !important;
    max-width: 260px !important;
    max-height: 120px !important;
    height: auto !important;
    display: block !important;
    margin: 0 0 8px 0 !important;
}

/* ─── Form ─────────────────────────────────────────────────────────────────── */

html body.login div#login form#loginform,
body.login #loginform {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    border-radius: 0 !important;
}

html body.login #loginform p {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

html body.login #loginform label,
body.login #loginform label {
    font-family: 'Lato', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 19.5px !important;
    color: #131313 !important;
    margin: 0 0 9px !important;
    display: block !important;
}

/* Inputs — pill-shaped */
html body.login #loginform input[type="text"],
html body.login #loginform input[type="password"],
body.login #loginform input[type="text"],
body.login #loginform input[type="password"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 40px !important;
    height: auto !important;
    padding: 10px 20px !important;
    border: none !important;
    border-radius: 25px !important;
    background: #F4F5F6 !important;
    background-color: #F4F5F6 !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #343a40 !important;
    box-shadow: none !important;
    outline: none !important;
    margin: 0 !important;
    transition: all 0.3s ease-in-out !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
}

html body.login #loginform input[type="text"]:focus,
html body.login #loginform input[type="password"]:focus {
    background: #eef0f1 !important;
    background-color: #eef0f1 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Password field spacing — WP uses .user-pass-wrap */
html body.login #loginform p.login-password,
body.login #loginform .login-password,
html body.login #loginform .user-pass-wrap,
body.login #loginform .user-pass-wrap {
    margin: 27px 0 15px !important;
}

/* Remember Me — checkbox is sibling of label, not inside it */
html body.login #loginform p.login-remember,
body.login #loginform .forgetmenot,
html body.login div#login form#loginform p.forgetmenot,
html body.login div#login form#loginform p.login-remember {
    margin: 0 !important;
    padding-left: 3px !important;
    padding-bottom: 10px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
}

html body.login #loginform p.login-remember label,
body.login #loginform .forgetmenot label {
    margin: 0 !important;
    display: inline !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #131313 !important;
}

html body.login #loginform input[type="checkbox"],
body.login #loginform input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(133, 144, 166, 0.2) !important;
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
    accent-color: #c71648 !important;
}

html body.login #loginform input[type="checkbox"]:checked {
    background-color: #c71648 !important;
    border-color: #c71648 !important;
}

/* Submit Button — full-width, pill-shaped */
html body.login #loginform p.login-submit,
body.login #loginform .submit {
    margin: 18px 0 0 !important;
    display: block !important;
}

html body.login #loginform .button-primary,
html body.login #loginform #wp-submit,
body.login #loginform .button-primary,
body.login #wp-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: 40px !important;
    height: auto !important;
    padding: 10px 32px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 120px !important;
    background: #c71648 !important;
    background-color: #c71648 !important;
    border: none !important;
    border-radius: 25px !important;
    color: #ffffff !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 21px !important;
    text-transform: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease-in-out !important;
    text-shadow: none !important;
    box-shadow: none !important;
    outline: none !important;
    float: none !important;
}

html body.login #loginform .button-primary:hover,
html body.login #loginform #wp-submit:hover {
    color: #ffffff !important;
    filter: brightness(1.12) !important;
    background: #c71648 !important;
    background-color: #c71648 !important;
}

html body.login #loginform .button-primary:focus,
html body.login #loginform #wp-submit:focus {
    outline: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
}

/* ─── HIDE everything we don't need ───────────────────────────────────────── */

html body.login #nav,
html body.login #backtoblog,
html body.login .message,
html body.login p.message,
html body.login div.message,
html body.login .privacy-policy-page-link,
html body.login .language-switcher,
body.login #nav,
body.login #backtoblog,
body.login .message,
body.login .privacy-policy-page-link {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ─── Error Box — fixed bottom-right like Woffice infobox ─────────────────── */

html body.login div#login #login_error,
body.login #login_error {
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    left: auto !important;
    top: auto !important;
    z-index: 9999 !important;
    width: auto !important;
    max-width: 320px !important;
    min-width: 200px !important;
    border: none !important;
    border-left: none !important;
    border-radius: 15px !important;
    padding: 20px !important;
    margin: 0 !important;
    font-size: 14px !important;
    font-family: 'Lato', sans-serif !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18) !important;
    background: #EB5757 !important;
    background-color: #EB5757 !important;
    color: #ffffff !important;
    animation: hfp-toast-in 0.4s ease-out;
}

html body.login div#login #login_error a,
body.login #login_error a {
    color: #ffffff !important;
    text-decoration: underline !important;
}

html body.login div#login #login_error strong,
body.login #login_error strong {
    font-weight: 600 !important;
}

/* ─── Right Panel (Image) — NO overlay ────────────────────────────────────── */

.hfp-login-image-panel {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    width: calc(50% - 30px) !important;
    height: calc(100vh - 40px) !important;
    overflow: hidden !important;
    z-index: 1 !important;
    border-radius: 20px !important;
    background-color: #e9e9e9 !important;
}

.hfp-login-image-panel img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    opacity: 1 !important;
    filter: none !important;
    transition: transform 0.6s ease !important;
}

.hfp-login-image-panel:hover img {
    transform: scale(1.05) !important;
}

/* KILL any overlay — multiple approaches */
.hfp-login-image-panel::before,
.hfp-login-image-panel::after,
.hfp-login-image-panel *::before,
.hfp-login-image-panel *::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    background: none !important;
    background-color: transparent !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* ─── Toast (logout success) ──────────────────────────────────────────────── */

.hfp-login-toast {
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    z-index: 9999 !important;
    min-width: 200px !important;
    background: #21BD98 !important;
    color: #ffffff !important;
    padding: 20px !important;
    border: none !important;
    border-radius: 15px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18) !important;
    animation: hfp-toast-in 0.4s ease-out, hfp-toast-out 0.4s ease-in 3.5s forwards !important;
    max-width: 280px !important;
}

.hfp-login-toast svg {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

.hfp-login-toast strong {
    display: block !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 2px !important;
}

@keyframes hfp-toast-in {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes hfp-toast-out {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(20px); }
}

/* ─── Password toggle eye ──────────────────────────────────────────────────── */

body.login .wp-pwd {
    position: relative !important;
}

body.login .wp-pwd .button.wp-hide-pw {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #8590A6 !important;
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    padding: 0 8px !important;
    min-height: auto !important;
    height: auto !important;
}

body.login .wp-pwd .button.wp-hide-pw .dashicons {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
}

/* ─── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 992px) {
    html body.login div#login,
    body.login #login {
        width: 100% !important;
        max-width: 100% !important;
        padding: 40px !important;
    }

    .hfp-login-image-panel {
        display: none !important;
    }

    html body.login div#login #login_error,
    .hfp-login-toast {
        right: 20px !important;
        bottom: 20px !important;
    }
}

@media (max-width: 600px) {
    html body.login div#login,
    body.login #login {
        padding: 30px 24px !important;
    }

    html body.login div#login h1 a,
    body.login #login h1 a {
        font-size: 1.8rem !important;
    }

    body.login .hfp-login-logo-img {
        width: 160px !important;
    }
}

/* ─── No-Image Fallback ────────────────────────────────────────────────────── */

html body.login.hfp-no-login-image,
body.login.hfp-no-login-image {
    background: linear-gradient(135deg, #c71648 0%, #a01239 100%) !important;
}

html body.login.hfp-no-login-image div#login,
body.login.hfp-no-login-image #login {
    width: 100% !important;
    max-width: 460px !important;
    margin: 0 auto !important;
    padding: 50px 60px !important;
    min-height: auto !important;
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

html body.login.hfp-no-login-image div#login h1 a,
body.login.hfp-no-login-image #login h1 a {
    color: #1a1a2e !important;
}

@media (max-width: 600px) {
    html body.login.hfp-no-login-image div#login,
    body.login.hfp-no-login-image #login {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 20px auto !important;
        padding: 40px 24px !important;
        border-radius: 12px !important;
        max-width: calc(100% - 32px) !important;
    }
}
