/* General card styling */
.card {
    border-radius: 30px !important; /* Rounded corners for the card */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

/* Card header styling */
.card-header {
    background-color: rgba(255, 255, 255, 0.5); /* Transparent white */
    border-radius: 10px 10px 0 0; /* Rounded top corners */
    font-family: 'Inria Sans', sans-serif;
    text-align: center;
    font-size: 25px;
    font-weight: bold;
    border-bottom: none;
}

/* Input fields */
.form-control {
    border-radius: 10px; /* Rounded input fields */
    border: 1px solid #ced4da; /* Lighter border color */
    padding: 10px;
}

/* Radio buttons container */
.form-group.roles {
    display: flex;
    justify-content: center; /* Horizontal centering */
    gap: 30px; /* Spacing between radio buttons */
}

/* Radio buttons */
input.rounded-radio {
    appearance: none; /* Removes default radio styles */
    -webkit-appearance: none; /* Removes default styles in WebKit browsers */
    background-color: #f0f0f0; /* Light gray background */
    border: 2px solid #ccc; /* Border for the radio button */
    border-radius: 50%; /* Makes the radio button round */
    width: 20px; /* Size of the radio button */
    height: 20px; /* Size of the radio button */
    outline: none;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Radio button checked state */
input.rounded-radio:checked {
    background-color: #6E6E6E; /* Dark gray color for checked state */
    border-color: #6E6E6E; /* Dark gray border for checked state */
}

/* Add a checkmark effect for the checked state */
input.rounded-radio:checked::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: white;
    border-radius: 50%;
    margin: 4px auto; /* Center the inner circle */
}

/* Labels for radio buttons */
.roles label {
    font-family: 'Inria Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px; /* Space between the radio button and label text */
}

/* Password toggle button */
.input-group-append .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-radius: 10px; /* Rounded button */
}

/* Role error styling */
#roleError {
    display: none;
    border-radius: 10px; /* Rounded alert box */
    color: #fff;
    background-color: #dc3545; /* Red background */
    padding: 10px;
    text-align: center;
}

/* Additional styling for responsiveness */
.container {
    max-width: 600px;
    margin: auto;
}

/* Submit button */
.btn-dark {
    font-size: 18px;
    padding: 10px 20px;
    border-radius: 10px;
}

/* Checkbox animations */
input.rounded-radio {
    transition: all 0.3s ease;
}

input.rounded-radio:hover {
    background-color: #e6e6e6;
}

input.rounded-radio:focus {
    outline: none;
    box-shadow: 0 0 5px rgba(110, 110, 110, 0.5);
}
