/* Default Textfield Stepper styling */

.fl-textfieldStepper {
    align-items: center;
    display: flex;
    flex-basis: auto;
    font-size: var(--fl-enhance-font-size, 1rem);
    justify-content: center;
}

.fl-textfieldStepper *:focus {
    outline: none;
}

.fl-textfieldStepper-focus {
    outline: solid 0.2em var(--fl-fgColor, #000);
}

.fl-textfieldStepper-focusContainer {
    margin: 0 0.5em;
    padding: 0.2em;
}

/* Textfield Styling */

.fl-textfieldStepper .fl-textfieldStepper-textField {
    -moz-appearance: textfield;
    background-color: var(--fl-bgColor);
    border: solid 1px var(--fl-fgColor, #000);
    color: var(--fl-fgColor);
    font-family: inherit;
    font-size: 100%;
    height: 2em;
    margin: 0 0.5em;
    text-align: center;
    width: 8ch;
}

.fl-textfieldStepper .fl-textfieldStepper-textField::-webkit-inner-spin-button,
.fl-textfieldStepper .fl-textfieldStepper-textField::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Textfield Button Styling */

.fl-textfieldStepper .fl-textfieldStepper-button {
    background-color: var(--fl-buttonBgColor);
    border: 2px solid var(--fl-buttonFgColor, #000);
    border-radius: 0.4em;
    color: var(--fl-buttonFgColor);
    font-size: 100%;
    height: 2.4375em;
    width: 2.4375em;
}

.fl-textfieldStepper .fl-textfieldStepper-button:disabled {
    opacity: 0.3;
}

/* Theming */
[class*="fl-theme"]:not(.fl-theme-prefsEditor-default) .fl-textfieldStepper .fl-textfieldStepper-button:disabled {
    visibility: hidden;
}
