/* Main */

input:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--dark-white) !important;

    transition: outline ease-in-out .25s;
}

#content {
    display: flex;
    align-items: center;
    justify-content: center;
}
/* CONTENT */

#contact-details {
    width: 100vw;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 128px;
    animation: fadeInUp 1.5s;
    z-index: 3;
}

#contact-form {
    display: flex;
    z-index: inherit;
}

#contact-form p {
    font-family: 'Josefin Sans', 'Alata', 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin: 16px 0px 0px 0px;
    padding: 0px;
}

/* Forms */

form {
    width: 40vw;
    display: flex;
    flex-direction: column;
    padding: 32px;
    background-color: var(--dark-black-0b);
    /* border: 1px solid var(--dark-white-6b); */
    margin-bottom: 128px;
}

form input, form textarea, form button {
    margin: 2px 0px;
    border: none;
    color: var(--dark-accent-primary);
    font-family: 'Poppins';
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

form *::placeholder {
    font-family: 'Josefin Sans', 'Alata', 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 700;
}

form input, form textarea {
    background-color: var(--dark-secondary-6b);
    border: 1px solid var(--dark-white-6b);
    outline: 2px solid transparent !important;

    transition: color ease-in-out .25s, outline ease-in-out .25s;
}

form input {
    height: 32px;
}

form textarea {
    min-height: 64px;
    height: 248px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    resize: vertical;
    color: var(--dark-white);
}

#emballage-de-boutton-envoyer {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

#emballage-de-boutton-envoyer > button {
    width: fit-content !important;
}

form button {
    margin-top: 32px;
    width: 128px;
    padding: 16px;
    background-color: var(--dark-secondary-6b);
    outline: 2px solid transparent !important;
    border: 1px solid var(--dark-white-6b);
    border-radius: 64px;
    font-size: 20px;
    font-weight: 600;

    transition: background-color .25s ease-in-out, color ease-in-out .25s, outline ease-in-out .25s;
}

form button:hover {
    background-color: var(--dark-secondary-6b);
    transition: background-color .25s ease-in-out;
}

form button:focus-visible {
    outline: 2px solid var(--dark-white) !important;

    transition: outline ease-in-out .25s;
}

form button:active {
    background-color: var(--dark-white-6b);
    transition: background-color .25s ease-in-out;
}

/* Platforms */

.spacer {
    height: 48px;
}

#platforms {
    width: 40vw;
    display: flex;
    flex-direction: column;
    gap: 16px;
    z-index: inherit;
}

.platform {
    padding: 16px;
    height: fit-content;
    background-color: var(--dark-secondary-6b);
    border: 1px solid var(--dark-white-6b);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 8px 8px 0px var(--dark-black-6b), 0px 0px 16px var(--dark-black);

    transition: background-color .25s ease-in-out;
}

.platform img {
    width: 40px;
}

.platform .icon-qr-code {
    width: 24px;
    filter: invert(100%);
    cursor: pointer !important;
}

.platform h1 {
    width: auto;
    width: -webkit-fill-available;
    margin: 0px 8px 0px 16px;
    color: var(--dark-accent-primary);
    font-family: 'Poppins';
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

a:has(.platform) {
    border-radius: 0px !important;
}

a:has(.platform) h1 {
    cursor: pointer !important;
}

a .platform {
    outline: 2px solid transparent !important;

    transition: outline ease-in-out .25s;
}

a:focus-visible .platform {
    outline: 2px solid var(--dark-white) !important;

    transition: outline ease-in-out .25s;
}

.mfp-content {
    width: auto !important;
}

.qr-code-modal {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 90vw;
    min-width: 20vw;
    width: 40vw;
}

.qr-code-modal img {
    max-width: inherit;
    min-width: inherit;
    width: inherit;
    max-height: 100vh;
}

/* Media Queries */

@media screen and (max-width: 1300px) {
    #contact-details {
        flex-direction: column;
        gap: 64px;
        margin-bottom: 16px;
        align-items: center;
    }

    form {
        width: 85vw;
    }

    #platforms {
        width: 90vw;
    }

    .spacer {
        height: 0px;
    }
}

@media screen and (max-width: 600px) {
    .qr-code-modal {
        width: 85vw;
    }

    form {
        border: none;
        width: 85vw;
        margin: 0px;
        padding: 16px;
    }

    form button {
        margin-top: 16px;
    }
}