/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[13].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/[locale]/layout.tsx","import":"Geist","arguments":[{"variable":"--font-geist-sans","subsets":["latin"]}],"variableName":"geistSans"} ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/f639721981034f88-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/b66cf8e69499582a-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/aa016aab0e6d1295-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Geist Fallback';src: local("Arial");ascent-override: 95.94%;descent-override: 28.16%;line-gap-override: 0.00%;size-adjust: 104.76%
}.__className_246ccd {font-family: 'Geist', 'Geist Fallback';font-style: normal
}.__variable_246ccd {--font-geist-sans: 'Geist', 'Geist Fallback'
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[13].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/[locale]/layout.tsx","import":"Geist_Mono","arguments":[{"variable":"--font-geist-mono","subsets":["latin"]}],"variableName":"geistMono"} ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/013b72fa676f92e0-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/b9408752a0c24fb9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* symbols2 */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format('woff2');
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}
/* vietnamese */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/e038a29029a234f2-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/2b5b02fc7e511755-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Geist Mono Fallback';src: local("Arial");ascent-override: 74.67%;descent-override: 21.92%;line-gap-override: 0.00%;size-adjust: 134.59%
}.__className_c29908 {font-family: 'Geist Mono', 'Geist Mono Fallback';font-style: normal
}.__variable_c29908 {--font-geist-mono: 'Geist Mono', 'Geist Mono Fallback'
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Navbar/Navbar.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.Navbar_navbar__yKlAv {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--navbar-padding);
    background: var(--navbar-bg);
    color: var(--navbar-color);
    box-shadow: var(--navbar-shadow);
    position: relative;
    z-index: 100;
}

.Navbar_navLeft__1TFgB {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.Navbar_navLogo__b7TUl {
    font-weight: bold;
    font-size: 1.25rem;
    cursor: pointer;
}

.Navbar_navLinksDesktop__5RFom {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
    justify-content: center;
    /* liens centrés */
}

.Navbar_navLinkWrapper__ghveG {
    position: relative;
}

.Navbar_navLink__yVF_2 {
    text-decoration: none;
    color: inherit;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    transition: color 0.2s, background 0.2s;
}

.Navbar_navLink__yVF_2:hover {
    color: var(--navbar-link-hover);
    background: rgba(25, 118, 210, 0.1);
}

.Navbar_active__OeMSE {
    color: var(--navbar-link-hover);
    font-weight: bold;
}

.Navbar_dropdown__X_fU9 {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    flex-direction: column;
    background: var(--navbar-bg);
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 150px;
    padding: 0.5rem 0;
    z-index: 200;
}

.Navbar_navLinkWrapper__ghveG:hover .Navbar_dropdown__X_fU9 {
    display: flex;
}

.Navbar_dropdownLink__IIdvT {
    padding: 0.5rem 1rem;
    text-decoration: none;
    color: var(--navbar-color);
    transition: background 0.2s;
}

.Navbar_dropdownLink__IIdvT:hover {
    background: rgba(25, 118, 210, 0.1);
}

.Navbar_navRight__UJaZe {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.Navbar_menuButton__oo5kI {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: var(--navbar-color);
}

/* Mobile menu */
.Navbar_mobileMenu___E7wo {
    display: none;
    flex-direction: column;
    gap: 1rem;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--navbar-bg);
    padding: 1rem;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
    animation: Navbar_slideDown__fcGgu 0.3s ease;
    z-index: 99;
}

.Navbar_mobileSubMenu__y40Hg {
    padding-left: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.Navbar_mobileMenu___E7wo .Navbar_navLink__yVF_2:active,
.Navbar_mobileMenu___E7wo .Navbar_navLink__yVF_2:focus-visible,
.Navbar_mobileMenu___E7wo .Navbar_navLink__yVF_2.Navbar_touchActive__igwcd {
    background: rgba(25, 118, 210, 0.1);
    color: var(--navbar-link-hover);
}

.Navbar_mobileLogo__J8gWY {
    margin-bottom: 1rem;
    font-weight: bold;
    font-size: 1.25rem;
}

@keyframes Navbar_slideDown__fcGgu {
    from {
        transform: translateY(-10px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (max-width: 768px) {
    .Navbar_navLinksDesktop__5RFom {
        display: none;
    }

    .Navbar_menuButton__oo5kI {
        display: flex;
    }

    .Navbar_mobileMenu___E7wo {
        display: flex;
    }

    .Navbar_navLogo__b7TUl {
        display: none;
    }
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Footer/Footer.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.Footer_footer__V2SOP {
    background: var(--footer-bg);
    color: var(--footer-color);
    padding: var(--footer-padding);
    box-shadow: var(--footer-shadow);
    margin-top: auto;
}

.Footer_footerContainer__q1ZS5 {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .Footer_footerContainer__q1ZS5 {
        grid-template-columns: repeat(3, 1fr);
    }
}

.Footer_logo__PfMCI {
    font-weight: bold;
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
    cursor: pointer;
}

.Footer_sectionTitle__tlCKV {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.Footer_links__JzHTF {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.Footer_link__IT1fL {
    text-decoration: none;
    color: inherit;
    font-size: 0.9rem;
    transition: color 0.2s;
}

.Footer_link__IT1fL:hover {
    color: var(--footer-link-hover);
}

.Footer_social__cF_rO {
    display: flex;
    gap: 1rem;
    margin-top: 0.5rem;
}

.Footer_bottomBar___02zP {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--footer-border);
    font-size: 0.85rem;
    text-align: center;
    color: var(--footer-muted);
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Accordion/Accordion.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
.Accordion_accordion__Mijpq {
    width: 100%;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
}

.Accordion_item__JfGQ3 {
    border-bottom: 1px solid #eee;
}

.Accordion_header__kA9CQ {
    width: 100%;
    padding: 14px 16px;
    text-align: left;
    font-size: 16px;
    font-weight: 500;
    background: #f9f9f9;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s;
}

.Accordion_header__kA9CQ:hover {
    background: #f1f1f1;
}

.Accordion_icon__iSBbO {
    transition: transform 0.3s ease;
}

.Accordion_icon__iSBbO.Accordion_rotate__fqfm9 {
    transform: rotate(180deg);
}

.Accordion_content____jCC {
    padding: 14px 16px;
    background: white;
    animation: Accordion_fadeIn__xzy1g 0.3s ease-in-out;
}

@keyframes Accordion_fadeIn__xzy1g {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.Accordion_open__rqrn_ .Accordion_header__kA9CQ {
    background: #eef6ff;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Alert/Alert.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.Alert_alert__sv56T {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--alert-bg);
    color: var(--alert-color);
    border-left: 4px solid var(--alert-border);
    border-radius: var(--alert-radius);
    padding: var(--alert-padding);
    font-size: var(--alert-font-size);
    font-weight: var(--alert-font-weight);
    gap: 0.5rem;
}

.Alert_content__Z33XF {
    flex: 1;
}

.Alert_closeButton__J145L {
    background: transparent;
    border: none;
    cursor: pointer;
    color: inherit;
    padding: 4px;
    border-radius: 4px;
    transition: background 0.2s;
}

.Alert_closeButton__J145L:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Variants — only define fallback background + border.
   Text color will always be set by React via --alert-color */
.Alert_success__qSPQE {
    --alert-bg: #16a34a;
    /* fallback green-600 */
    --alert-border: #22c55e;
    /* green-500 */
}

.Alert_error__jGpyF {
    --alert-bg: #dc2626;
    /* fallback red-600 */
    --alert-border: #ef4444;
    /* red-500 */
}

.Alert_warning__2ZuH8 {
    --alert-bg: #d97706;
    /* fallback amber-600 */
    --alert-border: #f59e0b;
    /* amber-500 */
}

.Alert_info__Cl2iR {
    --alert-bg: #eff6ff;
    /* fallback light blue */
    --alert-border: #3b82f6;
    /* blue border */
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Avatar/Avatar.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.Avatar_avatarWrapper__0hrfv {
    width: var(--avatar-size);
    height: var(--avatar-size);
    border-radius: 50%;
    border: 2px solid var(--avatar-border-color);
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #e0e0e0;
}

.Avatar_avatarImage__KBEJM {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.Avatar_avatarFallback__lRjK0 {
    font-weight: 700;
    color: #fff;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Badge/Badge.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.Badge_badge__zpnMr {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background-color: var(--badge-bg);
    color: var(--badge-color);
    border-radius: 6px;
    /* smaller radius, more rectangular */
    padding: 0.25rem 0.5rem;
    /* horizontal padding bigger than vertical */
    font-size: var(--badge-font-size);
    font-weight: 500;
}

.Badge_badge__zpnMr.Badge_pill___1xGB {
    border-radius: 12px;
    /* still slightly rounded for pill style */
    padding: 0.25rem 0.75rem;
}

.Badge_badge__zpnMr.Badge_tag__laBYC {
    border-radius: 8px;
    /* slightly rounded rectangle */
    padding: 0.25rem 0.5rem;
}

.Badge_badge__zpnMr.Badge_badge__zpnMr {
    border-radius: 6px;
    /* was 50% for circle, now rectangular */
    padding: 0.25rem 0.5rem;
    min-width: auto;
    /* remove forced width for circle */
    height: auto;
    /* adjust height automatically */
    justify-content: center;
    text-align: center;
}

.Badge_removeButton__tumlO {
    background: transparent;
    border: none;
    color: inherit;
    font-weight: bold;
    cursor: pointer;
    padding: 0;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Breadcrumbs/Breadcrumbs.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************/
.Breadcrumbs_breadcrumbs__DamAO {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-family: var(--font-family, 'Inter', 'Roboto', sans-serif);
    font-size: 0.875rem;
    color: var(--breadcrumb-color);
    gap: 0.25rem;
}

.Breadcrumbs_breadcrumbItem__zsL9Q {
    display: flex;
    align-items: center;
}

.Breadcrumbs_link__EKGI2 {
    text-decoration: none;
    color: var(--breadcrumb-color);
    transition: color 0.2s;
}

.Breadcrumbs_link__EKGI2:hover {
    color: var(--breadcrumb-hover-color);
}

.Breadcrumbs_current___N229 {
    font-weight: 500;
    color: var(--breadcrumb-color);
}

.Breadcrumbs_separator___Aebb {
    margin: 0 0.5rem;
    color: var(--breadcrumb-separator-color);
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Card/Card.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.Card_card__HfRMS {
    background: var(--card-bg, #ffffff);
    border: 1px solid var(--divider, #e0e0e0);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.Card_card__HfRMS:hover {
    transform: translateY(-2px);
}

.Card_imageWrapper__2cMOf {
    width: 100%;
    overflow: hidden;
}

.Card_image__BBnOh {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.Card_header__i6P0F {
    padding: 1rem;
    border-bottom: 1px solid var(--divider, #e0e0e0);
}

.Card_title__ARexU {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
}

.Card_subtitle__TZ0p9 {
    font-size: 0.875rem;
    color: var(--text-secondary, #666666);
    margin: 0.25rem 0 0 0;
}

.Card_content__0avqP {
    padding: 1rem;
    font-size: 0.95rem;
    color: var(--text-primary, #212121);
}

.Card_footer__nUilh {
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--divider, #e0e0e0);
    text-align: right;
    font-size: 0.875rem;
    color: var(--text-secondary, #666666);
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Chip/Chip.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.Chip_chip__R7ddQ {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 500;
    border: 1px solid transparent;
    transition: all 0.2s ease;
    cursor: default;
}

/* Sizes */
.Chip_sm__6pRDP {
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
}

.Chip_md__fzTWm {
    font-size: 0.875rem;
    padding: 0.25rem 0.75rem;
    border-radius: 8px;
}

.Chip_lg__LDeo9 {
    font-size: 1rem;
    padding: 0.375rem 1rem;
    border-radius: 12px;
}

/* Variants */
.Chip_outlined__LaoGR {
    background: transparent;
}

/* Colors - filled */
.Chip_default__yUZEJ {
    background: #f3f3f3;
    color: #333;
    border-color: #ddd;
}

.Chip_primary__w3r7l {
    background: #1976d2;
    color: #fff;
    border-color: #1976d2;
}

.Chip_secondary__b5nbD {
    background: #9c27b0;
    color: #fff;
    border-color: #9c27b0;
}

.Chip_success__r2JrX {
    background: #2e7d32;
    color: #fff;
    border-color: #2e7d32;
}

.Chip_warning__9x_5S {
    background: #ed6c02;
    color: #fff;
    border-color: #ed6c02;
}

.Chip_error__8G5ag {
    background: #d32f2f;
    color: #fff;
    border-color: #d32f2f;
}

/* Colors - outlined override */
.Chip_outlined__LaoGR.Chip_default__yUZEJ {
    color: #333;
    background: transparent;
    border-color: #ccc;
}

.Chip_outlined__LaoGR.Chip_primary__w3r7l {
    color: #1976d2;
    background: transparent;
    border-color: #1976d2;
}

.Chip_outlined__LaoGR.Chip_secondary__b5nbD {
    color: #9c27b0;
    background: transparent;
    border-color: #9c27b0;
}

.Chip_outlined__LaoGR.Chip_success__r2JrX {
    color: #2e7d32;
    background: transparent;
    border-color: #2e7d32;
}

.Chip_outlined__LaoGR.Chip_warning__9x_5S {
    color: #ed6c02;
    background: transparent;
    border-color: #ed6c02;
}

.Chip_outlined__LaoGR.Chip_error__8G5ag {
    color: #d32f2f;
    background: transparent;
    border-color: #d32f2f;
}

/* Icon */
.Chip_icon__SbI0I {
    display: flex;
    font-size: 1rem;
}

/* Delete button */
.Chip_deleteBtn__Qpi1M {
    margin-left: 0.25rem;
    padding: 0.125rem;
    border-radius: 50%;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}

.Chip_deleteBtn__Qpi1M:hover {
    background: rgba(0, 0, 0, 0.1);
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Divider/Divider.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
.Divider_divider__Upckz {
    flex-shrink: 0;
    background-color: var(--divider, #e0e0e0);
    transition: background-color 0.2s ease;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Drawer/Drawer.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.Drawer_overlay__NUROi {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
    transition: opacity 0.3s ease;
}

.Drawer_drawer__vevbv {
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: 1000;
    background-color: white;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
}

.Drawer_drawer__vevbv.Drawer_right__qVL_T {
    right: 0;
    transform: translateX(0);
}

.Drawer_drawer__vevbv.Drawer_left__dh4tr {
    left: 0;
    transform: translateX(0);
}

.Drawer_drawer__vevbv.Drawer_top__ZoCzu {
    top: 0;
    height: 50%;
    transform: translateY(0);
    width: 100%;
}

.Drawer_drawer__vevbv.Drawer_bottom__C7_pg {
    bottom: 0;
    height: 50%;
    transform: translateY(0);
    width: 100%;
}

.Drawer_closeButton__EOvIG {
    align-self: flex-end;
    background: none;
    border: none;
    font-size: 1.5rem;
    padding: 0.5rem 1rem;
    cursor: pointer;
}

.Drawer_content__bLt1i {
    padding: 1rem;
    flex: 1;
    overflow-y: auto;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/FileUpload/FileUpload.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************/
.FileUpload_fileUploadWrapper__4KjbZ {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-family: inherit;
}

.FileUpload_labelText__7Ozho {
    font-weight: 500;
    margin-bottom: 0.25rem;
    color: var(--file-upload-label-color);
}

.FileUpload_uploadArea__lfNFX {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    border: 2px dashed var(--file-upload-border-color);
    border-radius: var(--file-upload-radius);
    background-color: var(--file-upload-bg-color);
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.FileUpload_uploadArea__lfNFX:hover {
    border-color: var(--file-upload-hover-border-color);
    background-color: var(--file-upload-hover-bg-color);
}

.FileUpload_uploadArea__lfNFX input[type="file"] {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.FileUpload_fileName__aQDzk {
    margin-left: 0.5rem;
    font-size: 0.875rem;
    color: var(--file-upload-text-color);
}

.FileUpload_errorText__79i5j {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #dc2626;
    font-weight: 600;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Grid/Grid.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.Grid_gridContainer__ZKkz5 {
    display: grid;
    width: 100%;
}

.Grid_responsive__E_Dng {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Modal/Modal.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
/* Modal.module.css */
.Modal_modalContainer__o78xQ {
    position: fixed;
    inset: 0;
    /* top:0; right:0; bottom:0; left:0 */
    z-index: 6000;
    /* high to avoid conflicts */
    display: grid;
    place-items: center;
    /* perfect horizontal + vertical centering */
    padding: 1rem;
    /* safe gap from edges on small screens */
    box-sizing: border-box;
    pointer-events: auto;
}

/* backdrop is full-screen and sits under the modal panel */
.Modal_backdrop__rCZ37 {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 5990;
}

/* modal panel */
.Modal_modal__zM0dF {
    position: relative;
    z-index: 6000;

    background-color: var(--modal-bg);
    border-radius: var(--modal-radius);
    box-shadow: var(--modal-shadow);
    padding: var(--modal-padding);
    box-sizing: border-box;

    /* width rules: never exceed viewport minus padding */
    width: min(100%, 900px);
    /* prefer a fixed cap on very large screens */
    max-width: calc(100% - 2rem);
    /* ensure it never touches viewport edges */
    max-height: calc(100vh - 2rem);
    /* allow vertical gap and internal scrolling */
    overflow-y: auto;
    /* scroll inside modal if content is tall */

    /* horizontal centering guaranteed by grid parent */
}

/* optional: slightly different sizing on small screens */
@media (max-width: 420px) {
    .Modal_modal__zM0dF {
        padding: 0.75rem;
        width: calc(100% - 2rem);
        max-width: calc(100% - 2rem);
    }
}

.Modal_header__nMhVC {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--modal-spacing);
}

.Modal_title___DGoP {
    font-size: var(--modal-title-size);
    font-weight: var(--modal-title-weight);
    color: var(--modal-title-color);
    margin: 0;
}

.Modal_closeButton__XZwLn {
    cursor: pointer;
    padding: 4px;
    border-radius: var(--modal-radius);
    background: transparent;
    border: none;
    line-height: 0;
}

.Modal_closeButton__XZwLn:hover {
    background-color: var(--modal-hover-bg);
}

.Modal_body__ahC_Q {
    color: var(--modal-body-color);
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Progress/Progress.module.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
.Progress_progressContainer__kgh_n {
    width: 100%;
    background: var(--progress-bg, #f5f5f5);
    /* fallback = paper */
    border-radius: var(--progress-radius, 8px);
    overflow: hidden;
    height: var(--progress-height, 8px);
    position: relative;
}

.Progress_progressBar__MnAFi {
    height: 100%;
    background: var(--progress-color, #1976d2);
    /* fallback = primary */
    width: var(--progress-value, 0%);
    transition: width 0.3s ease;
}

.Progress_label__mS_bc {
    margin-top: 0.5rem;
    font-size: var(--progress-label-size, 0.875rem);
    font-weight: var(--progress-label-weight, 500);
    color: var(--progress-label-color, #212121);
    /* fallback text */
    text-align: right;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/RadioButton/RadioButton.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************/
.RadioButton_radioWrapper__YtAhw {
    display: flex;
    flex-direction: column;
}

.RadioButton_radioLabel__U4_LL {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: var(--radio-label-color);
}

.RadioButton_radioInput__Sjh4A {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.RadioButton_customRadio__aB1v9 {
    width: var(--radio-size);
    height: var(--radio-size);
    border: 2px solid var(--radio-border-color);
    border-radius: var(--radio-radius);
    background-color: var(--radio-bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    transition: border-color 0.2s, background-color 0.2s;
}

.RadioButton_radioInput__Sjh4A:checked+.RadioButton_customRadio__aB1v9::after {
    content: "";
    width: 50%;
    height: 50%;
    background-color: var(--radio-dot-color);
    border-radius: 50%;
}

.RadioButton_labelText__wsjRN {
    font-size: 14px;
}

.RadioButton_errorText__Ch9nE {
    font-size: 12px;
    margin-top: 4px;
}

.RadioButton_errorWrapper__s_ie3 .RadioButton_customRadio__aB1v9 {
    border-color: var(--radio-border-color);
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Select/Select.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.Select_selectWrapper__4VSNI {
    position: relative;
    width: 100%;
    margin-bottom: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

.Select_selectContainer__uBBAu {
    position: relative;
    width: 100%;
    cursor: pointer;
}

.Select_selectField__xPE0v {
    width: 100%;
    border-radius: 6px;
    font-size: 1rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 2.5rem;
    position: relative;
}

.Select_selectLabel__Hr98d {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    color: #64748b;
    background: white;
    padding: 0 0.25rem;
    pointer-events: none;
    transition: all 0.15s ease;
    user-select: none;
    z-index: 1;
}

.Select_floating__db0LI {
    top: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    transform: none;
}

.Select_selectError__pEqDX {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #dc2626;
    font-weight: 600;
}

.Select_options__N9hpM {
    margin: 0;
    padding: 0.25rem 0;
    list-style: none;
    border-radius: 0 0 6px 6px;
    max-height: 250px;
    overflow-y: auto;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    border: 1px solid #e5e7eb;
    background-color: #fff;
    z-index: 999;
    position: relative;
}

.Select_option__4BN0X {
    padding: 0.55rem 0.75rem;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s ease;
}

.Select_option__4BN0X:hover,
.Select_highlighted__kuUt3 {
    background: #f1f5f9;
}

.Select_selected__xL3Ix {
    font-weight: 600;
}

.Select_disabledOption__vDOvw {
    opacity: 0.5;
    cursor: not-allowed;
}

/* sizes */
.Select_small__PcUN_ .Select_selectField__xPE0v {
    padding: 1.5rem 2.5rem 0.5rem 0.75rem;
    font-size: 0.85rem;
}

.Select_medium__1QjRk .Select_selectField__xPE0v {
    padding: 1.75rem 2.5rem 0.5rem 0.75rem;
    font-size: 1rem;
}

.Select_large__tCjmb .Select_selectField__xPE0v {
    padding: 2rem 2.5rem 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/Select/BasicSelect.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
.BasicSelect_selectWrapper__2iVIq {
    position: relative;
    width: 100%;
    margin-bottom: 1rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

.BasicSelect_selectContainer__FvO1N {
    position: relative;
    width: 100%;
    cursor: pointer;
}

.BasicSelect_selectField__eHBdz {
    width: 100%;
    border-radius: 6px;
    font-size: 1rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 2.5rem;
    position: relative;
}

.BasicSelect_selectLabel__3_f1m {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    color: #64748b;
    background: white;
    padding: 0 0.25rem;
    pointer-events: none;
    transition: all 0.15s ease;
    user-select: none;
    z-index: 1;
}

.BasicSelect_floating__j0OmD {
    top: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    transform: none;
}

.BasicSelect_selectError__T7Oy9 {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #dc2626;
    font-weight: 600;
}

.BasicSelect_options__KXNYz {
    margin: 0;
    padding: 0.25rem 0;
    list-style: none;
    border-radius: 0 0 6px 6px;
    max-height: 250px;
    overflow-y: auto;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    border: 1px solid #e5e7eb;
    background-color: #fff;
    z-index: 999;
    position: relative;
}

.BasicSelect_option__PN7lS {
    padding: 0.55rem 0.75rem;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s ease;
}

.BasicSelect_option__PN7lS:hover,
.BasicSelect_highlighted__hZ6EN {
    background: #f1f5f9;
}

.BasicSelect_selected__4LsPc {
    font-weight: 600;
}

.BasicSelect_disabledOption__Uxho0 {
    opacity: 0.5;
    cursor: not-allowed;
}

/* sizes */
.BasicSelect_small__NFgvG .BasicSelect_selectField__eHBdz {
    padding: 1.5rem 2.5rem 0.5rem 0.75rem;
    font-size: 0.85rem;
}

.BasicSelect_medium__ZHArH .BasicSelect_selectField__eHBdz {
    padding: 1.75rem 2.5rem 0.5rem 0.75rem;
    font-size: 1rem;
}

.BasicSelect_large__LZvY2 .BasicSelect_selectField__eHBdz {
    padding: 2rem 2.5rem 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/Sidebar/Sidebar.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
.Sidebar_sidebar__xO_zg {
    display: flex;
    flex-direction: column;
    height: 100vh;
    box-shadow: var(--sidebar-shadow, 2px 0 5px rgba(0, 0, 0, 0.1));
    padding: var(--sidebar-padding, 1rem);
    transition: width 0.3s;
    overflow: hidden;
    background: var(--sidebar-bg);
    color: var(--sidebar-color);
}

.Sidebar_expanded__w3yEd {
    width: var(--sidebar-width, 250px);
}

.Sidebar_collapsed__wWBrX {
    width: var(--sidebar-collapsed-width, 60px);
    align-items: center;
    /* centre icônes et header */
}

.Sidebar_sidebarHeader__xPUXx {
    font-weight: bold;
    font-size: 1.25rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* expanded */
    width: 100%;
    transition: justify-content 0.3s;
}

.Sidebar_collapsed__wWBrX .Sidebar_sidebarHeader__xPUXx {
    justify-content: center;
    /* collapsed */
}

.Sidebar_navSection__SeyOw {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}

.Sidebar_navItem__bPO1q {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    text-decoration: none;
    color: inherit;
    font-weight: 500;
    transition: background 0.2s, color 0.2s, justify-content 0.3s;
    width: 100%;

    &:hover {
        background: var(--sidebar-hover-bg);
        color: var(--sidebar-hover-color);
    }
}

.Sidebar_collapsed__wWBrX .Sidebar_navItem__bPO1q {
    justify-content: center;
}

.Sidebar_icon__LWaOp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.Sidebar_navLink__apKdJ {
    text-decoration: none;
    color: inherit;
    font-weight: 500;
    transition: color 0.2s, background 0.2s;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.Sidebar_navLink__apKdJ:hover {
    color: var(--navbar-link-hover);
    background: rgba(25, 118, 210, 0.1);
    /* subtle background highlight */
}

.Sidebar_navLink__apKdJ:focus {
    outline: none;
    background: rgba(25, 118, 210, 0.15);
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Spinner/Spinner.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
.Spinner_spinner__M5Xue {
    display: inline-block;
    border-radius: 50%;
    width: var(--spinner-size, 36px);
    height: var(--spinner-size, 36px);
    border: calc(var(--spinner-size, 36px) / 8) solid var(--spinner-color, #1976d2);
    /* border-right-color: transparent; */
    /* hide 1/4 */
    border-bottom-color: transparent;
    /* hide 1/4 */
    animation: Spinner_spin__uXrWe 1s linear infinite;
}

@keyframes Spinner_spin__uXrWe {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Textarea/Textarea.module.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
.Textarea_textareaWrapper__MS_X4 {
    position: relative;
    display: flex;
    flex-direction: column;
    font-family: inherit;
}

.Textarea_textarea__8V1wH {
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    resize: vertical;
    font-size: 14px;
    min-height: 80px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.Textarea_textarea__8V1wH:focus {
    border-color: #1976d2;
    box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
}

.Textarea_errorBorder__DbAhh {
    border-color: #d32f2f !important;
}

.Textarea_textareaLabel__uqh_B {
    position: absolute;
    top: 12px;
    left: 12px;
    color: #666;
    pointer-events: none;
    transition: all 0.2s ease;
    background: white;
}

.Textarea_floating__PsE95 {
    top: -8px;
    left: 8px;
    font-size: 12px;
    padding: 0 4px;
    color: #1976d2;
}

.Textarea_errorText__GVGwo {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #dc2626;
    font-weight: 600;
}

.Textarea_small__hND0D .Textarea_textarea__8V1wH {
    font-size: 12px;
    padding: 8px;
}

.Textarea_medium__y4z78 .Textarea_textarea__8V1wH {
    font-size: 14px;
    padding: 12px;
}

.Textarea_large__rOKHv .Textarea_textarea__8V1wH {
    font-size: 16px;
    padding: 16px;
}

/* Hide placeholder when label is floating */
.Textarea_textareaWrapper__MS_X4.Textarea_filled__GEsYu .Textarea_textarea__8V1wH::placeholder,
.Textarea_textarea__8V1wH:focus::placeholder {
    color: transparent;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Toast/Toast.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.Toast_toastContainer__fRkpf {
    position: fixed;
    bottom: var(--toast-offset);
    right: var(--toast-offset);
    display: flex;
    flex-direction: column;
    gap: var(--toast-gap);
    z-index: 100;
}

.Toast_toast__K4OXy {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: var(--toast-padding);
    border-radius: var(--toast-radius);
    box-shadow: var(--toast-shadow);
    color: var(--toast-color);
    background-color: var(--toast-bg);
    font-size: var(--toast-font-size);
    font-weight: 500;
    min-width: 250px;
    max-width: 400px;
    animation: Toast_slideIn__jSVNI 0.3s ease, Toast_fadeOut__W38km 0.3s ease var(--toast-duration);
}

.Toast_toastIcon__6dQai {
    flex-shrink: 0;
}

.Toast_toastMessage__4Ll9U {
    flex: 1;
}

.Toast_toastClose__aNbaH {
    cursor: pointer;
    border: none;
    background: transparent;
    color: inherit;
    padding: 4px;
    border-radius: var(--toast-radius);
    transition: background-color 0.2s ease;
}

.Toast_toastClose__aNbaH:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

@keyframes Toast_slideIn__jSVNI {
    from {
        opacity: 0;
        transform: translateX(100%);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes Toast_fadeOut__W38km {
    to {
        opacity: 0;
        transform: translateX(100%);
    }
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/ToggleSwitch/ToggleSwitch.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************/
.ToggleSwitch_wrapper__Qef1U {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ToggleSwitch_label__embrm {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.ToggleSwitch_labelText__JuURD {
    font-size: 0.95rem;
    color: var(--switch-label, #000);
}

.ToggleSwitch_switch__2oTRA {
    width: 50px;
    height: 28px;
    background-color: var(--switch-bg, #ccc);
    border-radius: 14px;
    border: 2px solid var(--switch-error, transparent);
    position: relative;
    transition: background-color 0.25s;
    flex-shrink: 0;
}

.ToggleSwitch_switch__2oTRA.ToggleSwitch_disabled__AbqAK {
    background-color: var(--switch-disabled, #eee);
    cursor: not-allowed;
}

.ToggleSwitch_knob__SHkuf {
    width: 24px;
    height: 24px;
    background-color: var(--switch-knob, #fff);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 2px;
    transform: translate(0, -50%);
    transition: transform 0.25s;
}

.ToggleSwitch_checked___PDLQ .ToggleSwitch_knob__SHkuf {
    transform: translate(22px, -50%);
}

.ToggleSwitch_errorText__1YBUm {
    font-size: 0.85rem;
    color: var(--switch-error, red);
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Tooltip/Tooltip.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
.Tooltip_wrapper__NkTX_ {
    position: relative;
    display: inline-block;
}

.Tooltip_tooltip__qnL7t {
    position: absolute;
    padding: var(--tooltip-padding, 6px 10px);
    background-color: var(--tooltip-bg, #333);
    color: var(--tooltip-color, #fff);
    border-radius: var(--tooltip-radius, 4px);
    font-size: var(--tooltip-font-size, 0.85rem);
    font-family: var(--tooltip-font-family, sans-serif);
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transform: translateY(4px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 1000;
}

.Tooltip_wrapper__NkTX_:hover .Tooltip_tooltip__qnL7t {
    opacity: 1;
    transform: translateY(0);
}

.Tooltip_tooltip__qnL7t::after {
    content: "";
    position: absolute;
    border-style: solid;
}

/* Placement Styles */
.Tooltip_top__r1GLB {
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
}

.Tooltip_top__r1GLB::after {
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px 5px 0 5px;
    border-color: var(--tooltip-bg, #333) transparent transparent transparent;
}

.Tooltip_bottom__YyYpA {
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
}

.Tooltip_bottom__YyYpA::after {
    bottom: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 0 5px 5px 5px;
    border-color: transparent transparent var(--tooltip-bg, #333) transparent;
}

.Tooltip_left__6u4ob {
    top: 50%;
    right: calc(100% + 8px);
    transform: translateY(-50%);
}

.Tooltip_left__6u4ob::after {
    top: 50%;
    left: 100%;
    margin-top: -5px;
    border-width: 5px 0 5px 5px;
    border-color: transparent transparent transparent var(--tooltip-bg, #333);
}

.Tooltip_right__takwx {
    top: 50%;
    left: calc(100% + 8px);
    transform: translateY(-50%);
}

.Tooltip_right__takwx::after {
    top: 50%;
    right: 100%;
    margin-top: -5px;
    border-width: 5px 5px 5px 0;
    border-color: transparent var(--tooltip-bg, #333) transparent transparent;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/DatePicker/DatePicker.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************/
/* ——————————————————————
   MODERN DATEPICKER DESIGN
   Material / Apple hybrid
—————————————————————— */

/* ---- WRAPPER ---- */
.DatePicker_wrapper__fraCs {
    position: relative;
    width: 100%;
    font-family: inherit;
}

/* ---- LABEL ---- */
.DatePicker_label__MFEtF {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 15px;
    color: #9aa1b1;
    pointer-events: none;
    transition: all .22s cubic-bezier(.4, 0, .2, 1);
    background: transparent;
    padding: 0 4px;
}

.DatePicker_floating__dzZym {
    top: 6px;
    transform: none;
    font-size: 12px;
    font-weight: 500;
    color: var(--primary, #3b82f6);
}

.DatePicker_required__cVt_c {
    color: #ef3b52;
}

/* ---- INPUT FIELD ---- */
.DatePicker_input__wu49S {
    width: 100%;
    padding: 18px 46px 8px 16px;
    background: #ffffff;
    border-radius: 12px;
    border: 1.8px solid #d6d9e0;
    font-size: 15px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: all .22s cubic-bezier(.4, 0, .2, 1);
}

.DatePicker_input__wu49S:hover {
    border-color: var(--primary, #3b82f6);
}

.DatePicker_input__wu49S:focus-within {
    border-color: var(--primary, #3b82f6);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

/* ---- TEXT ---- */
.DatePicker_value__PKS9n {
    color: #111;
    font-size: inherit;
}

.DatePicker_placeholder__EfmCm {
    color: transparent !important;
    /* REMOVE OVERLAP */
}

/* ---- ICON ---- */
.DatePicker_icon__EYnIQ {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    opacity: .7;
    pointer-events: none;
}

/* ---- CLEAR BUTTON ---- */
.DatePicker_clearBtn__i4F46 {
    position: absolute;
    right: 42px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    opacity: .6;
    transition: opacity .15s;
}

.DatePicker_clearBtn__i4F46:hover {
    opacity: 1;
}

/* ---- DROPDOWN ---- */
.DatePicker_dropdown__zUwXi {
    position: absolute;
    top: calc(100% + 8px);
    width: 100%;
    background: #fff;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    box-shadow: 0px 16px 38px rgba(0, 0, 0, 0.12);
    z-index: 999;
    animation: DatePicker_fadeIn__lH6iz .16s ease-out;
}

@keyframes DatePicker_fadeIn__lH6iz {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---- HEADER ---- */
.DatePicker_header__IlUmK {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.DatePicker_header__IlUmK button {
    background: #f2f4f7;
    border-radius: 8px;
    padding: 6px;
    border: none;
    cursor: pointer;
    transition: background .15s;
}

.DatePicker_header__IlUmK button:hover {
    background: #e2e5e9;
}

.DatePicker_monthLabel__75eZ8 {
    font-size: 15px;
    font-weight: 600;
    color: #111;
}

/* ---- WEEK DAYS ---- */
.DatePicker_weekRow__r7N1C {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 6px;
}

.DatePicker_weekday__ooyAI {
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    color: #a0a8b5;
}

/* ---- GRID ---- */
.DatePicker_grid___od81 {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
}

.DatePicker_day__mnljA {
    height: 36px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    background: #f8f9fc;
    color: #111;
    font-size: 14px;
    transition: all .15s;
}

.DatePicker_day__mnljA:hover {
    background: #eaf1ff;
    color: var(--primary, #3b82f6);
}

.DatePicker_daySelected__PAKbS {
    background: var(--primary, #3b82f6) !important;
    color: #fff !important;
    font-weight: 600;
}

/* ---- DISABLED ---- */
.DatePicker_day__mnljA:disabled {
    opacity: .35;
    cursor: not-allowed;
}

/* ---- ERROR ---- */
.DatePicker_error__YBLO1 {

    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #dc2626;
    font-weight: 600;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/Dialog/Dialog.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.Dialog_overlay__42mX7 {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(3px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.Dialog_modal__1CmBG {
    background: white;
    min-width: 360px;
    max-width: 460px;
    padding: 24px;
    border-radius: 14px;
    box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.17);
    animation: Dialog_fadeIn__XMKte 0.25s ease-out;
}

.Dialog_title__3oGOE {
    font-size: 20px;
    margin-bottom: 10px;
    font-weight: 600;
}

.Dialog_body__chVTP {
    font-size: 15px;
    color: #444;
    margin-bottom: 20px;
}

.Dialog_actions__cdLcS {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 15px;
}

.Dialog_cancel__18oyq {
    padding: 8px 16px;
    border-radius: 6px;
    border: none;
    background: #e4e4e4;
    cursor: pointer;
}

.Dialog_confirm__yx1ql {
    padding: 8px 16px;
    border-radius: 6px;
    border: none;
    background: #007bff;
    color: white;
    cursor: pointer;
    font-weight: 500;
}

.Dialog_cancel__18oyq:hover {
    background: #d3d3d3;
}

.Dialog_confirm__yx1ql:hover {
    background: #005fcc;
}

@keyframes Dialog_fadeIn__XMKte {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/LanguageSwitcher/languageSwitcher.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************/
.languageSwitcher_container__lLKTG {
    position: relative;
    display: inline-block;
    z-index: 9999;
}

.languageSwitcher_button__woczL {
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
    background-color: #1976d2;
    color: #fff;
    border: none;
    cursor: pointer;
}

.languageSwitcher_dropdown__ye6P4 {
    position: absolute;
    right: 0;
    margin-top: 0.4rem;
    width: 6.5rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    z-index: 99999;
}

.languageSwitcher_item__Hblpc {
    width: 100%;
    text-align: left;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
    font-weight: 600;
    background: transparent;
    border: none;
    cursor: pointer;
}

.languageSwitcher_item__Hblpc:hover {
    background: #f3f4f6;
}

.languageSwitcher_active__9KSsg {
    background: #e5e7eb;
}
/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/store/StoreHeader/StoreHeader.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
.StoreHeader_header__rdGj5 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 40px;
    position: relative;
    z-index: 100;
}

.StoreHeader_left__PUKv3 {
    display: flex;
    align-items: center;
}

.StoreHeader_searchWrapper__5pux5 {
    flex: 1;
    display: flex;
    justify-content: center;
}

.StoreHeader_searchInput__zKwmM {
    width: 70%;
    max-width: 780px;
    padding: 12px 22px;
    border-radius: 30px;
    border: none;
    outline: none;
    font-size: 15px;
}

.StoreHeader_right__fc9yY {
    display: flex;
    align-items: center;
    gap: 22px;
    position: relative;
    z-index: 1050;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/store/TopBar/TopBar.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
/* TopBar.module.css */
.TopBar_topBar__2m82L {
    text-align: center;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Responsive pour mobile */
@media (max-width: 600px) {
    .TopBar_topBar__2m82L {
        font-size: 12px;
        padding: 6px 8px;
    }
}
/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/store/StoreNavbar/StoreNavbar.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
.StoreNavbar_navbar__JvYcE {
    width: 100%;
    background: white;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    position: relative;
    z-index: 999;
}

.StoreNavbar_navWrapper__h5Q_q {
    position: relative;
    width: 100%;
    overflow: visible !important;
}

.StoreNavbar_scrollContainer__SPK8K {
    display: flex;
    align-items: center;
    overflow-x: auto;
    overflow-y: visible !important;
    position: relative;
    scrollbar-width: none;
    z-index: 50;
}

.StoreNavbar_scrollContainer__SPK8K::-webkit-scrollbar {
    display: none;
}

.StoreNavbar_navInner__C_YZ2 {
    display: flex;
    gap: 28px;
    padding: 12px 40px;
    font-size: 15px;
    font-weight: 500;
}

.StoreNavbar_item__pZ1De {
    position: relative;
    cursor: pointer;
}

.StoreNavbar_label__xTdm8 {
    white-space: nowrap;
    position: relative;
}

.StoreNavbar_item__pZ1De:hover .StoreNavbar_label__xTdm8 {
    color: #0046c0;
}

.StoreNavbar_item__pZ1De:hover .StoreNavbar_label__xTdm8::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #0046c0;
}

/* MEGA MENU */
.StoreNavbar_megaMenu__Toklb {
    display: block;
    position: absolute;
    background: white;
    padding: 25px 35px;
    border: 1px solid #eee;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-radius: 6px;
    z-index: 9999999;
    width: 800px;
    pointer-events: auto;
}

.StoreNavbar_megaMenuMobile__pvAEf {
    width: calc(100vw - 40px) !important;
    left: 20px !important;
    max-width: none !important;
    padding: 15px !important;
}

.StoreNavbar_megaInner__qjYFk {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.StoreNavbar_columnTitle__8KOe3 {
    font-weight: 600;
    color: #0046c0;
    margin-bottom: 8px;
    display: block;
}

.StoreNavbar_megaItem__8vDt6 {
    display: block;
    padding: 4px 0;
    font-size: 14px;
    color: #333;
}

.StoreNavbar_megaItem__8vDt6:hover {
    color: #0046c0;
}

/* Responsive Mega Menu */
@media (max-width: 768px) {
    .StoreNavbar_megaInner__qjYFk {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

/* ARROWS */
.StoreNavbar_arrow__BKAux {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 80;
}

.StoreNavbar_arrowLeft__OI33m {
    left: 5px;
}

.StoreNavbar_arrowRight__7LJ_D {
    right: 5px;
}

.StoreNavbar_arrowHidden__95c1u {
    opacity: 0;
    pointer-events: none;
}

.StoreNavbar_arrow__BKAux svg {
    width: 16px;
    height: 16px;
    color: #333;
}
