/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/ui-lib/Input/Input.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.Input_inputWrapper__kiefE {
    position: relative;
    width: 100%;
    margin-bottom: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* base input styling */
.Input_inputField__Sx81j {
    width: 100%;
    border-radius: 6px;
    font-size: 1rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;

    /* padding top augmenté pour laisser de l'espace au label flottant et aux lettres montantes */
    padding: 1.75rem 0.75rem 0.5rem 0.75rem;
    /* top, right, bottom, left */
}

/* floating label */
.Input_inputLabel__g0sKP {
    position: absolute;
    left: 0.75rem;
    top: 1.25rem;
    /* position initiale */
    font-size: 1rem;
    color: #64748b;
    background: white;
    padding: 0 0.25rem;
    pointer-events: none;
    transition: all 0.15s ease;
    user-select: none;
}

.Input_floating__9yEmG {
    top: 0.25rem;
    /* label flottant */
    font-size: 0.75rem;
    font-weight: 600;
}

/* error message */
.Input_inputError__1dCnB {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #dc2626;
    font-weight: 600;
}

/* password toggle button */
.Input_showPassword__G5vtA {
    position: absolute;
    right: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.85rem;
    color: #475569;
    padding: 4px;
}

/* sizes */
.Input_small__50rCw .Input_inputField__Sx81j {
    padding: 1.5rem 0.75rem 0.5rem 0.75rem;
    font-size: 0.85rem;
}

.Input_large__qCmlj .Input_inputField__Sx81j {
    padding: 2rem 0.75rem 0.5rem 0.75rem;
    font-size: 1.05rem;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/ui-lib/Button/Button.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.Button_button__5xt90 {
    position: relative;
    overflow: hidden;
    outline: none;
    cursor: pointer;
    padding: var(--btn-padding);
    border-radius: var(--btn-radius);
    background-color: var(--btn-bg);
    color: var(--btn-color);
    border: var(--btn-border);
    font-weight: 500;
    font-size: 0.9rem;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.Button_button__5xt90:hover {
    background-color: var(--btn-bg-hover);
}

.Button_button__5xt90:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.Button_ripple__Tam77 {
    position: absolute;
    border-radius: 50%;
    transform: scale(0);
    animation: Button_ripple__Tam77 0.6s linear;
    background-color: rgba(255, 255, 255, 0.5);
    pointer-events: none;
}

@keyframes Button_ripple__Tam77 {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

/* Variants */
.Button_contained__qWCgN {}

.Button_outlined__iC2It {}

.Button_text__6jj_7 {
    border: none;
    background: transparent;
}

/* Sizes */
.Button_small__vNEs5 {
    font-size: 0.8rem;
}

.Button_medium__P_cyI {
    font-size: 0.9rem;
}

.Button_large__3Fa6R {
    font-size: 1rem;
}
