:root {
    --colour-body-bg: var(--colour-light-blue);
}

#evRegister,
#evLogin {
    width: min(90vw, 60rem);
    margin: 2rem auto;
    padding: 0;
    color: var(--colour-text);
    background: var(--colour-white);

    header {
        font-size: 1.4rem;
        font-weight: bold;
        color: var(--colour-light-blue);
        background-color: var(--colour-dark-blue);
        padding-block: 1.5rem;
        padding-inline: 1rem;
        gap: 1rem;

        h2 {
            font-size: 1.33rem;
            margin: 0;
            color: var(--colour-light-blue);
        }

    }

    .woocommerce-error {
        padding: 0.5rem;
        border-radius: 0.2rem;
        margin-inline: 0;
    }

    section {
        h2 {
            font-size: 1.5rem;
            line-height: 1.1em;
            text-align: center;
            color: var(--colour-dark-blue);
        }

        padding-block-end: 0.5rem;
    }

    h3 {
        font-size: 1.608rem;
        line-height: 1.1em;
        margin: 0;
        color: var(--colour-blue);
    }

    p {
        font-size: 0.992rem;
        line-height: 1.4em;
        color: var(--colour-medium-grey);
    }
}

#evLogin {
    width: min(90vw, 20rem);
}

#evRegister {
    .wp-block-column {
        display: flex;
        align-content: flex-start;
        flex-flow: column;

        > :not(.register) {
            display: none;
            @media screen and (min-width: 700px ) {
                display: block;
            }
        }
    }

    .columns {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
        gap: 1rem;

        .column {
            display: grid;
            grid-template-rows: subgrid;
            grid-row-end: span 3;
        }
    }

    .register {
        position: relative;
        max-width: 22rem;
        margin-block: 1rem;

        &::before {
            position: absolute;
            top: calc(50% - 2rem);
            left: 0;
            width: 4rem;
            content: '';
            pointer-events: none;
            background-color: var(--colour-white);
            aspect-ratio: 1 / 1;
            mask-image: var(--icon-plus);
            mask-repeat: no-repeat;
            mask-size: 50% 50%;
            mask-position: center;
        }

        &:has(input:checked)::before {
            mask-image: var(--icon-tick-circle);
        }
    }

    input[type="radio"] {
        display: none;

        + label {
            font-size: 1.125rem;
            display: block;
            cursor: pointer;
            transition: background-color 0.5s ease;
            color: var(--colour-white);
            border-radius: 0.5rem;
            background-color: var(--colour-blue);
            padding-block: 1rem;
            padding-inline: 4rem;
            margin-inline-end: 3rem;
        }

        &:checked + label {
            background-color: var(--colour-red);
        }
    }

    .register input[type="radio"] {
        + label {
            &::before, &::after {
                position: absolute;
                top: calc(50% - 3rem);
                right: 0;
                width: 6rem;
                content: '';
                transition: background-color 0.5s ease;
                border: 0.2rem solid var(--colour-white);
                border-radius: 100%;
                background-color: inherit;
                aspect-ratio: 1 / 1;
                mask-repeat: no-repeat;
                mask-size: 60% 60%;
                mask-position: center;
            }
        }
    }

    .register-participant input[type="radio"] + label::after {
        background-color: var(--colour-white);
        mask-image: var(--icon-participant-profile);
    }

    .register-organiser input[type="radio"] + label::after {
        background-color: var(--colour-white);
        mask-image: var(--icon-organiser-profile);
    }

    #register_form_stage2 {
        display: none;
        max-width: min(40rem, 90%);
        margin: auto;
        transition: 0.5s all ease;
        transition-behaviour: allow-discrete;
    }

    &:has(input[type="radio"]:checked) #register_form_stage2 {
        display: block;
        transform: scaleY(1);
    }
}


#evLogin {
    section {
        padding: 0.5rem;

        p {
            width: 100%;
            margin-block: 0.5rem;
        }
    }

    p.lost_password {
        width: 100%;
        text-align: center;
    }
}

label:has(+ [required]) {
    &::after {
        display: inline-block;
        margin-left: 0.5rem;
        content: '*';
        color: var(--colour-dark-red);
    }
}

.woocommerce-error,
.woocommerce-message {
    padding: 0.5rem;
    list-style: none;
    border-radius: 0.2rem;
    margin-inline: 0;

    margin-block: 2rem;

    h2 {
        color: inherit;
    }
}