#usctdp-woocommerce-extra {
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: auto;
}

#usctdp-student-selector {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 5px;
    align-items: center;
}

#select_name_or_new {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto auto;
    grid-template-areas:
        "lab sel"
        ". add";
    gap: 10px;
    margin-bottom: 15px;
    width: 100%;
    align-items: center;
    justify-items: end;
}

#student_label {
    grid-area: lab;
}

#student_select_wrapper {
    grid-area: sel;
    width: 100%;
}

#student_select {
    width: 100%;
}

#new_student_button_wrapper {
    grid-area: add;
    max-width: 115px;
}

#usctdp-day-selectors {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
    margin-bottom: 15px;
}

.usctdp-day-selector {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto;
    grid-template-areas:
        "lab sel";
    gap: 10px;
    width: 100%;
    align-items: center;
    justify-items: end;
}

.usctdp-day-selector label {
    grid-area: lab;
}

.usctdp-day-selector select {
    grid-area: sel;
    width: 100%;
}

/* Add space for the 'X' clear button */
.select2-container--default .select2-selection--single .select2-selection__clear {
    margin-right: 20px;
    position: relative;
    z-index: 1;
}

/* Ensure the container has enough padding on the right for both icons */
.select2-container--default .select2-selection--single {
    padding-right: 30px;
}

/* The Modal Container */
dialog#new-student-modal {
    border: none;
    border-radius: 12px;
    padding: 24px;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    background-color: #ffffff;
    margin: auto;
    position: fixed;
    inset: 0;
}

dialog#new-student-modal::backdrop {
    background: rgba(0, 0, 0, 0.5);
}

/* Heading Styling */
dialog#new-student-modal h2 {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.5rem;
    color: #333;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
}

/* Label Styling */
dialog#new-student-modal label {
    font-weight: 600;
    font-size: 0.9rem;
    color: #555;
}

dialog#new-student-modal input {
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1rem;
    outline: none;
    transition: border-color 0.2s;
}

dialog#new-student-modal form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

dialog#new-student-modal .actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 10px;
}

dialog#new-student-modal .student_field {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto;
    grid-template-areas:
        "lab sel";
    gap: 5px;
}

dialog#new-student-modal .student_field label {
    grid-area: lab;
    justify-self: end;
    align-self: center;
    text-align: right;
    margin-right: 5px;
}

dialog#new-student-modal .student_field input {
    grid-area: sel;
    width: 100%;
}

.force-hidden {
    display: none !important;
}