.input-container {
    position: relative;
    width: 100%;
}

    /* Stile del campo input */
    .input-container input,
    .input-container select {
        width: var(--modal-input-width);
        padding: 9px;
        border: 1px solid #ccc;
        border-radius: 15px;
        font-size: 13px;
    }

    /* Stile della label flottante */
    .input-container label {
        position: absolute;
        left: var(--modal-label-font-size);
        top: 50%;
        transform: translateY(-50%);
        font-size: var(--modal-label-font-size);
        pointer-events: none;
        width: auto;
    }

    /* Il trucco: taglia il bordo creando una "finta interruzione" */
    .input-container input:focus + label,
    .input-container input:not(:placeholder-shown) + label,
    .input-container select:focus + label,
    .input-container select:not([value=""]) + label,
    .input-container textarea:focus + label,
    .input-container textarea:not(:placeholder-shown) + label {
        top: -6px; /* Spostiamo esattamente dentro il bordo */
        font-size: var(--modal-label-font-size);
        padding: 0 2px;
    }

/* Per lo stile dark */
body.mod-skin-dark .input-container select:focus + label,
body.mod-skin-dark .input-container select:not([value=""]) + label,
body.mod-skin-dark .input-container select:disabled,
body.mod-skin-dark .input-container input:not([value=""]) + label,
body.mod-skin-dark .input-container input:disabled,
body.mod-skin-dark .input-container textarea:not([value=""]) + label,
body.mod-skin-dark .input-container textarea:disabled,
body.mod-skin-dark .input-container .form-control:disabled,
body.mod-skin-dark .input-container .form-control[readonly] {
    background-color: transparent !important;
}

/* LIGHT THEME */
body.mod-skin-light .input-container select:focus + label,
body.mod-skin-light .input-container select:not([value=""]) + label,
body.mod-skin-light .input-container select:disabled,
body.mod-skin-light .input-container input:not([value=""]) + label,
body.mod-skin-light .input-container input:disabled,
body.mod-skin-light .input-container textarea:not([value=""]) + label,
body.mod-skin-light .input-container textarea:disabled,
body.mod-skin-light .input-container .form-control:disabled,
body.mod-skin-light .input-container .form-control[readonly] {
    background-color: white !important;
    opacity: 1;
}

.custom-modal-dialog {
    position: fixed !important;
    left: calc(20%); /* o altro valore adatto */
    width: 60%;
    max-width: 60%; /* Imposta la larghezza massima desiderata */
    max-height: 85%; /* Imposta l'altezza massima desiderata */
}

.custom-modal-dialog-ripartizione-pasti {
    position: fixed !important;
    left: calc(38vw) !important;
    width: 23rem !important;
}

.flatpickr-calendar {
    z-index: 1056 !important;
}

.validation-message {
    color: red;
}

.radius-style {
    border-radius: 15px;
    overflow: hidden; /* Evita bordi tagliati */
}

.custom-width {
    width: 28rem;
    margin-top: -18px;
}

.col-sm-2-custom {
    width: 20% !important;
    font-size: var(--modal-label-font-size);
}

.multi-select-label-property {
    font-size: var(--modal-label-font-size);
    position: relative;
    margin-bottom: 1px;
    left: var(--modal-label-font-size);
    top: 3px
}

.choices[data-type*=select-multiple] .choices__inner, .choices[data-type*=text] .choices__inner {
    border-radius: 15px !important;
    border-color: var(--ins-dark-border-subtle);
    border: 1px solid #ccc;
    padding: .40rem .385rem !important;
}

.choices[data-type="select-multiple"] .choices__inner::after {
    content: '';
    position: absolute;
    right: 1rem;
    top: 50%;
    width: 0.6rem;
    height: 0.6rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
    pointer-events: none;
}

.custom-logo-style {
    height: 60px !important;
    width: 60px !important;
}

.custom-logo-style-login {
    height: 80px !important;
    width: 80px !important;
}

.custom-logo-scritta-style {
    height: 35px !important;
    width: 105px !important;
    margin-top: 7px !important;
}

.custom-logo-scritta-style-login {
    height: 45px !important;
    width: 135px !important;
    margin-top: 7px !important;
}

.custom-logo-sm-style {
    height: 55px !important;
    width: 60px !important;
}

.custom-scroll-bar {
    overflow-y: auto;
    resize: vertical;
    scrollbar-width: thin;
}

.custom-image-style {
    width: 35px;
    height: 35px;
}