:root {
    --color-form-bg: white;
    --color-form-content-bg: var(--color-background);
    --color-form-input-bg: #fff;
    --color-form-input-border: #0002;
    --color-form-input-text: inherit;
    --color-form-card-bg: white;
    --color-form-card-border: #0002;
    --color-form-card-hover-bg: #EFF6FF;
    --color-form-card-selected-bg: #EFF6FF;
    --color-form-card-selected-shadow: rgba(37, 99, 235, 0.15);
    --color-form-infobox-bg: #fff;
    --color-form-infobox-border: #0001;
    --color-form-infobox-text: #000;
    --color-form-h2: var(--color-heading-black);
    --color-form-h3: var(--color-heading-black);
    --color-form-h3-svg: #000;
    --color-form-label: var(--color-heading-black);
    --color-form-upload-bg: #F3F4F6;
    --color-form-alert-success-bg: #D1FAE5;
    --color-form-alert-success-text: #065F46;
}

:root[data-theme="dark"] {
    --color-form-bg: var(--color-forground);
    --color-form-content-bg: var(--color-background);
    --color-form-input-bg: #3a3a3a;
    --color-form-input-border: #b1b1b122;
    --color-form-input-text: #e3e3e3;
    --color-form-card-bg: #3a3a3a;
    --color-form-card-border: #b1b1b133;
    --color-form-card-hover-bg: #1a2a4a;
    --color-form-card-selected-bg: #1a2a4a;
    --color-form-card-selected-shadow: rgba(37, 99, 235, 0.25);
    --color-form-infobox-bg: #303030;
    --color-form-infobox-border: #b1b1b122;
    --color-form-infobox-text: #e3e3e3;
    --color-form-h2: #e3e3e3;
    --color-form-h3: #e3e3e3;
    --color-form-h3-svg: #e3e3e3;
    --color-form-label: #d1d5db;
    --color-form-upload-bg: #3a3a3a;
    --color-form-alert-success-bg: #1a2e1f;
    --color-form-alert-success-text: #4ade80;
}

main {
    margin-top: var(--padding-main);
    margin-bottom: var(--padding-main);
    gap: var(--padding-main) !important;
}

.header-section {
    .content {
        border-radius: var(--card-radius);
        background: linear-gradient(90deg, #2B3A55 0%, #1D4ED8 100%);

        padding: var(--padding-main);
        color: white;

        display: flex;
        flex-direction: column;
        gap: 8px;

        h1 {
            font-size: var(--text-heading1);
            font-weight: 600;

            display: flex;
            gap: 4px;
            align-items: center;
        }

        b {
            font-weight: 600;
        }

        p {
            display: flex;
            gap: 4px;
            align-items: center;
        }
    }
}

.form-section {
    .content {
        border-radius: var(--card-radius);
        box-shadow: var(--shadow-card);

        background-color: var(--color-form-bg);
        padding: var(--padding-main);
        padding-top: 0;

        .header {
            padding-top: 16px;
            display: flex;
            align-items: center;
            gap: 8px;

            svg {
                fill: var(--color-form-h3-svg);
            }

            h2 {
                font-size: var(--text-heading2);
                font-weight: 600;
                color: var(--color-form-h2);
            }
        }

        h3 {
            font-size: var(--text-heading3);
            font-weight: 600;
            color: var(--color-form-h3);

            display: flex;
            gap: 8px;
            align-items: center;

            svg {
                fill: var(--color-form-h3-svg);
            }
        }

        .form-content {
            margin-top: var(--padding-card);

            border-radius: var(--card-radius);
            background: var(--color-form-content-bg);
            padding: var(--padding-card);
        }

        .form-group {
            width: 100%;
            display: flex;
            align-items: start;
            flex-direction: column;
            margin-top: 16px;
            gap: 8px;

            label {
                font-weight: bold;
                font-size: 14px;
                color: var(--color-form-label);
            }

            span {
                color: red;
                font-size: 14px;
            }

            .lockinfo {
                position: relative;

                .infobox {
                    display: none;
                }

                &:hover {
                    .infobox {
                        width: auto;
                        display: block;
                        position: absolute;
                        bottom: 100%;
                        left: 0;
                        background-color: var(--color-form-infobox-bg);
                        border: 1px solid var(--color-form-infobox-border);
                        box-shadow: var(--shadow-card);
                        border-radius: var(--box-radius);
                        padding: var(--padding-button);
                        color: var(--color-form-infobox-text);
                    }
                }
            }

            p {
                font-size: 14px;
                color: var(--color-text);

                &.upload {
                    padding: var(--padding-button);
                    border-radius: 20px;
                    background-color: var(--color-form-upload-bg);
                    display: flex;
                    align-items: center;
                    gap: 8px;
                    cursor: pointer;
                }
            }

            input:not([type="checkbox"]),
            select,
            textarea {
                width: 100%;
                padding: var(--padding-button);
                font-size: 14px;
                border-radius: var(--box-radius);
                border: 1px solid var(--color-form-input-border);
                outline: none;
                background-color: var(--color-form-input-bg);
                color: var(--color-form-input-text);
                resize: vertical;

                &:focus {
                    box-shadow: var(--shadow-inset);
                }
            }

            input[type="checkbox"] {
                cursor: pointer;
            }

            #businessType {
                width: 100%;
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 8px;
            }

            #businessIndustryCheckboxes {
                width: 100%;
                display: grid;
                grid-template-columns: repeat(5, 1fr);
                gap: 8px;
            }

            #budgetRange {
                width: 100%;
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 8px;
            }

            #businessType,
            #businessIndustryCheckboxes,
            #budgetRange {
                .option-card {
                    border-radius: var(--box-radius);
                    border: 1.5px solid var(--color-form-card-border);
                    padding: var(--padding-card);
                    background-color: var(--color-form-card-bg);
                    cursor: pointer;
                    transition: border-color 0.15s, background-color 0.15s, box-shadow 0.15s;

                    display: flex;
                    gap: 8px;
                    align-items: center;

                    input[type="radio"],
                    input[type="checkbox"] {
                        accent-color: var(--color-dealflow);
                        width: 16px;
                        height: 16px;
                        cursor: pointer;
                        flex-shrink: 0;
                    }

                    label {
                        cursor: pointer;
                        font-size: 14px;
                        line-height: 1.3;
                        font-weight: 500;
                        color: var(--color-form-label);
                    }

                    &:hover {
                        border-color: var(--color-dealflow);
                        background-color: var(--color-form-card-hover-bg);
                    }

                    &.selected,
                    &:has(input:checked) {
                        border-color: var(--color-dealflow);
                        background-color: var(--color-form-card-selected-bg);
                        box-shadow: 0 0 0 2px var(--color-form-card-selected-shadow);
                    }
                }
            }
        }

        .double {
            display: flex;
            flex-direction: row;
            gap: 8px;
        }

        button {
            border-radius: var(--box-radius);
            padding: var(--padding-button);
            background-color: var(--color-dealflow);
            color: white;
            font-weight: 600;
            cursor: pointer;
        }

        .contact-information {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 8px;
        }
    }
}

@media only screen and (max-width:800px) {
    .form-section .content {
        .form-content {

            #businessType {
                grid-template-columns: repeat(1, 1fr);
            }

            #businessIndustryCheckboxes {
                grid-template-columns: repeat(2, 1fr);
            }

            #budgetRange {
                grid-template-columns: repeat(2, 1fr);
            }

            .contact-information {
                grid-template-columns: repeat(1, 1fr);
            }
        }
    }
}