:root {
    --spacing-lg: 32px;
    --spacing-md: 24px;
    --spacing-sm: 16px;
}

body {
    min-height: 100vh;
    color: var(--white);
}

.container {
    max-width: 932px;
    width: 100%;
    margin: 80px auto;
}

@media (max-width: 1440px) {
    .container {
        margin: 40px auto;
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 1.5rem !important;
    }
}

.main-header {
    padding: 0;
}

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

.logo {
    width: clamp(137px, 10vw, 199px);
}

.header-description {
    margin: 1.5rem 0 clamp(32px, 3vw, 40px) 0;
}

@media (max-width: 1280px) {
    .main-header {
        padding: 0 24px;
    }
}

main {
    background-color: var(--white);
    padding: 40px 120px;
    color: var(--black);
}

@media (max-width: 768px) {
    main {
        padding: 32px 24px;
    }
}

.form-info {
    margin: clamp(32px, 4vw, 40px) 0;
}

.asterisk {
    font-weight: bold;
    color: var(--error-main);
}

fieldset {
    margin-bottom: clamp(32px, 4vw, 40px);
}

h4 {
    margin-bottom: clamp(24px, 3vw, 40px);
}

.question:not(:first-child) {
    margin-top: clamp(16px, 3vw, 40px);
}

fieldset p {
    margin: 0 0 clamp(8px, 2vw, 16px) 0;
}

.buttons-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(8px, 2vw, 32px);
}

footer {
    margin: 80px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
    gap: 1rem;
}

footer img {
    margin-bottom: 14px;
    width: 162px;
    height: 50px;
}

@media (max-width: 720px) {
    .header-title {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 40px;
    }
}

@media (max-width: 545px) {
    .buttons-container {
        flex-direction: column-reverse;
        gap: 24px;
    }
}

.categories {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.categories li {
    list-style: none;
    max-width: fit-content;
}

@media (max-width: 768px) {
    .categories {
        display: grid;
        grid-template-columns: 1fr;
    }
}

.category-selected-items {
    margin-top: var(--spacing-lg);
}

.category-selected-items .item {
    margin: var(--spacing-md);
}

div.themes:not(:first-of-type) {
    margin-top: var(--spacing-lg);
}

label.radio {
    margin: var(--spacing-md) 0;
    cursor: pointer;
}

/* TELA DE AGRADECIMENTO */

.simple-container {
    width: 100%;
    max-width: 931px;
    background-color: var(--white);
    margin: 48px auto;
}

.thanks-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-md);
}

.thanks-text {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.thanks-text h2 {
    color: var(--primary-main);
}

@media (max-width: 678px) {
    .thanks-container {
        flex-direction: column;
    }
}

/* Error Pages */

.error-container {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.error-container img {
    width: 100%;
    max-width: 400px;
}

.error-container button {
    max-width: 200px;
}

.error-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

@media (max-width: 768px) {
    .error-container {
        flex-direction: column;
        gap: var(--spacing-lg);
    }
}