/* == FIELD LABEL == */
.field-label {
    font-size: 0.63rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--text-secondary);
    display: block;
    margin-bottom: 0.6rem;
}

/* == INPUTS == */
.form-control, .form-select {
    background: var(--surface-highest);
    border: 1.5px solid transparent;
    border-radius: 0.5rem;
    padding: 0.9rem 1.1rem;
    font-family: var(--font-heading);
    font-size: 0.93rem;
    color: var(--text-primary);
    transition: background .2s, border-color .2s, box-shadow .2s;
}

    .form-control:focus, .form-select:focus {
        background: var(--surface-white);
        border-color: var(--cyan);
        box-shadow: 0 0 0 3px rgba(0,168,232,0.15);
        outline: none;
    }

    .form-control::placeholder {
        color: var(--text-muted);
    }

/* == CAMPUS CARDS == */
.campus-card {
    cursor: pointer;
    padding: 1.35rem 1.25rem;
    border-radius: 0.75rem;
    background: var(--surface-white);
    border: 1.5px solid var(--surface-high);
    transition: border-color .2s, box-shadow .2s;
    position: relative;
}

    .campus-card:hover {
        border-color: var(--cyan);
        box-shadow: 0 0 0 3px rgba(0,168,232,0.12);
    }

    .campus-card input[type="radio"] {
        display: none;
    }

    .campus-card:has(input:checked) {
        border-color: var(--navy);
        box-shadow: 0 0 0 2px var(--navy), 0 4px 16px rgba(13,41,112,0.12);
    }

        .campus-card:has(input:checked) .radio-dot {
            background: var(--navy);
            border-color: var(--navy);
        }

.radio-dot {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 2px solid var(--surface-highest);
    transition: background .2s, border-color .2s;
}

.campus-icon {
    width: 36px;
    height: 36px;
    border-radius: 0.5rem;
    background: var(--cyan-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cyan-dark);
}

.campus-title {
    font-family: var(--font-primary);
    font-weight: 700;
    color: var(--navy);
    font-size: 0.92rem;
    margin-top: 0.75rem;
    margin-bottom: 0;
}

.campus-sub {
    font-size: 0.72rem;
    color: var(--text-muted);
    margin-top: 2px;
}

.section-label {
    font-size: 0.63rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--text-secondary);
    margin-bottom: 0.85rem;
    display: block;
}
