/* WEBTAZ Login & Security 2.1 — formal split layout, Vazirmatn, motion. No external assets. */
@property --wtz-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

:root {
    --wtz-accent: #2f4fd8;
    --wtz-accent-2: color-mix(in srgb, var(--wtz-accent) 55%, #22d3ee);
    --wtz-accent-soft: color-mix(in srgb, var(--wtz-accent) 9%, #fff);
    --wtz-ring: color-mix(in srgb, var(--wtz-accent) 20%, transparent);
    --wtz-navy: #060a1a;
    --wtz-ink: #10142a;
    --wtz-muted: #687089;
    --wtz-line: #e3e6ef;
    --wtz-field: #f4f6fb;
    --wtz-canvas: #f6f7fb;
    --wtz-radius: 14px;
    --wtz-panel-w: clamp(400px, 44vw, 680px);
    --wtz-font: "Vazirmatn", Tahoma, Arial, sans-serif;
    --wtz-ease: cubic-bezier(.2, .75, .2, 1);
}

html { min-height: 100%; background: var(--wtz-canvas) !important; }
body.login.wtz-login {
    position: relative;
    direction: rtl;
    box-sizing: border-box;
    min-width: 0;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: 40px 40px 32px calc(var(--wtz-panel-w) + 40px);
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(60% 50% at 70% 0%, color-mix(in srgb, var(--wtz-accent) 7%, transparent), transparent 70%),
        var(--wtz-canvas) !important;
    color: var(--wtz-ink);
    font-family: var(--wtz-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.login.wtz-login *,
body.login.wtz-login *::before,
body.login.wtz-login *::after { box-sizing: border-box; }
body.login.wtz-login,
body.login.wtz-login input,
body.login.wtz-login button,
body.login.wtz-login select,
body.login.wtz-login textarea,
body.login.wtz-login h1,
body.login.wtz-login h2,
body.login.wtz-login p,
body.login.wtz-login a,
body.login.wtz-login label { font-family: var(--wtz-font) !important; }

/* ==================================================================
 * Brand panel (physical left on desktop, banner on mobile)
 * ================================================================ */
.wtz-login .wtz-panel {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--wtz-panel-w);
    z-index: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 44px 48px;
    color: #fff;
    background:
        radial-gradient(90% 70% at 100% 0%, color-mix(in srgb, var(--wtz-accent) 45%, transparent), transparent 60%),
        radial-gradient(70% 60% at 0% 100%, color-mix(in srgb, var(--wtz-accent-2) 28%, transparent), transparent 60%),
        linear-gradient(160deg, #0b1230 0%, var(--wtz-navy) 70%);
    isolation: isolate;
}
/* Fine engineering grid */
.wtz-login .wtz-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
    background-size: 44px 44px;
    -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 45%, #000 10%, transparent 75%);
    mask-image: radial-gradient(ellipse 80% 70% at 50% 45%, #000 10%, transparent 75%);
    animation: wtz-grid 18s linear infinite;
}
/* Edge highlight between panel and form */
.wtz-login .wtz-panel::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1px;
    background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--wtz-accent-2) 70%, transparent), transparent);
    animation: wtz-edge 6s ease-in-out infinite;
}
.wtz-login .wtz-canvas { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; opacity: .9; }
.wtz-login .wtz-orb {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(60px);
    opacity: .55;
    pointer-events: none;
}
.wtz-login .wtz-orb-a { width: 340px; height: 340px; top: -80px; right: -60px; background: var(--wtz-accent); animation: wtz-drift-a 16s ease-in-out infinite alternate; }
.wtz-login .wtz-orb-b { width: 280px; height: 280px; bottom: -60px; left: -40px; background: var(--wtz-accent-2); opacity: .35; animation: wtz-drift-b 19s ease-in-out infinite alternate; }

.wtz-login .wtz-panel-inner {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
    text-align: center;
    transform: translate3d(calc(var(--wtz-mx, 0) * -10px), calc(var(--wtz-my, 0) * -10px), 0);
    transition: transform .4s var(--wtz-ease);
}
.wtz-login .wtz-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 99px;
    background: rgba(255, 255, 255, .06);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: #cfd8ff;
    font: 700 11px/1 Arial, sans-serif !important;
    letter-spacing: 2px;
    direction: ltr;
    animation: wtz-rise .8s .15s var(--wtz-ease) both;
}
.wtz-login .wtz-chip svg { color: var(--wtz-accent-2); }

/* Shield emblem: rotating rings, radar sweep, self-drawing shield */
.wtz-login .wtz-emblem {
    position: relative;
    width: 200px;
    height: 200px;
    flex: none;
    margin: 36px auto 32px;
    animation: wtz-rise .9s .25s var(--wtz-ease) both;
}
.wtz-login .wtz-emblem-core { position: absolute; inset: 0; animation: wtz-float 6s ease-in-out infinite; }
.wtz-login .wtz-emblem svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; }
.wtz-login .wtz-radar {
    position: absolute;
    inset: 4%;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent 0 72%, color-mix(in srgb, var(--wtz-accent-2) 55%, transparent) 99%, transparent 100%);
    -webkit-mask-image: radial-gradient(circle closest-side, #000 0 99%, transparent 100%);
    mask-image: radial-gradient(circle closest-side, #000 0 99%, transparent 100%);
    opacity: .55;
    animation: wtz-spin 4.5s linear infinite;
}
.wtz-login .wtz-ring { fill: none; transform-box: fill-box; transform-origin: center; }
.wtz-login .wtz-ring-1 { stroke: rgba(255, 255, 255, .22); stroke-width: 1; stroke-dasharray: 2 9; animation: wtz-spin 40s linear infinite; }
.wtz-login .wtz-ring-2 { stroke: color-mix(in srgb, var(--wtz-accent-2) 80%, #fff); stroke-width: 1.6; stroke-linecap: round; stroke-dasharray: 89.4 30; opacity: .85; animation: wtz-spin-rev 16s linear infinite; }
.wtz-login .wtz-ring-3 { stroke: rgba(255, 255, 255, .12); stroke-width: 1; animation: wtz-pulse 3.2s ease-in-out infinite; }
.wtz-login .wtz-shield {
    fill: color-mix(in srgb, var(--wtz-accent) 35%, transparent);
    stroke: #fff;
    stroke-width: 2.2;
    stroke-linejoin: round;
    stroke-dasharray: 260;
    stroke-dashoffset: 260;
    filter: drop-shadow(0 0 14px color-mix(in srgb, var(--wtz-accent-2) 70%, transparent));
    animation: wtz-draw 1.6s .5s var(--wtz-ease) forwards, wtz-fill 1s 1.4s ease forwards;
    fill-opacity: 0;
}
.wtz-login .wtz-check {
    fill: none;
    stroke: var(--wtz-accent-2);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 50;
    stroke-dashoffset: 50;
    animation: wtz-draw .7s 1.7s var(--wtz-ease) forwards;
}

.wtz-login .wtz-panel-title { margin: 0 0 14px; color: #fff; line-height: 1.35; animation: wtz-rise .9s .4s var(--wtz-ease) both; }
.wtz-login .wtz-panel-title span { display: block; font-size: 18px; font-weight: 400; color: #aeb8d9; margin-bottom: 6px; }
.wtz-login .wtz-panel-title strong {
    display: block;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 900;
    letter-spacing: -.5px;
    overflow-wrap: anywhere;
    background: linear-gradient(100deg, #fff 0%, #fff 35%, color-mix(in srgb, var(--wtz-accent-2) 65%, #fff) 50%, #fff 65%, #fff 100%);
    background-size: 250% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: wtz-shimmer-text 5s 1.5s ease-in-out infinite;
}
.wtz-login .wtz-panel-text { margin: 0 auto; max-width: 380px; color: #98a3c7; font-size: 14px; line-height: 2.1; animation: wtz-rise .9s .55s var(--wtz-ease) both; }
.wtz-login .wtz-panel-foot {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    direction: ltr;
    justify-content: center;
    color: #7d88ad;
    font: 600 10px/1 Arial, sans-serif !important;
    letter-spacing: 3px;
    animation: wtz-rise .9s .7s var(--wtz-ease) both;
}
.wtz-login .wtz-panel-foot b { color: #fff; font-size: 14px; font-weight: 900; letter-spacing: 4px; }
.wtz-login .wtz-panel-foot::before,
.wtz-login .wtz-panel-foot::after { content: ""; width: 40px; height: 1px; background: linear-gradient(90deg, transparent, #7d88ad); }
.wtz-login .wtz-panel-foot::after { transform: scaleX(-1); }

/* ==================================================================
 * Form side
 * ================================================================ */
.wtz-login .wtz-identity {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto 24px;
    animation: wtz-rise .7s .1s var(--wtz-ease) both;
}
.wtz-login .wtz-identity a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    color: var(--wtz-ink);
    text-decoration: none;
    font-size: 17px;
    font-weight: 800;
}
.wtz-login .wtz-identity a:focus-visible { outline: 2px solid var(--wtz-accent); outline-offset: 6px; border-radius: 8px; }
.wtz-login .wtz-identity img { display: block; width: auto; height: auto; max-width: min(100%, 170px); max-height: 60px; object-fit: contain; }
.wtz-login .wtz-identity img.wtz-logo-icon { width: 56px; height: 56px; border-radius: 14px; box-shadow: 0 8px 20px -8px rgba(16, 20, 42, .35); }
.wtz-login .wtz-identity-mark {
    flex: none;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    font-size: 19px;
    font-weight: 900;
    background: linear-gradient(135deg, var(--wtz-accent), var(--wtz-accent-2));
    box-shadow: 0 10px 22px -8px color-mix(in srgb, var(--wtz-accent) 70%, transparent);
}

/* Card with a slowly travelling light border */
body.login.wtz-login #login {
    position: relative;
    z-index: 1;
    width: min(100%, 430px) !important;
    min-width: 0;
    margin: 0 !important;
    padding: 38px 38px 30px !important;
    background: #fff;
    border-radius: 22px;
    box-shadow:
        0 1px 2px rgba(16, 20, 42, .05),
        0 30px 60px -28px color-mix(in srgb, var(--wtz-accent) 40%, rgba(16, 20, 42, .3)) !important;
    animation: wtz-rise .8s .15s var(--wtz-ease) both;
}
body.login.wtz-login #login::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: conic-gradient(from var(--wtz-angle), var(--wtz-line) 0 62%, var(--wtz-accent) 75%, var(--wtz-accent-2) 82%, var(--wtz-line) 95%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    animation: wtz-border 7s linear infinite;
    pointer-events: none;
}

/* WordPress' own logo link stays in the document for assistive technologies. */
.wtz-login #login h1.wp-login-logo {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap;
    border: 0 !important;
}

.wtz-login .wtz-form-heading { margin: 0 0 26px; }
.wtz-login .wtz-form-heading h2 {
    margin: 0 0 6px;
    color: var(--wtz-ink);
    font-size: 26px;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: -.4px;
}
.wtz-login .wtz-form-heading h2::after {
    content: "";
    display: block;
    width: 36px;
    height: 3px;
    margin-top: 10px;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--wtz-accent), var(--wtz-accent-2));
    transform-origin: right;
    animation: wtz-grow .8s .7s var(--wtz-ease) both;
}
.wtz-login .wtz-form-heading p { margin: 10px 0 0; color: var(--wtz-muted); font-size: 13px; line-height: 1.9; }

/* Keep WordPress' actual login, recovery, register and 2FA handlers. */
.wtz-login #login form {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible;
}
.wtz-login #login form > * { animation: wtz-rise .6s var(--wtz-ease) both; }
.wtz-login #login form > *:nth-child(1) { animation-delay: .3s; }
.wtz-login #login form > *:nth-child(2) { animation-delay: .38s; }
.wtz-login #login form > *:nth-child(3) { animation-delay: .46s; }
.wtz-login #login form > *:nth-child(4) { animation-delay: .54s; }
.wtz-login #login form > *:nth-child(n+5) { animation-delay: .62s; }
.wtz-login #login form p { margin: 0 0 18px; }
.wtz-login #login label {
    display: block;
    margin: 0 0 8px;
    color: #343a52;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.8;
    transition: color .2s;
}
.wtz-login #login p:focus-within > label,
.wtz-login #login .user-pass-wrap:focus-within > label { color: var(--wtz-accent); }

/* Fields */
.wtz-login #login input[type="text"],
.wtz-login #login input[type="password"],
.wtz-login #login input[type="email"],
.wtz-login #login input[type="tel"],
.wtz-login #login input[type="number"] {
    width: 100%;
    max-width: 100%;
    height: 52px;
    min-height: 52px;
    margin: 0;
    padding: 0 16px;
    font-size: 15px !important;
    font-weight: 500;
    line-height: 1.5;
    color: var(--wtz-ink);
    background-color: var(--wtz-field) !important;
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 18px 18px;
    border: 1.5px solid transparent !important;
    border-radius: var(--wtz-radius) !important;
    box-shadow: none !important;
    outline: 0;
    transition: border-color .2s, background-color .2s, box-shadow .25s, transform .2s;
}
.wtz-login #login input[type="text"]:hover,
.wtz-login #login input[type="password"]:hover,
.wtz-login #login input[type="email"]:hover,
.wtz-login #login input[type="tel"]:hover { border-color: var(--wtz-line) !important; }
.wtz-login #login input[type="text"]:focus,
.wtz-login #login input[type="password"]:focus,
.wtz-login #login input[type="email"]:focus,
.wtz-login #login input[type="tel"]:focus,
.wtz-login #login input[type="number"]:focus {
    background-color: #fff !important;
    border-color: var(--wtz-accent) !important;
    box-shadow: 0 0 0 4px var(--wtz-ring), 0 8px 20px -12px color-mix(in srgb, var(--wtz-accent) 60%, transparent) !important;
}
.wtz-login #login input::placeholder { color: #a3a9bb; }

/* Leading icons (right side in RTL) for the core fields. */
.wtz-login #login #user_login,
.wtz-login #login #user_email,
.wtz-login #login #user_pass,
.wtz-login #login #pass1,
.wtz-login #login #pass1-text,
.wtz-login #login #pass2 { padding-right: 46px; }
.wtz-login #login #user_login {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238891a8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c1.5-3.6 4.5-5.5 8-5.5s6.5 1.9 8 5.5'/%3E%3C/svg%3E");
}
.wtz-login #login #user_email {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238891a8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}
.wtz-login #login #user_pass,
.wtz-login #login #pass1,
.wtz-login #login #pass1-text,
.wtz-login #login #pass2 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238891a8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3Ccircle cx='12' cy='15.5' r='1.2'/%3E%3C/svg%3E");
}
.wtz-login #login input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 100px var(--wtz-field) inset !important;
    -webkit-text-fill-color: var(--wtz-ink) !important;
    caret-color: var(--wtz-ink);
}
.wtz-login #login input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 100px #fff inset, 0 0 0 4px var(--wtz-ring) !important; }

/* Password visibility toggle */
.wtz-login #login .user-pass-wrap { margin-bottom: 16px; }
.wtz-login #login .wp-pwd { position: relative; }
.wtz-login #login .wp-pwd input { padding-left: 54px !important; }
.wtz-login #login .button.wp-hide-pw {
    position: absolute;
    top: 6px !important;
    left: 6px !important;
    right: auto !important;
    width: 40px;
    height: 40px;
    min-width: 0;
    min-height: 0;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #8891a8;
    transition: background .15s, color .15s;
}
.wtz-login #login .button.wp-hide-pw:hover { background: rgba(16, 20, 42, .06) !important; color: var(--wtz-ink); }
.wtz-login #login .button.wp-hide-pw:focus-visible { outline: 2px solid var(--wtz-accent); outline-offset: -2px; }
.wtz-login #login .button.wp-hide-pw .dashicons { width: 20px; height: 20px; font-size: 20px; top: 0; }

/* Caps Lock hint (inserted by login.js) */
.wtz-login .wtz-caps {
    display: flex;
    align-items: center;
    gap: 6px;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    color: #b45309;
    font-size: 12px;
    font-weight: 600;
    opacity: 0;
    transition: max-height .25s, opacity .25s, margin-top .25s;
}
.wtz-login .wtz-caps.is-on { max-height: 30px; margin-top: 8px; opacity: 1; }
.wtz-login .wtz-caps::before { content: "⇪"; font-size: 14px; }

/* Remember me — custom checkbox */
.wtz-login #login .forgetmenot {
    display: flex;
    align-items: center;
    gap: 10px;
    float: none !important;
    min-height: 22px;
    margin: 4px 0 22px !important;
}
.wtz-login #login .forgetmenot label { margin: 0; color: #4f566e; font-size: 13px; font-weight: 500; cursor: pointer; user-select: none; }
.wtz-login #login .forgetmenot input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    flex: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin: 0;
    padding: 0;
    border: 1.5px solid #c4c9d6;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    cursor: pointer;
    transition: background .15s, border-color .15s, box-shadow .15s, transform .15s;
}
.wtz-login #login .forgetmenot input[type="checkbox"]:hover { border-color: var(--wtz-accent); }
.wtz-login #login .forgetmenot input[type="checkbox"]:active { transform: scale(.9); }
.wtz-login #login .forgetmenot input[type="checkbox"]:focus-visible { box-shadow: 0 0 0 4px var(--wtz-ring); outline: 0; }
.wtz-login #login .forgetmenot input[type="checkbox"]:checked {
    background: var(--wtz-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
    border-color: var(--wtz-accent);
    animation: wtz-pop .3s var(--wtz-ease);
}
.wtz-login #login .forgetmenot input[type="checkbox"]:checked::before { content: none; }

/* Primary button with a travelling shine */
.wtz-login #login p.submit { float: none !important; clear: both; margin: 0 !important; padding: 0 !important; }
.wtz-login #login #wp-submit,
.wtz-login #login .submit input[type="submit"],
.wtz-login #login .admin-email__actions-primary .button-primary {
    display: block;
    float: none;
    width: 100% !important;
    height: 54px !important;
    min-height: 54px;
    margin: 0;
    padding: 0 16px;
    border: 0 !important;
    border-radius: var(--wtz-radius) !important;
    background:
        linear-gradient(110deg, transparent 38%, rgba(255, 255, 255, .38) 50%, transparent 62%) -150% 0 / 250% 100% no-repeat,
        linear-gradient(135deg, var(--wtz-accent) 0%, color-mix(in srgb, var(--wtz-accent) 70%, var(--wtz-accent-2)) 100%) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800;
    line-height: 1.2;
    text-shadow: none !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .25) inset,
        0 12px 26px -10px color-mix(in srgb, var(--wtz-accent) 75%, transparent) !important;
    cursor: pointer;
    transition: transform .18s var(--wtz-ease), box-shadow .25s ease, filter .2s;
    animation: wtz-shine 4.5s 1.8s ease-in-out infinite;
}
.wtz-login #login #wp-submit:hover,
.wtz-login #login .submit input[type="submit"]:hover {
    transform: translateY(-2px);
    filter: saturate(1.15);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .25) inset,
        0 18px 32px -12px color-mix(in srgb, var(--wtz-accent) 85%, transparent) !important;
}
.wtz-login #login #wp-submit:active,
.wtz-login #login .submit input[type="submit"]:active { transform: translateY(0) scale(.985); }
.wtz-login #login #wp-submit.is-loading {
    pointer-events: none;
    background:
        repeating-linear-gradient(-45deg, rgba(255, 255, 255, .14) 0 10px, transparent 10px 20px) 0 0 / 28px 28px,
        linear-gradient(135deg, var(--wtz-accent), color-mix(in srgb, var(--wtz-accent) 70%, var(--wtz-accent-2))) !important;
    animation: wtz-stripes .6s linear infinite;
}
.wtz-login #login a:focus-visible,
.wtz-login #login #wp-submit:focus-visible,
.wtz-login #login .submit input[type="submit"]:focus-visible { outline: 2px solid var(--wtz-accent) !important; outline-offset: 3px; }
.wtz-login #login .button { font-family: var(--wtz-font); }
.wtz-login #login .button-secondary:not(.wp-hide-pw) {
    border-radius: 10px !important;
    border-color: var(--wtz-line) !important;
    color: var(--wtz-ink) !important;
    background: #fff !important;
}

/* Links under the form */
.wtz-login #login #nav,
.wtz-login #login #backtoblog {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
    font-size: 13px;
    line-height: 1.9;
    color: #a3a9bb;
    animation: wtz-rise .6s .7s var(--wtz-ease) both;
}
.wtz-login #login #nav { margin-top: 24px !important; padding-top: 20px !important; border-top: 1px solid var(--wtz-line); }
.wtz-login #login #backtoblog { margin-top: 6px !important; }
.wtz-login #login #nav a,
.wtz-login #login #backtoblog a,
.wtz-login #login .privacy-policy-page-link a {
    position: relative;
    color: var(--wtz-muted) !important;
    font-weight: 500;
    text-decoration: none;
    transition: color .15s;
}
.wtz-login #login #nav a::after,
.wtz-login #login #backtoblog a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .3s var(--wtz-ease);
}
.wtz-login #login #nav a:hover,
.wtz-login #login #backtoblog a:hover,
.wtz-login #login .privacy-policy-page-link a:hover { color: var(--wtz-accent) !important; }
.wtz-login #login #nav a:hover::after,
.wtz-login #login #backtoblog a:hover::after { transform: scaleX(1); }
.wtz-login #login .privacy-policy-page-link { margin: 14px 0 0; text-align: center; font-size: 12px; }

/* Messages and errors */
.wtz-login #login .message,
.wtz-login #login .success,
.wtz-login #login #login_error,
.wtz-login #login .notice {
    margin: 0 0 22px !important;
    padding: 12px 15px !important;
    border: 0 !important;
    border-right: 3px solid var(--wtz-accent) !important;
    border-radius: 12px !important;
    background: var(--wtz-accent-soft) !important;
    box-shadow: none !important;
    color: #363c55 !important;
    font-size: 13px !important;
    line-height: 1.9;
    animation: wtz-rise .5s .2s var(--wtz-ease) both;
}
.wtz-login #login #login_error,
.wtz-login #login .notice-error {
    border-right-color: #e5484d !important;
    background: #fff1f1 !important;
    color: #8f1d22 !important;
    animation: wtz-shake .45s .3s ease both;
}
.wtz-login #login .notice-success,
.wtz-login #login .success { border-right-color: #1f9d57 !important; background: #ecfbf2 !important; }
.wtz-login #login #login_error a { color: inherit; font-weight: 600; }
.wtz-login #login form.shake { animation: none !important; }

/* Password reset strength meter */
.wtz-login #login #pass-strength-result { margin: 10px 0 !important; padding: 8px 12px; border: 0; border-radius: 10px; font-size: 12px; font-weight: 600; }
.wtz-login #login .pw-weak { margin-bottom: 14px; }
.wtz-login #login .indicator-hint,
.wtz-login #login .description { font-size: 12px; line-height: 1.9; color: var(--wtz-muted); }
.wtz-login #login .admin-email__actions-primary { margin: 18px 0; }
.wtz-login .language-switcher { display: none !important; }

/* Footer badge */
.wtz-login .wtz-footer {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin-top: 22px;
    animation: wtz-rise .7s .8s var(--wtz-ease) both;
}
.wtz-login .wtz-footer-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 13px;
    border: 1px solid var(--wtz-line);
    border-radius: 99px;
    background: rgba(255, 255, 255, .7);
    color: var(--wtz-muted);
    font: 500 11px/1 Arial, sans-serif !important;
    letter-spacing: .4px;
    direction: ltr;
}
.wtz-login .wtz-footer-badge svg { color: var(--wtz-accent); }
.wtz-login .wtz-footer-badge b { color: var(--wtz-ink); font-weight: 900; letter-spacing: 1.5px; }
.wtz-login .wtz-footer-copy { color: #a3a9bb; font-size: 11px; }

/* ==================================================================
 * Keyframes
 * ================================================================ */
@keyframes wtz-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes wtz-spin { to { transform: rotate(360deg); } }
@keyframes wtz-spin-rev { to { transform: rotate(-360deg); } }
@keyframes wtz-pulse { 0%, 100% { opacity: .35; transform: scale(1); } 50% { opacity: 1; transform: scale(1.04); } }
@keyframes wtz-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes wtz-draw { to { stroke-dashoffset: 0; } }
@keyframes wtz-fill { to { fill-opacity: 1; } }
@keyframes wtz-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes wtz-pop { 0% { transform: scale(.7); } 60% { transform: scale(1.12); } 100% { transform: scale(1); } }
@keyframes wtz-shine { 0%, 55% { background-position: -150% 0, 0 0; } 85%, 100% { background-position: 250% 0, 0 0; } }
@keyframes wtz-stripes { to { background-position: 28px 0, 0 0; } }
@keyframes wtz-border { to { --wtz-angle: 360deg; } }
@keyframes wtz-grid { to { background-position: 44px 44px, 44px 44px; } }
@keyframes wtz-edge { 0%, 100% { opacity: .3; } 50% { opacity: 1; } }
@keyframes wtz-shimmer-text { 0%, 60% { background-position: 100% 0; } 100% { background-position: 0% 0; } }
@keyframes wtz-shake { 0% { opacity: 0; } 20% { opacity: 1; transform: translateX(-6px); } 40% { transform: translateX(6px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(3px); } 100% { opacity: 1; transform: none; } }
@keyframes wtz-drift-a { to { transform: translate3d(-60px, 80px, 0) scale(1.15); } }
@keyframes wtz-drift-b { to { transform: translate3d(70px, -60px, 0) scale(1.1); } }

/* ==================================================================
 * Responsive
 * ================================================================ */
@media (max-width: 1000px) {
    body.login.wtz-login { justify-content: flex-start; align-items: stretch; padding: 0 0 32px; }

    /* Brand panel becomes a centered hero banner */
    .wtz-login .wtz-panel {
        position: relative;
        top: auto; bottom: auto; left: auto;
        width: 100%;
        flex: none;
        padding: 26px 20px 62px;
        justify-content: flex-start;
    }
    .wtz-login .wtz-panel::after { display: none; }
    .wtz-login .wtz-panel-inner { flex: none; max-width: 520px; transform: none; }
    .wtz-login .wtz-chip { padding: 6px 12px; font-size: 10px !important; letter-spacing: 1.6px; }
    .wtz-login .wtz-emblem { width: 112px; height: 112px; margin: 18px auto 14px; }
    .wtz-login .wtz-panel-title { margin: 0; }
    .wtz-login .wtz-panel-title span { font-size: 13px; margin-bottom: 2px; }
    .wtz-login .wtz-panel-title strong { font-size: 26px; }
    .wtz-login .wtz-panel-text,
    .wtz-login .wtz-panel-foot { display: none; }
    .wtz-login .wtz-orb-a { width: 220px; height: 220px; }
    .wtz-login .wtz-orb-b { width: 180px; height: 180px; }

    /* Logo badge overlaps the banner edge */
    .wtz-login .wtz-identity {
        width: auto;
        max-width: calc(100% - 48px);
        margin: -36px auto 18px;
        padding: 10px 18px;
        align-self: center;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 16px 32px -18px rgba(16, 20, 42, .5);
    }
    .wtz-login .wtz-identity img { max-height: 46px; }
    .wtz-login .wtz-identity img.wtz-logo-icon { width: 46px; height: 46px; box-shadow: none; }

    body.login.wtz-login #login {
        align-self: center;
        width: calc(100% - 32px) !important;
        max-width: 460px;
        padding: 30px 24px 24px !important;
        border-radius: 20px;
    }
    .wtz-login .wtz-footer { align-self: center; padding: 0 16px; text-align: center; }
}
@media (max-width: 420px) {
    .wtz-login .wtz-panel { padding: 22px 16px 58px; }
    .wtz-login .wtz-emblem { width: 96px; height: 96px; margin: 14px auto 10px; }
    .wtz-login .wtz-panel-title strong { font-size: 22px; }
    body.login.wtz-login #login { width: calc(100% - 24px) !important; padding: 26px 18px 22px !important; border-radius: 18px; }
    .wtz-login .wtz-form-heading { margin-bottom: 22px; }
    .wtz-login .wtz-form-heading h2 { font-size: 22px; }
    .wtz-login #login input[type="text"],
    .wtz-login #login input[type="password"],
    .wtz-login #login input[type="email"] { height: 50px; min-height: 50px; }
    .wtz-login #login #wp-submit { height: 52px !important; min-height: 52px; }
}
@media (max-width: 540px) {
    .wtz-login #login input[type="text"],
    .wtz-login #login input[type="password"],
    .wtz-login #login input[type="email"] { font-size: 16px !important; } /* avoids iOS zoom-on-focus */
}
@media (max-height: 700px) and (min-width: 1001px) { body.login.wtz-login { justify-content: flex-start; } }

@media (prefers-reduced-motion: reduce) {
    .wtz-login *, .wtz-login *::before, .wtz-login *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition: none !important; }
    .wtz-login .wtz-canvas { display: none; }
}

/* Core can load a login form in an iframe for expired editor sessions. */
body.login.wtz-login.interim-login { background: #fff !important; min-height: 0; padding: 12px; display: block; }
.wtz-login.interim-login .wtz-panel,
.wtz-login.interim-login .wtz-identity,
.wtz-login.interim-login .wtz-footer { display: none; }
body.login.wtz-login.interim-login #login { width: 100% !important; padding: 14px !important; box-shadow: none !important; animation: none; }
body.login.wtz-login.interim-login #login::before { display: none; }
/* Short desktop screens: shrink the emblem so the panel never clips. */
@media (min-width: 1001px) and (max-height: 760px) {
    .wtz-login .wtz-emblem { width: 150px; height: 150px; margin: 22px auto 20px; }
    .wtz-login .wtz-panel-text { font-size: 13px; line-height: 1.9; }
}

/* ==================================================================
 * 2.2 — Captcha
 * ================================================================ */
.wtz-login #login .wtz-captcha { margin: 0 0 16px; }
.wtz-login #login .wtz-captcha > label small { margin-right: 6px; color: #9aa1b5; font-size: 11px; font-weight: 400; }
.wtz-login .wtz-captcha-row { display: flex; align-items: stretch; gap: 8px; }
.wtz-login .wtz-captcha-img {
    flex: 0 0 152px;
    height: 50px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1.5px solid var(--wtz-line);
    border-radius: var(--wtz-radius);
    background: #f4f6fb;
    user-select: none;
}
.wtz-login .wtz-captcha-img img { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.wtz-login .wtz-captcha-refresh {
    flex: none;
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1.5px solid var(--wtz-line);
    border-radius: var(--wtz-radius);
    background: #fff;
    color: var(--wtz-muted);
    cursor: pointer;
    transition: color .2s, border-color .2s, background .2s;
}
.wtz-login .wtz-captcha-refresh:hover { color: var(--wtz-accent); border-color: var(--wtz-accent); background: var(--wtz-accent-soft); }
.wtz-login .wtz-captcha-refresh:focus-visible { outline: 2px solid var(--wtz-accent); outline-offset: 2px; }
.wtz-login .wtz-captcha-refresh.is-spinning svg { animation: wtz-spin .6s linear infinite; }
.wtz-login #login input#wtz_captcha {
    flex: 1;
    min-width: 0;
    width: auto;
    height: 50px;
    min-height: 50px;
    padding: 0 10px !important;
    text-align: center;
    font-size: 18px !important;
    font-weight: 800;
    letter-spacing: 3px;
    background-image: none;
}
/* Honeypot: visually hidden without offsets (a negative offset creates horizontal scroll in RTL). */
.wtz-login .wtz-hp { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }

/* ==================================================================
 * 2.2 — Desktop: the form column fits without scrolling
 * ================================================================ */
@media (min-width: 1001px) {
    body.login.wtz-login { padding-top: 22px; padding-bottom: 18px; }
    .wtz-login .wtz-identity { margin-bottom: 14px; }
    .wtz-login .wtz-identity img { max-height: 50px; }
    .wtz-login .wtz-identity img.wtz-logo-icon { width: 50px; height: 50px; }
    body.login.wtz-login #login { width: min(100%, 420px) !important; padding: 26px 32px 20px !important; }
    .wtz-login .wtz-form-heading { margin-bottom: 18px; }
    .wtz-login .wtz-form-heading h2 { font-size: 23px; line-height: 1.4; }
    .wtz-login .wtz-form-heading h2::after { margin-top: 8px; }
    .wtz-login .wtz-form-heading p { margin-top: 8px; font-size: 12.5px; line-height: 1.7; }
    .wtz-login #login form p { margin-bottom: 14px; }
    .wtz-login #login label { margin-bottom: 6px; line-height: 1.6; }
    .wtz-login #login input[type="text"],
    .wtz-login #login input[type="password"],
    .wtz-login #login input[type="email"] { height: 48px; min-height: 48px; }
    .wtz-login #login .button.wp-hide-pw { top: 4px !important; }
    .wtz-login #login .user-pass-wrap { margin-bottom: 14px; }
    .wtz-login #login .wtz-captcha { margin-bottom: 14px; }
    .wtz-login .wtz-captcha-img, .wtz-login .wtz-captcha-refresh, .wtz-login #login input#wtz_captcha { height: 48px; min-height: 48px; }
    .wtz-login .wtz-captcha-refresh { width: 48px; }
    .wtz-login #login .forgetmenot { margin: 0 0 16px !important; }
    .wtz-login #login #wp-submit { height: 50px !important; min-height: 50px; }
    .wtz-login #login .message, .wtz-login #login #login_error, .wtz-login #login .notice { margin-bottom: 16px !important; padding: 10px 14px !important; }
    .wtz-login #login #nav { margin-top: 16px !important; padding-top: 14px !important; line-height: 1.7; }
    .wtz-login #login #backtoblog { margin-top: 2px !important; line-height: 1.7; }
    .wtz-login .wtz-footer { margin-top: 14px; gap: 4px; }
}
/* Laptops with short screens (e.g. 1366×768): tighten further. */
@media (min-width: 1001px) and (max-height: 820px) {
    body.login.wtz-login { padding-top: 14px; padding-bottom: 12px; }
    .wtz-login .wtz-identity { margin-bottom: 10px; }
    .wtz-login .wtz-identity img { max-height: 40px; }
    .wtz-login .wtz-identity img.wtz-logo-icon { width: 40px; height: 40px; }
    .wtz-login .wtz-identity-mark { width: 34px; height: 34px; font-size: 16px; }
    body.login.wtz-login #login { padding: 20px 30px 16px !important; }
    .wtz-login .wtz-form-heading { margin-bottom: 14px; }
    .wtz-login .wtz-form-heading h2 { font-size: 21px; }
    .wtz-login .wtz-form-heading h2::after { display: none; }
    .wtz-login .wtz-form-heading p { margin-top: 2px; }
    .wtz-login #login form p, .wtz-login #login .user-pass-wrap, .wtz-login #login .wtz-captcha { margin-bottom: 11px; }
    .wtz-login #login label { margin-bottom: 4px; font-size: 12.5px; }
    .wtz-login #login input[type="text"],
    .wtz-login #login input[type="password"],
    .wtz-login #login input[type="email"],
    .wtz-login .wtz-captcha-img, .wtz-login .wtz-captcha-refresh, .wtz-login #login input#wtz_captcha { height: 44px; min-height: 44px; }
    .wtz-login .wtz-captcha-refresh { width: 44px; }
    .wtz-login #login .button.wp-hide-pw { top: 2px !important; }
    .wtz-login #login .forgetmenot { margin-bottom: 12px !important; }
    .wtz-login #login #wp-submit { height: 46px !important; min-height: 46px; }
    .wtz-login #login #nav { margin-top: 12px !important; padding-top: 10px !important; font-size: 12.5px; }
    .wtz-login #login #backtoblog { font-size: 12.5px; }
    .wtz-login .wtz-footer { margin-top: 10px; }
    .wtz-login .wtz-footer-copy { display: none; }
}
@media (min-width: 1001px) and (max-height: 700px) {
    .wtz-login .wtz-form-heading p { display: none; }
    .wtz-login .wtz-footer { display: none; }
}

/* ==================================================================
 * 2.2 — Inside the dashboard re-login modal (iframe)
 * ================================================================ */
body.login.wtz-login.interim-login { padding: 0 !important; }
body.login.wtz-login.interim-login #login { padding: 22px 26px 18px !important; border-radius: 0; }
body.login.wtz-login.interim-login #login::before { display: none; }
.wtz-login.interim-login .wtz-form-heading { margin-bottom: 14px; text-align: center; }
.wtz-login.interim-login .wtz-form-heading h2 { font-size: 19px; }
.wtz-login.interim-login .wtz-form-heading h2::after { margin: 8px auto 0; }
.wtz-login.interim-login .wtz-form-heading p { font-size: 12px; }
.wtz-login.interim-login #login form p, .wtz-login.interim-login #login .user-pass-wrap, .wtz-login.interim-login #login .wtz-captcha { margin-bottom: 12px; }
.wtz-login.interim-login #login input[type="text"],
.wtz-login.interim-login #login input[type="password"],
.wtz-login.interim-login .wtz-captcha-img, .wtz-login.interim-login .wtz-captcha-refresh, .wtz-login.interim-login #login input#wtz_captcha { height: 46px; min-height: 46px; }
.wtz-login.interim-login .wtz-captcha-refresh { width: 46px; }
.wtz-login.interim-login #login .button.wp-hide-pw { top: 3px !important; }
.wtz-login.interim-login #login #wp-submit { height: 48px !important; min-height: 48px; }
.wtz-login.interim-login #login .message { font-size: 12px !important; }
/* The modal header already explains the situation; keep only the form (errors stay visible). */
.wtz-login.interim-login .wtz-form-heading,
.wtz-login.interim-login #login p.message { display: none; }
body.login.wtz-login.interim-login #login { padding-top: 20px !important; }
/* Narrow phones: captcha image + refresh on one line, full-width answer field below. */
@media (max-width: 400px) {
    .wtz-login .wtz-captcha-row { flex-wrap: wrap; }
    .wtz-login .wtz-captcha-img { flex: 1 1 auto; }
    .wtz-login #login input#wtz_captcha { flex: 1 0 100%; }
}
