html {
    overflow-x: hidden;
    font-family: "Poppins", sans-serif;
    min-height: 100vh;
    scrollbar-gutter: stable;

    &.modal-open {
        overflow: hidden !important;
    }
}

/* Wagtail userbar (toolbar de edição) */
.w-userbar-nav {
    left: auto !important;
    right: 1rem !important;
}

#top-button {
    position: fixed;
    z-index: 100;
    align-items: center;
    justify-content: center;
    bottom: 2rem;
    left: 2rem;
    width: 4rem;
    height: 4rem;
    border-radius: 100vmax;
    background-color: var(--active-pink);
    box-shadow: 0 2px 7px 0px rgba(0, 0, 0, 0.5);
    cursor: pointer;
    display: none;
}

@media (max-width: 1024px) {
    #top-button.is-visible {
        display: grid;
    }
}

.hide {
    display: none !important;
}

.container {
    width: 85%;
    max-width: 1360px;
    margin: 0 auto;

    &.large {
        width: 85%;
        max-width: 94rem;
    }

    @media (max-width: 1024px) {
        width: 90%;
    }
}

a[disabled] {
    pointer-events: none
}

img.blur-up {
    filter: blur(16px);
    transform: scale(1.03);
    transition: filter 320ms ease, transform 320ms ease;
}

img.blur-up.is-loaded {
    filter: blur(0);
    transform: scale(1);
}

body {
    font-family: 'Poppins', sans-serif;
    padding: 0;
    margin: 0;
    overflow-x: hidden;
    background-color: var(--background);
}

button {
    font-family: 'Poppins', sans-serif;
    background-color: var(--purple-main);
    color: white;
    border-radius: 100vmax;
    padding: .5rem 2.5rem;
    border: none;
    cursor: pointer;
}

.highlight {
    font-style: italic;
}

.cover {
    background-color: black;

    & .cover__background {
        height: calc(100vh + 1rem);
        margin-top: -1rem;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-color: #666;
        display: grid;
        align-items: center;
        color: white;
        transition: transform 1s;
        transition-delay: 1s;
        margin-bottom: 4rem;
        position: relative;
        margin-inline: auto;
        max-width: 2560px;

        @media (max-height: 1100px) {
            &.cover {
                height: unset;
                min-height: calc(100vh + 2rem);
            }
        }

        &::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.45);
            pointer-events: none;
            transition: 1s;
            opacity: 0;
        }

        &.dark::before {
            visibility: hidden;
            opacity: 1;
        }

        .cover__content {
            display: grid;
            gap: 2rem;

            @media (max-width: 1024px) {
                align-items: center;
                gap: 3rem;
                line-break: auto;
            }

            @media (max-height: 1100px) {
                &.cover__content {
                    padding-block: 8rem;
                }
            }

            .title {
                font-family: 'Gloock', sans-serif;
                font-size: 111px;
                font-weight: 400;
                line-height: 1.25;
                margin: 0;

                @media (max-width: 1024px) {
                    font-size: 60px;
                    line-break: normal;
                }

                > * {
                    margin: 0;
                }

                .highlight {
                    font-family: 'EB Garamond', serif;
                    font-style: italic;
                    font-weight: 400;
                    font-size: 130px;

                    @media (max-width: 1024px) {
                        font-size: 68px;
                    }

                }
            }

            .subtitle {
                font-family: 'Poppins', sans-serif;
                font-size: 2rem;
                font-weight: 300;

                @media (max-width: 1024px) {
                    font-size: 1.5rem;
                }

                > * {
                    margin: 0;
                }
            }

            .description {
                font-size: 1.5rem;
                width: 75%;
                line-break: normal;

                @media (max-width: 1024px) {
                    font-size: 1.25rem;
                    width: 100%;
                }
            }
        }

        & button {
            font-family: 'Poppins', sans-serif;
            font-weight: 200;
            display: flex;
            align-items: center;
            gap: 1rem;
            border: 1px solid white;
            color: white;
            border-radius: .75rem;
            background-color: transparent;
            padding: .125rem 2.25rem;
            font-size: 1.25rem;

            @media (max-width: 1024px) {
                font-size: 1.125rem;
                text-align: left;
            }

            text-align: left;
        }

        & .cover__cta {
            position: relative;
            display: flex;

            a {
                text-decoration: none;
                position: relative;
            }

            &.show-line {
                margin-top: 4rem;

                a::before {
                    content: '';
                    position: absolute;
                    top: -3.25rem;
                    left: 0;
                    width: 100%;
                    height: .5rem;
                    background-color: var(--active-pink);
                    z-index: 2;
                    border-radius: 100vmax;
                }
            }
        }
    }
}

.underline {
    position: relative;
    justify-content: center;

    &::after {
        content: '';
        position: absolute;
        bottom: var(--underline-bottom, -0.25rem);
        width: 100%;
        left: 0;
        border-radius: 100vmax;
        height: var(--underline-height, 3px);
        background-color: var(--underline-color, var(--active-pink));
    }
}

.pink {
    color: var(--active-pink);
    font-weight: 600;
}

.dark-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100;
    display: grid;
    align-items: center;
    justify-content: center;
}

.modal {
    display: none;
    background-color: white;
    padding: 3rem;
    border-radius: 3rem;
    min-width: 400px;
    max-width: 80vw;

    &.active {
        display: block;
    }

    .content {
        gap: 1rem;
        display: grid;
    }

    .header {
        display: flex;
        justify-content: space-between;
        align-items: center;

        .title {
            justify-self: center;
            margin: 0;
        }

        .close {
            all: unset;
            display: grid;
            align-items: center;
            justify-content: center;
            background-color: var(--active-pink);
            color: white;
            border-radius: 100vmax;
            width: 2rem;
            aspect-ratio: 1;
            font-size: 1rem;
        }
    }

    .body {
        form {
            display: grid;
            gap: 1rem;

            .field {
                display: grid;
                gap: .5rem;

                input,
                textarea {
                    border: 1px solid black;
                    border-radius: .25rem;
                    padding: .5rem;
                }

                textarea {
                    resize: vertical;
                    min-height: 100px;
                }

                label a {
                    color: black;
                }
            }

            .field-checkbox {
                display: flex;
                gap: .5rem;

                a {
                    color: black;
                }
            }

            button[type="submit"] {
                background-color: var(--active-pink);
            }
        }
    }
}