fieldset {
    margin-bottom: 3rem;

    #about, #contact-data {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;

        &>.full {
            grid-column: span 2;
        }

        &>.input-wrapper {
            display: grid;
            gap: .75rem;

            &>label {
                font: var(--body-sm);
                color: var(--text-body);
            }

            &>input,
            &>textarea {
                padding: .8125rem 1rem;

                color: var(--input-placeholder);
                background-color: var(--input-base);

                border: 1px solid var(--input-stroke);
                border-radius: .5rem;

                outline: none;
                resize: none;
            }

            &>textarea {
                height: 8.5rem;
            }

            &>input:hover,
            &>textarea:hover,
            &>input:focus,
            &>textarea:focus {
                border-color: var(--brand-light);
            }
        }
    }

    #personalization {
        display: grid;
        gap: 1.75rem;

        h3 {
            font: var(--body-sm);
            color: #FFFFFF;
            margin-bottom: 1rem;
        }

        .radio-wrapper {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(2.5rem, 1fr));
            gap: .5rem;

            .input-wrapper {
                label {
                    display: block;
                    width: 2.5rem;
                    height: 2.5rem;
    
                    border: 0.375rem solid var(--shape-button);
                    border-radius: 50%;
    
                    cursor: pointer;
    
                    &:hover {
                        border-color: var(--shape-hover);
                    }
                }

                &:has(:checked) label,
                &:focus-within label {
                    outline: 2px solid var(--brand-light);
                }
            }
        }

        .themes-wrapper {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(134px, 1fr));
            gap: .5rem;

            .input-wrapper {
                label {
                    display: grid;
                    justify-items: center;
                    gap: .5rem;

                    background: var(--shape-button);
                    border: 1px solid var(--input-stroke);
                    border-radius: .5rem;

                    padding: .25rem .25rem .5rem;
                    cursor: pointer;

                    img {
                        width: 100%;
                        object-fit: cover;
                    }

                    span {
                        font: var(--body-sm);
                        color: var(--text-heading);
                    }

                    &:hover {
                        background: var(--shape-hover);
                    }
                }

                &:has(:checked) label,
                &:focus-within label {
                    border: 2px solid var(--brand-light);
                }
            }
        }

        #event-extras {
            display: flex;
            justify-content: space-between;
            gap: 1rem;

            h3 {
                color: var(--text-body);
                margin-bottom: .75rem;
            }

            .event-style {
                flex: 1;
            }

            .event-cover {
                flex: 2;

                .input-file {
                    display: flex;
                    align-items: center;
                    gap: .75rem;
                    flex-wrap: wrap;

                    label {
                        font: var(--body-sm);
                        font-weight: 600;
                        color: var(--text-heading);

                        display: flex;
                        align-items: center;
                        justify-content: center;
                        gap: .5rem;

                        padding: .75rem 1rem;
                        background: var(--shape-button);

                        border-radius: .5rem;
                        cursor: pointer;

                        img {
                            width: 1rem;
                            height: 1rem;
                        }
                    }

                    label:hover {
                        background: var(--shape-hover);
                    }

                    & > span {
                        font: var(--body-md);
                        color: var(--input-placeholder);
                    }
                }
            }
        }
    }
}

#create_invite {
    padding-top: 2.5rem;

    border-top: 1px solid var(--input-stroke);

    display: flex;
    flex-direction: column;
    gap: 3rem;

    ul {
        list-style: none;

        display: grid;
        gap: .25rem;

        li {
            display: flex;
            align-items: center;
            gap: .75rem;
            flex-wrap: wrap;

            padding-block: .25rem;

            label {
                width: 1.5rem;
                height: 1.5rem;

                border: 1px solid var(--input-stroke);
                border-radius: .25rem;

                background: var(--input-base);

                cursor: pointer;
            }

            span {
                font: var(--body-sm);
                color: var(--text-body);

                a {
                    font-weight: 600;
                    color: var(--brand-light);
                }
            }

            &:has(:checked) label {
                background: url(../assets/icons/check.svg) center/contain no-repeat;

                border-color: var(--brand-light);
            }
        }
    }

    button {
        align-self: flex-end;

        display: flex;
        align-items: center;
        justify-content: center;
        gap: .75rem;

        padding: .875rem 1.5rem;

        background: var(--brand-dark);

        border: 1px solid transparent;
        border-radius: .5rem;

        cursor: pointer;

        font: var(--body-md);
        color: var(--text-heading);

        &:hover {
            background: var(--brand-mid);
        }
    }
}