/* Justice Online account creation — page-local composition.
 * The register screen is intentionally one continuous realm-gate surface,
 * not two interchangeable cards. Shared navigation/footer remain untouched. */

.site-v4.page-register main {
    width: min(calc(100% - 48px), 1120px);
    padding: 42px 0 78px;
}

.site-v4.page-register .register-gate {
    position: relative;
    isolation: isolate;
    min-height: 650px;
    display: grid;
    grid-template-columns: minmax(320px, .88fr) minmax(500px, 1.12fr);
    overflow: hidden;
    border: 1px solid rgba(190, 145, 82, .38);
    background: #050d11;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .34);
}

.site-v4.page-register .register-gate::before,
.site-v4.page-register .register-gate::after {
    content: "";
    position: absolute;
    z-index: 4;
    pointer-events: none;
}

.site-v4.page-register .register-gate::before {
    top: 0;
    left: 0;
    width: 92px;
    height: 1px;
    background: #d6ad69;
    box-shadow: calc(1120px - 92px) 649px 0 rgba(214, 173, 105, .7);
}

.site-v4.page-register .register-gate::after {
    inset: 8px;
    border: 1px solid rgba(228, 195, 137, .07);
}

.site-v4.page-register .register-gate__world {
    position: relative;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 34px 38px 42px;
    background:
        linear-gradient(180deg, rgba(2, 7, 10, .05) 0%, rgba(2, 7, 10, .18) 34%, rgba(2, 7, 10, .94) 100%),
        linear-gradient(90deg, rgba(2, 7, 10, .12), rgba(2, 7, 10, .52)),
        url("../assets/home-v3/event-siege-opt-960.webp") 43% center / cover no-repeat;
}

.site-v4.page-register .register-gate__world::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, transparent 4%, rgba(214, 173, 105, .5) 50%, transparent 96%);
    box-shadow: 16px 0 36px rgba(0, 0, 0, .44);
}

.site-v4.page-register .register-gate__seal,
.site-v4.page-register .register-gate__world-copy {
    position: relative;
    z-index: 2;
}

.site-v4.page-register .register-gate__seal {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(214, 173, 105, .58);
    background: rgba(3, 9, 12, .56);
    box-shadow: inset 0 0 0 5px rgba(214, 173, 105, .035);
}

.site-v4.page-register .register-gate__seal span {
    color: #ddb877;
    font-family: var(--p-display, "Barlow Condensed", "Arial Narrow", sans-serif);
    font-size: 19px;
    line-height: 1;
}

.site-v4.page-register .register-gate__world-copy {
    max-width: 390px;
}

.site-v4.page-register .register-gate__world h2 {
    max-width: 11ch;
    margin: 0 0 27px;
    color: #f0ebe2;
    font-family: var(--p-display, "Barlow Condensed", "Arial Narrow", sans-serif);
    font-size: clamp(33px, 3.2vw, 48px);
    font-weight: 500;
    letter-spacing: -.015em;
    line-height: 1.08;
    text-wrap: balance;
    text-shadow: 0 4px 22px rgba(0, 0, 0, .65);
}

.site-v4.page-register .register-gate__features {
    margin: 0;
    padding: 20px 0 0;
    list-style: none;
    display: grid;
    gap: 12px;
    border-top: 1px solid rgba(229, 198, 145, .22);
}

.site-v4.page-register .register-gate__features li {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    color: #c2c9ca;
    font-size: 14px;
    line-height: 1.45;
    text-shadow: 0 2px 8px #000;
}

.site-v4.page-register .register-gate__features i {
    padding-top: 2px;
    color: #d7aa67;
    text-align: center;
}

.site-v4.page-register .register-gate__form-panel {
    position: relative;
    z-index: 2;
    min-width: 0;
    padding: 52px 56px 48px;
    background:
        radial-gradient(circle at 100% 0, rgba(180, 128, 61, .07), transparent 34%),
        linear-gradient(180deg, #071116 0%, #040b0f 100%);
}

.site-v4.page-register .register-gate__form-panel::before {
    content: "";
    position: absolute;
    top: 52px;
    left: 0;
    width: 20px;
    height: 1px;
    background: #c79a5e;
}

.site-v4.page-register .register-gate__form-head {
    margin-bottom: 27px;
}

.site-v4.page-register .register-gate__form-head h2,
.site-v4.page-register .register-gate__form-panel--paused h2 {
    margin: 0;
    color: #f1ece3;
    font-family: var(--p-display, "Barlow Condensed", "Arial Narrow", sans-serif);
    font-size: clamp(27px, 2.45vw, 34px);
    font-weight: 500;
    letter-spacing: .015em;
    line-height: 1.15;
    text-transform: none;
}

.site-v4.page-register .register-gate__form-head > span {
    display: block;
    width: 72px;
    height: 1px;
    margin-top: 17px;
    background: linear-gradient(90deg, #d2a564, transparent);
}

.site-v4.page-register .register-form {
    display: grid;
    gap: 17px;
}

.site-v4.page-register .register-form__split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.site-v4.page-register .register-field {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.site-v4.page-register .register-field label,
.site-v4.page-register .agreement-row {
    color: #aeb8bb;
    font-size: 13px;
    line-height: 1.35;
}

.site-v4.page-register .register-field input {
    width: 100%;
    height: 50px;
    padding: 0 15px;
    border: 1px solid rgba(162, 176, 181, .22);
    border-radius: 0;
    outline: none;
    color: #ece9e2;
    background: rgba(1, 7, 10, .66);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .018);
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.site-v4.page-register .register-field input::placeholder {
    color: #647177;
}

.site-v4.page-register .register-field input:hover {
    border-color: rgba(190, 161, 113, .34);
}

.site-v4.page-register .register-field input:focus-visible {
    border-color: rgba(220, 177, 106, .8);
    background: rgba(3, 10, 13, .9);
    box-shadow: 0 0 0 2px rgba(202, 153, 88, .1);
}

.site-v4.page-register .register-field--turnstile {
    width: min(100%, 420px);
    min-height: 86px;
}

.site-v4.page-register .register-field--turnstile .cf-turnstile {
    width: 100%;
}

.site-v4.page-register .register-turnstile-unavailable {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid rgba(187, 104, 88, .36);
    color: #d7b5ae;
    background: rgba(72, 22, 17, .24);
    font-size: 12px;
    line-height: 1.45;
}

.site-v4.page-register .agreement-row {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 2px 0;
}

.site-v4.page-register .agreement-row input[type="checkbox"] {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    accent-color: #bf8b4f;
}

.site-v4.page-register .agreement-row a,
.site-v4.page-register .form-note a {
    color: #d8ad6b;
}

.site-v4.page-register .agreement-row a:hover,
.site-v4.page-register .form-note a:hover {
    color: #edc986;
}

.site-v4.page-register .register-form .btn-primary {
    min-height: 52px;
    margin-top: 2px;
    border-radius: 0;
    font-family: var(--p-body, "Noto Sans", system-ui, sans-serif);
    font-size: 15px;
    letter-spacing: .02em;
}

.site-v4.page-register .form-note {
    margin: 0;
    color: #738087;
    font-size: 12px;
    text-align: center;
}

.site-v4.page-register .jo-flash {
    margin: 0 0 20px;
}

.site-v4.page-register .register-gate__form-panel--paused {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.site-v4.page-register .register-gate__form-panel--paused .form-note {
    max-width: 48ch;
    margin-top: 14px;
    text-align: left;
}

@media (max-width: 900px) {
    .site-v4.page-register main {
        width: min(calc(100% - 28px), 760px);
        padding-top: 30px;
    }

    .site-v4.page-register .register-gate {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .site-v4.page-register .register-gate__world {
        min-height: 330px;
        padding: 28px;
        background-position: center 36%;
    }

    .site-v4.page-register .register-gate__world::after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
        height: 1px;
        background: linear-gradient(90deg, transparent 4%, rgba(214, 173, 105, .5) 50%, transparent 96%);
        box-shadow: 0 16px 36px rgba(0, 0, 0, .44);
    }

    .site-v4.page-register .register-gate__world h2 {
        max-width: 14ch;
        font-size: clamp(30px, 6vw, 42px);
    }

    .site-v4.page-register .register-gate__features {
        max-width: 560px;
    }

    .site-v4.page-register .register-gate__form-panel {
        padding: 40px 34px 38px;
    }

    .site-v4.page-register .register-gate__form-panel::before {
        top: 39px;
    }
}

@media (max-width: 560px) {
    .site-v4.page-register main {
        width: calc(100% - 20px);
        padding: 20px 0 54px;
    }

    .site-v4.page-register .register-gate__world {
        min-height: 285px;
        padding: 22px;
    }

    .site-v4.page-register .register-gate__seal {
        width: 40px;
        height: 40px;
    }

    .site-v4.page-register .register-gate__world h2 {
        margin-bottom: 20px;
        font-size: clamp(28px, 9vw, 36px);
    }

    .site-v4.page-register .register-gate__features {
        gap: 8px;
        padding-top: 14px;
    }

    .site-v4.page-register .register-gate__features li {
        font-size: 12px;
    }

    .site-v4.page-register .register-gate__form-panel {
        padding: 34px 22px 30px;
    }

    .site-v4.page-register .register-gate__form-panel::before {
        top: 33px;
        width: 12px;
    }

    .site-v4.page-register .register-form__split {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .site-v4.page-register .register-field--turnstile {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-v4.page-register .register-field input {
        transition: none;
    }
}
