/*
 * Keep Ninja Forms' date input and time controls from overlapping when the
 * active theme forces every input/select to 100% width.
 */
.nf-form-content .date-wrap .nf-field-element {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.nf-form-content .date-wrap .nf-field-element > input,
.nf-form-content .date-wrap .nf-field-element > .datepicker,
.nf-form-content .date-wrap input.datepicker,
.nf-form-content .date-wrap input[type="text"] {
    box-sizing: border-box !important;
    flex: 1 1 260px !important;
    min-width: 220px !important;
    width: auto !important;
}

.nf-form-content .date-wrap .nf-field-element > div {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    float: none !important;
    margin: 0 !important;
    position: static !important;
    width: auto !important;
}

.nf-form-content .date-wrap select.hour,
.nf-form-content .date-wrap select.minute,
.nf-form-content .date-wrap select.ampm {
    box-sizing: border-box !important;
    display: inline-block !important;
    margin: 0 !important;
    max-width: 180px !important;
    min-width: 96px !important;
    position: static !important;
    width: auto !important;
}

/* Impossible hours are removed from the list. Full slots remain visible but
 * disabled and receive a “Full” label from frontend.js. */
.nf-form-content .date-wrap option.nf-date-outside-hours,
.nf-form-content .date-wrap option[hidden] {
    display: none !important;
}

.nf-form-content .date-wrap option.nf-date-slot-full,
.nf-form-content .date-wrap option:disabled {
    color: #777 !important;
}

@media (max-width: 600px) {
    .nf-form-content .date-wrap .nf-field-element > input,
    .nf-form-content .date-wrap .nf-field-element > .datepicker,
    .nf-form-content .date-wrap input.datepicker,
    .nf-form-content .date-wrap input[type="text"] {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}
