*
{
    margin: 0;
    padding: 0;
    font-family: sans-serif;
}
body
{
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFB8E5;
}
.container
{
    width: 800px;
    height: 500px;
    display: flex;
    position: relative;
    background-color: white;
    border-radius: 15px;
    overflow: hidden;
}
.container_form
{
    width: 100%;
    overflow: hidden; /*la parte que sobresale queda oculta.*/
}
.container_form form
{
    height: 100%;
    display: flex;
    flex-direction: column; /*elemenos internos estaran en columnas*/
    justify-content: center;
    align-items: center;
    transition: transform 0.5s ease-in;
}
.container_form h2
{
    font-size: 30px;
    margin-bottom: 20px;
}
.social_networks
{
    display: flex;
    gap: 12px;
    margin-bottom: 25px;
}
.social_networks ion-icon
{
    border: 1px solid grey;
    border-radius: 6px;
    padding: 8px;
    cursor: pointer;
}
.container_form span
{
    font-size: 12px;
    margin-bottom: 15px;
}
.container_input
{
    width: 300px;
    height: 40px;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
    background-color: ghostwhite;
}
.container_input input
{
    min-width: 0;
    border: none;
    outline: none;
    width: 100%;
    height: 100%;
    background-color: ghostwhite;
}

.password_input {
    padding-right: 8px;
}

.toggle_password {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #6a5a65;
    font-size: 20px;
    cursor: pointer;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}

.toggle_password:hover {
    background: #ffe6f5;
    color: #e71968;
    transform: scale(1.05);
}

.toggle_password:focus-visible {
    outline: 3px solid rgba(231, 25, 104, 0.25);
    outline-offset: 1px;
}

.toggle_password[aria-pressed="true"] {
    color: #e71968;
}

.toggle_password ion-icon {
    pointer-events: none;
}

.password_eye {
    width: 21px;
    height: 21px;
    display: grid;
    place-items: center;
    pointer-events: none;
}

.password_eye svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.password_eye--hidden {
    display: none;
}

.toggle_password[aria-pressed="true"] .password_eye--visible {
    display: none;
}

.toggle_password[aria-pressed="true"] .password_eye--hidden {
    display: grid;
}

.date_input {
    position: relative;
}

.date_input input[type="text"] {
    cursor: pointer;
}

.calendario_oculto {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
}
.button
{
    width: 170px;
    height: 45px;
    font-size: 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    margin-top: 10px;
    background-color: #FC0DAA;
    color: white;
    transition: 1.1s;
}
.button:hover
{
    transform: scale(0.9);
}

/*animacion*/

.sign_up
{
    transform: translateX(-100%);
}
.container.toggle .sign_in
{
    transform: translateX(100%);
}
.container.toggle .sign_up
{
    transform: translateX(0);
}
/*Bienvenida*/
.container_welcome
{
    position: absolute;
    width: 50%;
    height: 100%;
    display: flex;
    align-items: center;
    transform: translateX(100%);
    background-color: #FC0DAA;
    overflow: hidden;
    transition: transform 0.7s ease-in-out;
    border-radius: 50% 0 0 50%;
}
.container.container.toggle .container_welcome
{
    transform: translateX(0);
    border-radius: 0 50% 50% 0;
    background-color: #FFED00;
}
.container_welcome .welcome{
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 0 50px;
    color: white;
    transition: transform 0.5s ease-in-out;
}
.container.toggle .container_welcome .welcome {
    color: black;
}

.welcome_sign_in
{
    transform: translateX(100%);
}
.container_welcome h3
{
    font-size: 40px;
}
.container_welcome p
{
    font-size: 14px;
    text-align: center;
}
.container_welcome .button{
    border: 2px solid white;
    background-color: transparent;
}
.container.toggle .container_welcome .button{
    color: black;
    border: 2px solid black;
}
.container.toggle .welcome_sign_in
{
    transform: translateX(0);
}
.container.toggle .welcome_sign_up
{
    transform: translateX(-100%);
}

/*Responsive*/

@media (max-width: 600px) {

    body {
        padding: 12px;
        box-sizing: border-box;
    }

    .container {
        width: 100%;
        max-width: 500px;
        height: 700px;
        position: relative;
        display: block;
        overflow: hidden;
    }


    .container_form {
        position: absolute;
        left: 0;
        top: 250px;
        width: 100%;
        height: 450px;
        overflow: hidden;
    }

    .container_form form {
        width: 100%;
        height: 100%;
        padding: 20px;
        box-sizing: border-box;
        transition: transform 0.5s ease-in;
    }


    .sign_in {
        transform: translateY(0);
    }


    .sign_up {
        transform: translateY(100%);
    }


    .container.toggle .sign_in {
        transform: translateY(-100%);
    }

    .container.toggle .sign_up {
        transform: translateY(0);
    }



    .container_input {
        width: 100%;
        max-width: 300px;
        box-sizing: border-box;
    }



    .container_welcome {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 250px;
        transform: translateX(0);
        border-radius: 0 0 50% 50% / 0 0 35% 35%;
        transition: background-color 0.5s ease-in-out;
    }

    .container.container.toggle .container_welcome {
        transform: translateX(0);
        border-radius: 0 0 50% 50%/ 0 0 35% 35%;
    }



    .container_welcome .welcome {
        width: 100%;
        box-sizing: border-box;
        padding: 20px;
        gap: 15px;
    }

    .container_welcome h3 {
        font-size: 30px;
    }

    .container_welcome p {
        font-size: 13px;
    }



    .button {
        width: 170px;
        height: 45px;
    }

    .container_form:first-of-type {
    pointer-events: auto;
}

.container_form:nth-of-type(2) {
    pointer-events: none;
}

.container.toggle .container_form:first-of-type {
    pointer-events: none;
}

.container.toggle .container_form:nth-of-type(2) {
    pointer-events: auto;
}
}

/* Ajuste del formulario horizontal dentro de la ventana */
@media (min-width: 601px) {
    .container {
        width: 100%;
        max-width: 800px;
    }

    .container_input {
        width: 85%;
        box-sizing: border-box;
    }

    .container_welcome .welcome {
        width: 100%;
        padding: 0 25px;
        box-sizing: border-box;
    }
}

/* Formulario dentro de la ventana de la tienda */
body.acceso-en-modal {
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    display: block;
    box-sizing: border-box;
    background: white;
}

body.acceso-en-modal .container {
    width: 100%;
    max-width: none;
    height: 500px;
    margin: 0;
    border-radius: 15px;
    box-sizing: border-box;
}

body.acceso-en-modal .container_form {
    min-width: 0;
}

@media (max-width: 600px) {
    body.acceso-en-modal .container {
        height: 700px;
    }
}