
.application-section {
    border: 1px solid var(--light_gray, rgba(0, 0, 0, 0.10));
}

.application-section h3 {
    color: var(--unc-blue);
    font-family: var(--font-family-font);
    font-size: var(--font-size-lg);
    font-style: normal;
    font-weight: 700;
    line-height: 1.5rem; /* 120% */
}

.application-section.cfp-required {
    border: 2px solid var(--blue);
}

.application .card3 {
    width: 100%;      
    max-width: 90rem;
}

.please-review {
    border-radius: 0.375rem;
    border: 1px solid var(--yellow);
    background: #FFF6E2;

    display: flex;
    padding: 0.8125rem 1.0625rem;
    align-items: center;
    gap: 0.625rem;
    align-self: stretch;

    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
}

.submit-button-container {
    display: flex;
    justify-content: end;
    align-items: center;
    flex: 1 0 0;
}

.submit-button {
    border-radius: 0.25rem;
    background: var(--sog_navy);
    border: none;

    display: flex;
    padding: 0.4375rem 0.9375rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.0625rem;

    width: fit-content;
    text-decoration: none;
}

.submit-button-content {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    align-self: stretch;
}

.submit-button-icon {
    width: 0.8125rem;
    height: 0.8125rem;
    aspect-ratio: 1/1;
}

.submit-button-text {
    font-size: var(--font-size-sm, 1rem);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}


.two-column-form {
    width: 100%;
    margin: 1.25rem auto;
}

.form-grid {
    display: grid;
    /* Create two columns of equal width with a gap of 20px */
    grid-template-columns: 1fr 1fr; 
    gap: 20px; 
}

.form-group {
    display: flex;
    flex-direction: column;
}

/* .form-group label {
    margin-bottom: 5px;
    font-weight: bold;
} */

.form-group input, 
.form-group select, 
.form-group textarea {
    display: flex;
    height: 2.25rem;
    padding: 0.25rem 0.75rem;
    align-items: center;
    align-self: stretch;

    border-radius: 0.25rem;
    border: 1px solid rgba(0, 0, 0, 0.00);
    background: var(--alabaster, #F9F9F9);

    font-size: 1rem;
    font-family: var(--font-family-font);

    width: 100%;
    box-sizing: border-box; /* Ensures padding doesn't increase width */
}

.error {
    border: 2px solid red !important;
}

.error-block {
    border-radius: 0.25rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 1rem;
    background: #FFE5E5;
    color: red;
}

.form-group textarea {
    height: auto;
    height: 5.375rem;
    resize: none;
    align-items: flex-start;
}

.form-group select {
    color: var(--Dark-gray, var(--dark_gray, #666));
}

.full-width {
    grid-column: span 2; 
}

.form-group-checkbox input {
    border-radius: 0.25rem;
    border: 1px solid var(--sp-gray, #DBDADA);
    background: var(--alabaster, #F9F9F9);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);

    height: 1.25rem;
    width: 1.25rem;
    vertical-align: middle;
}

.no-wrap-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.no-wrap-label input + span {
    white-space: normal; 
}

/* Standard syntax for modern browsers (Chrome, Firefox, Safari, Opera) */
::placeholder {
    color: var(--Dark-gray, var(--dark_gray, #666));
    opacity: 1; /* Firefox sets a default opacity, so this ensures consistency */
}

/* For Microsoft Edge (older versions) */
::-ms-input-placeholder { 
    color: var(--Dark-gray, var(--dark_gray, #666));
}

/* For Internet Explorer 10 and 11 */
:-ms-input-placeholder { 
  color: var(--Dark-gray, var(--dark_gray, #666));
}

#cfp_acknowledgment {
    margin-right: 15px;
}

@media (max-width: 1024px) {
    .form-grid {
        /* Change back to a single column layout */
        grid-template-columns: 1fr; 
    }
    
    .full-width {
        /* Ensure email still spans 1 column in mobile view */
        grid-column: span 1;
    }
}
