@maboussoleaidant/design-system 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -104,6 +104,7 @@
104
104
  =========================================== */
105
105
  --mba-color-brick-light: #FCF4F0;
106
106
  --mba-color-brick: #AC5118;
107
+ --mba-color-infobox: #fef7e6;
107
108
 
108
109
  /* ===========================================
109
110
  CUSTOM PALETTE - Forest
@@ -188,6 +189,7 @@
188
189
  FONT WEIGHTS
189
190
  =========================================== */
190
191
  --mba-font-weight-regular: 400;
192
+ --mba-font-weight-medium: 500;
191
193
  --mba-font-weight-semibold: 600;
192
194
  --mba-font-weight-bold: 700;
193
195
  --mba-font-weight-extrabold: 800;
@@ -348,6 +350,7 @@
348
350
  =========================================== */
349
351
  --mba-space-0: 0;
350
352
  --mba-space-px: 1px;
353
+ --mba-space-gap-10: 10px;
351
354
 
352
355
  /* ===========================================
353
356
  CONTAINER
@@ -541,7 +544,7 @@
541
544
  font-style: normal;
542
545
  font-weight: 400;
543
546
  font-display: swap;
544
- src: url("../assets/fonts/OpenSans-Regular.woff2") format("woff2");
547
+ src: url("/assets/fonts/OpenSans-Regular.woff2") format("woff2");
545
548
  }
546
549
 
547
550
  @font-face {
@@ -549,7 +552,7 @@
549
552
  font-style: normal;
550
553
  font-weight: 600;
551
554
  font-display: swap;
552
- src: url("../assets/fonts/OpenSans-SemiBold.woff2") format("woff2");
555
+ src: url("/assets/fonts/OpenSans-SemiBold.woff2") format("woff2");
553
556
  }
554
557
 
555
558
  @font-face {
@@ -557,7 +560,7 @@
557
560
  font-style: normal;
558
561
  font-weight: 700;
559
562
  font-display: swap;
560
- src: url("../assets/fonts/OpenSans-Bold.woff2") format("woff2");
563
+ src: url("/assets/fonts/OpenSans-Bold.woff2") format("woff2");
561
564
  }
562
565
 
563
566
  @font-face {
@@ -565,7 +568,7 @@
565
568
  font-style: normal;
566
569
  font-weight: 800;
567
570
  font-display: swap;
568
- src: url("../assets/fonts/OpenSans-ExtraBold.woff2") format("woff2");
571
+ src: url("/assets/fonts/OpenSans-ExtraBold.woff2") format("woff2");
569
572
  }
570
573
 
571
574
  /* ===========================================
@@ -578,7 +581,7 @@
578
581
  font-style: normal;
579
582
  font-weight: 400;
580
583
  font-display: swap;
581
- src: url("../assets/fonts/Congenial.woff2") format("woff2");
584
+ src: url("/assets/fonts/Congenial.woff2") format("woff2");
582
585
  }
583
586
 
584
587
  @font-face {
@@ -586,7 +589,7 @@
586
589
  font-style: normal;
587
590
  font-weight: 500;
588
591
  font-display: swap;
589
- src: url("../assets/fonts/Congenial-Medium.woff2") format("woff2");
592
+ src: url("/assets/fonts/Congenial-Medium.woff2") format("woff2");
590
593
  }
591
594
 
592
595
  @font-face {
@@ -594,7 +597,7 @@
594
597
  font-style: normal;
595
598
  font-weight: 700;
596
599
  font-display: swap;
597
- src: url("../assets/fonts/Congenial-Bold.woff2") format("woff2");
600
+ src: url("/assets/fonts/Congenial-Bold.woff2") format("woff2");
598
601
  }
599
602
 
600
603
  /**
@@ -618,7 +621,7 @@
618
621
  font-style: normal;
619
622
  font-weight: 100 700;
620
623
  font-display: block;
621
- src: url('../assets/fonts/MaterialSymbolsRounded.woff2') format('woff2');
624
+ src: url('/assets/fonts/MaterialSymbolsRounded.woff2') format('woff2');
622
625
  }
623
626
 
624
627
  /* ===========================================
@@ -983,6 +986,8 @@ video {
983
986
  * Styles de base pour le texte
984
987
  */
985
988
 
989
+ @layer base {
990
+
986
991
  body {
987
992
  font-family: var(--mba-font-family-text);
988
993
  font-size: var(--mba-font-size-xs);
@@ -994,30 +999,39 @@ body {
994
999
  }
995
1000
 
996
1001
  /* Liens */
997
-
998
1002
  a {
999
1003
  color: var(--mba-color-link);
1000
1004
  transition: color var(--mba-transition-fast);
1001
1005
  }
1002
1006
 
1007
+ .mba-header--partenaire a {
1008
+ color: var(--mba-color-primary-pro-500);
1009
+ }
1010
+
1011
+ .mba-header--partenaire a:hover {
1012
+ color: var(--mba-color-primary-pro-500);
1013
+ }
1014
+
1003
1015
  a:hover {
1004
1016
  color: var(--mba-color-link-hover);
1005
1017
  }
1006
1018
 
1007
1019
  /* Focus visible pour accessibilité */
1008
-
1009
1020
  :focus-visible {
1010
1021
  outline: 2px solid var(--mba-color-primary-500);
1011
1022
  outline-offset: 2px;
1012
1023
  }
1013
1024
 
1014
1025
  /* Selection */
1015
-
1016
1026
  ::selection {
1017
1027
  background-color: var(--mba-color-primary-100);
1018
1028
  color: var(--mba-color-primary-900);
1019
1029
  }
1020
1030
 
1031
+ }
1032
+
1033
+ /* end @layer base */
1034
+
1021
1035
  /**
1022
1036
  * MBA Design System - Composants
1023
1037
  *
@@ -2697,7 +2711,7 @@ a:hover {
2697
2711
  right: 0;
2698
2712
  display: none;
2699
2713
  flex-direction: column;
2700
- gap: 10px;
2714
+ gap: var(--mba-space-gap-10);
2701
2715
  padding: var(--mba-space-xs);
2702
2716
  border-radius: var(--mba-radius-2xs);
2703
2717
  background-color: var(--mba-color-white);
@@ -2922,6 +2936,687 @@ button.mba-input-icon__icon:hover {
2922
2936
 
2923
2937
  /* end @layer components */
2924
2938
 
2939
+ /* @import "./_tags.css"; */
2940
+
2941
+ /**
2942
+ * MBA Design System - Header
2943
+ *
2944
+ * Navigation principale avec dropdown et version mobile
2945
+ * Source: Design System Figma
2946
+ */
2947
+
2948
+ @layer components {
2949
+
2950
+ /* ===========================================
2951
+ HEADER BASE
2952
+ =========================================== */
2953
+ .mba-header {
2954
+ background-color: var(--mba-color-white);
2955
+ border-radius: 0 0 var(--mba-radius-md) var(--mba-radius-md);
2956
+ box-shadow: var(--mba-shadow-xs);
2957
+ position: relative;
2958
+ width: 100%;
2959
+ box-sizing: border-box;
2960
+ }
2961
+
2962
+ .mba-header__container {
2963
+ display: flex;
2964
+ align-items: center;
2965
+ justify-content: space-between;
2966
+ padding: var(--mba-space-md) var(--mba-space-xl); /* 16px 32px */
2967
+ max-width: var(--mba-container-width);
2968
+ margin: 0 auto;
2969
+ }
2970
+
2971
+ /* ===========================================
2972
+ LOGO
2973
+ =========================================== */
2974
+ .mba-header__logo {
2975
+ display: flex;
2976
+ align-items: center;
2977
+ gap: var(--mba-space-xs); /* 8px */
2978
+ text-decoration: none;
2979
+ }
2980
+
2981
+ .mba-header__logo-img {
2982
+ max-width: 227.92px;
2983
+ height: 32px;
2984
+ display: block;
2985
+ }
2986
+
2987
+ /* ===========================================
2988
+ NAVIGATION DESKTOP
2989
+ =========================================== */
2990
+ .mba-header__nav {
2991
+ display: flex;
2992
+ align-items: center;
2993
+ gap: var(--mba-space-md);
2994
+ list-style: none;
2995
+ margin: 0;
2996
+ padding: 0;
2997
+ margin-left: var(
2998
+ --mba-space-lg
2999
+ ); /* Espace cohérent entre logo et nav, nav alignée à gauche */
3000
+ }
3001
+
3002
+ .mba-header__nav-item {
3003
+ position: relative;
3004
+ }
3005
+
3006
+ .mba-header__nav-link {
3007
+ display: flex;
3008
+ align-items: center;
3009
+ gap: var(--mba-space-xxs); /* 4px (gap texte/icone) */
3010
+ padding: var(--mba-space-xxs) var(--mba-space-xs); /* 2XS (haut/bas), XS (gauche/droite) */
3011
+ font-family: var(--mba-font-family-text);
3012
+ font-size: var(--mba-font-size-xs);
3013
+ font-weight: var(--mba-font-weight-regular);
3014
+ color: var(--mba-color-primary-900);
3015
+ text-decoration: none;
3016
+ border-radius: var(--mba-radius-sm);
3017
+ transition: background-color var(--mba-transition-base),
3018
+ color var(--mba-transition-base);
3019
+ cursor: pointer;
3020
+ background: none;
3021
+ border: none;
3022
+ white-space: nowrap;
3023
+ }
3024
+
3025
+ .mba-header__nav-link:hover {
3026
+ background-color: var(--mba-color-pastel-lavender);
3027
+ color: var(--mba-color-primary-900);
3028
+ }
3029
+
3030
+ /* Header partenaire : ne pas passer le texte en violet au hover */
3031
+ .mba-header--partenaire .mba-header__nav-link:hover {
3032
+ color: var(--mba-color-primary-pro-500);
3033
+ background-color: var(--mba-color-pastel-bleuet);
3034
+ }
3035
+
3036
+ /* Header partenaire : liens en Primary Pro par défaut */
3037
+ .mba-header--partenaire .mba-header__nav-link {
3038
+ color: var(--mba-color-primary-pro-500);
3039
+ }
3040
+
3041
+ .mba-header__nav-link--active {
3042
+ background-color: var(--mba-color-pastel-lavender);
3043
+ border-radius: var(--mba-radius-sm);
3044
+ color: var(--mba-color-primary-900);
3045
+ }
3046
+
3047
+ /* Icône dropdown (Material Symbols: arrow_drop_down / arrow_drop_up) */
3048
+ .mba-header__nav-link .mba-icon,
3049
+ .mba-header__mobile-nav-link .mba-icon {
3050
+ display: inline-flex;
3051
+ align-items: center;
3052
+ justify-content: center;
3053
+ margin-left: var(--mba-space-xxs);
3054
+ color: var(--mba-color-primary-900);
3055
+ }
3056
+
3057
+ /* Variante partenaire : couleur de l'icône */
3058
+ .mba-header--partenaire .mba-header__nav-link .mba-icon,
3059
+ .mba-header--partenaire .mba-header__mobile-nav-link .mba-icon {
3060
+ color: var(--mba-color-primary-pro-500);
3061
+ }
3062
+
3063
+ /* Lien avec dropdown ouvert : conserve le fond lavender comme l'état actif */
3064
+ .mba-header__nav-link--open {
3065
+ background-color: var(--mba-color-pastel-lavender);
3066
+ border-radius: var(--mba-radius-sm);
3067
+ color: var(--mba-color-primary-900);
3068
+ }
3069
+
3070
+ /* Variante partenaire : fond et couleur spécifiques quand le dropdown est ouvert */
3071
+ .mba-header--partenaire .mba-header__nav-link--open {
3072
+ background-color: var(--mba-color-pastel-bleuet);
3073
+ color: var(--mba-color-primary-pro-500);
3074
+ }
3075
+
3076
+ /* ===========================================
3077
+ DROPDOWN MENU
3078
+ =========================================== */
3079
+ .mba-header__dropdown {
3080
+ position: absolute;
3081
+ top: calc(100% + var(--mba-space-lg)); /* 32px sous le lien */
3082
+ left: 0;
3083
+ width: 739px; /* Largeur Spécifique Figma dans le design system */
3084
+ background-color: var(--mba-color-white);
3085
+ color: var(--mba-color-primary-500);
3086
+ border-radius: var(--mba-radius-sm);
3087
+ box-shadow: var(--mba-shadow-sm);
3088
+ padding: var(--mba-space-sm);
3089
+ display: none;
3090
+ z-index: 1000;
3091
+ animation: dropdownFadeIn var(--mba-transition-base);
3092
+ }
3093
+
3094
+ .mba-header__dropdown--open {
3095
+ display: block;
3096
+ box-shadow: var(--mba-shadow-xs);
3097
+ }
3098
+
3099
+ @keyframes dropdownFadeIn {
3100
+ from {
3101
+ opacity: 0;
3102
+ transform: translateY(calc(-1 * var(--mba-space-xs)));
3103
+ }
3104
+ to {
3105
+ opacity: 1;
3106
+ transform: translateY(0);
3107
+ }
3108
+ }
3109
+
3110
+ .mba-header__dropdown-title {
3111
+ font-family: var(--mba-font-family-text);
3112
+ font-size: var(--mba-font-size-xs);
3113
+ font-weight: var(--mba-font-weight-semibold);
3114
+ color: var(--mba-color-text);
3115
+ margin: 0 0 var(--mba-space-xs) 0;
3116
+ padding-bottom: var(--mba-space-sm);
3117
+ border-bottom: 1px solid var(--mba-color-grey-50);
3118
+ }
3119
+
3120
+ /* Header partenaire : titre du dropdown (PrimaryPro-800), inchangé au hover */
3121
+ .mba-header--partenaire .mba-header__dropdown-title,
3122
+ .mba-header--partenaire .mba-header__dropdown-title:hover {
3123
+ color: var(--mba-color-primary-pro-800);
3124
+ }
3125
+
3126
+ .mba-header__dropdown-list {
3127
+ list-style: none;
3128
+ margin: 0;
3129
+ padding: 0;
3130
+ display: flex;
3131
+ flex-direction: column;
3132
+ gap: var(--mba-space-xxs);
3133
+ }
3134
+
3135
+ .mba-header__dropdown-item {
3136
+ display: flex;
3137
+ align-items: flex-start;
3138
+ text-decoration: none;
3139
+ cursor: pointer;
3140
+ position: relative;
3141
+ border-radius: var(--mba-radius-sm);
3142
+ border: 1px solid transparent;
3143
+ gap: var(--mba-space-sm);
3144
+ padding: var(--mba-space-xs);
3145
+ transition: background-color var(--mba-transition-base);
3146
+ }
3147
+
3148
+ .mba-header__dropdown-item::before {
3149
+ content: "";
3150
+ position: absolute;
3151
+ inset: 0;
3152
+ padding: 1px;
3153
+ background: var(--mba-gradient-sunset);
3154
+ border-radius: inherit;
3155
+ mask:
3156
+ linear-gradient(#fff 0 0) content-box,
3157
+ linear-gradient(#fff 0 0);
3158
+ mask-composite: exclude;
3159
+ -webkit-mask-composite: xor;
3160
+ pointer-events: none;
3161
+ opacity: 0;
3162
+ transition: opacity var(--mba-transition-base);
3163
+ }
3164
+
3165
+ .mba-header__dropdown-item:hover::before {
3166
+ opacity: 1;
3167
+ }
3168
+
3169
+
3170
+ .mba-header__dropdown-icon {
3171
+ margin-top: var(--mba-space-xs);
3172
+ padding: var(--mba-space-sm);
3173
+ gap: var(--mba-space-gap-10);
3174
+ flex-shrink: 0;
3175
+ width: 56px;
3176
+ height: 56px;
3177
+ display: flex;
3178
+ align-items: center;
3179
+ justify-content: center;
3180
+ background-color: var(--mba-color-pastel-lavender);
3181
+ border-radius: var(--mba-radius-sm);
3182
+ color: var(--mba-color-primary-500);
3183
+ }
3184
+
3185
+ .mba-header__dropdown-icon .mba-icon {
3186
+ font-size: var(--mba-font-size-md);
3187
+ width: 1.25rem;
3188
+ height: 1.25rem;
3189
+ margin-bottom: var(--mba-space-xxs);
3190
+ }
3191
+
3192
+ /* Header partenaire : couleurs spécifiques des icônes du dropdown */
3193
+ .mba-header--partenaire .mba-header__dropdown-icon {
3194
+ background-color: var(--mba-color-pastel-bleuet);
3195
+ color: var(--mba-color-primary-pro-500);
3196
+ }
3197
+
3198
+ .mba-header__dropdown-content {
3199
+ flex: 1;
3200
+ gap: var(--mba-space-xxs);
3201
+ }
3202
+
3203
+ .mba-header__dropdown-label {
3204
+ font-family: var(--mba-font-family-text);
3205
+ font-size: var(--mba-font-size-xs);
3206
+ font-weight: var(--mba-font-weight-bold);
3207
+ color: var(--mba-color-primary-900);
3208
+ margin: 0 0 var(--mba-space-xxs) 0;
3209
+ display: block;
3210
+ }
3211
+
3212
+ /* Header partenaire : labels du dropdown en PrimaryPro-800 */
3213
+ .mba-header--partenaire .mba-header__dropdown-label {
3214
+ color: var(--mba-color-primary-pro-800);
3215
+ }
3216
+
3217
+ /* Header partenaire : labels du dropdown en PrimaryPro-800 */
3218
+ .mba-header--partenaire .mba-header__dropdown-description {
3219
+ color: var(--mba-color-primary-pro-800);
3220
+ }
3221
+
3222
+ .mba-header__dropdown-description {
3223
+ font-family: var(--mba-font-family-text);
3224
+ font-size: var(--mba-font-size-xs);
3225
+ font-weight: var(--mba-font-weight-regular);
3226
+ color: var(--mba-color-primary-900);
3227
+ margin: 0;
3228
+ line-height: var(--mba-leading-normal);
3229
+ }
3230
+
3231
+ /* Wrapper pour layout côte à côte (gauche: titre + liste, droite: infobox) */
3232
+ .mba-header__dropdown-content-wrapper {
3233
+ display: flex;
3234
+ gap: var(--mba-space-md);
3235
+ align-items: stretch; /* infobox s'étire sur toute la hauteur */
3236
+ margin-top: var(--mba-space-xs);
3237
+ }
3238
+
3239
+ .mba-header__dropdown-main {
3240
+ flex: 1;
3241
+ width: 437px;
3242
+ gap: var(--mba-space-sm); /* 16px */
3243
+ }
3244
+
3245
+ /* Infobox "S'informer pour mieux aider" */
3246
+ .mba-header__dropdown-infobox {
3247
+ flex: 0 0 246px;
3248
+ background-color: var(--mba-color-pastel-narcisse);
3249
+ border-radius: var(--mba-radius-sm);
3250
+ padding: var(--mba-space-sm);
3251
+ display: flex;
3252
+ flex-direction: column;
3253
+ gap: var(--mba-space-gap-10);
3254
+ }
3255
+
3256
+ .mba-header__dropdown-infobox-title {
3257
+ font-family: var(--mba-font-family-text);
3258
+ font-size: var(--mba-font-size-xxs);
3259
+ font-weight: var(--mba-font-weight-semibold);
3260
+ color: var(--mba-color-primary-900);
3261
+ margin: 0 0 var(--mba-space-xxs) 0; /* 4px */
3262
+ }
3263
+
3264
+ .mba-header__dropdown-infobox-description {
3265
+ font-family: var(--mba-font-family-text);
3266
+ font-size: var(--mba-font-size-xs);
3267
+ font-weight: var(--mba-font-weight-regular);
3268
+ color: var(--mba-color-primary-900);
3269
+ margin: 0;
3270
+ line-height: var(--mba-leading-normal);
3271
+ }
3272
+
3273
+ /* Header partenaire : infobox en PrimaryPro-800 */
3274
+ .mba-header--partenaire .mba-header__dropdown-infobox-title,
3275
+ .mba-header--partenaire .mba-header__dropdown-infobox-description {
3276
+ color: var(--mba-color-primary-pro-800);
3277
+ }
3278
+
3279
+ /* ===========================================
3280
+ BURGER MENU (MOBILE)
3281
+ =========================================== */
3282
+ .mba-header__burger {
3283
+ display: none;
3284
+ color: var(--mba-color-primary-500);
3285
+ flex-direction: column;
3286
+ gap: var(--mba-space-xxs);
3287
+ background: none;
3288
+ border: none;
3289
+ padding: var(--mba-space-xs);
3290
+ cursor: pointer;
3291
+ border-radius: var(--mba-radius-2xs);
3292
+ transition: background-color var(--mba-transition-base);
3293
+ position: relative;
3294
+ width: 40px; /* Largeur Spécifique Figma dans le design system 24px + 16px dus au padding*/
3295
+ height: 40px; /* Hauteur Spécifique Figma dans le design system 24px + 16px dus au padding*/
3296
+ align-items: center;
3297
+ justify-content: center;
3298
+ }
3299
+
3300
+ .mba-header__burger:hover {
3301
+ background-color: var(--mba-color-grey-50);
3302
+ }
3303
+
3304
+ .mba-header__burger-line {
3305
+ width: 24px;
3306
+ height: 2px;
3307
+ background-color: var(--mba-color-primary-500);
3308
+ border-radius: var(--mba-radius-2xs);
3309
+ transition: opacity var(--mba-transition-base);
3310
+ }
3311
+
3312
+ /* Animation burger ouvert - Masquer les barres */
3313
+ .mba-header__burger--open .mba-header__burger-line {
3314
+ opacity: 0;
3315
+ }
3316
+
3317
+ /* Croix (X) quand le menu est ouvert */
3318
+ .mba-header__burger--open::before,
3319
+ .mba-header__burger--open::after {
3320
+ content: "";
3321
+ position: absolute;
3322
+ width: 24px;
3323
+ height: 2px;
3324
+ background-color: var(--mba-color-primary-500);
3325
+ top: 50%;
3326
+ left: 50%;
3327
+ }
3328
+
3329
+ .mba-header__burger--open::before {
3330
+ transform: translate(-50%, -50%) rotate(45deg);
3331
+ }
3332
+
3333
+ .mba-header__burger--open::after {
3334
+ transform: translate(-50%, -50%) rotate(-45deg);
3335
+ }
3336
+
3337
+ /* Header partenaire : lignes du burger en PrimaryPro-500 */
3338
+ .mba-header--partenaire .mba-header__burger-line {
3339
+ background-color: var(--mba-color-primary-pro-500);
3340
+ }
3341
+
3342
+ .mba-header--partenaire .mba-header__burger--open::before,
3343
+ .mba-header--partenaire .mba-header__burger--open::after {
3344
+ background-color: var(--mba-color-primary-pro-500);
3345
+ }
3346
+
3347
+ /* ===========================================
3348
+ MOBILE MENU
3349
+ =========================================== */
3350
+ .mba-header__mobile-menu {
3351
+ position: absolute;
3352
+ top: calc(100% + var(--mba-space-xs));
3353
+ left: 0;
3354
+ right: 0;
3355
+ background-color: var(--mba-color-white);
3356
+ border-radius: var(--mba-radius-xs);
3357
+ padding: var(--mba-space-md);
3358
+ display: none;
3359
+ z-index: 999;
3360
+ animation: mobileMenuSlideIn var(--mba-transition-slow);
3361
+ }
3362
+
3363
+ .mba-header__mobile-menu--open {
3364
+ display: block;
3365
+ }
3366
+
3367
+ @keyframes mobileMenuSlideIn {
3368
+ from {
3369
+ opacity: 0;
3370
+ transform: translateY(calc(-1 * var(--mba-space-sm)));
3371
+ }
3372
+ to {
3373
+ opacity: 1;
3374
+ transform: translateY(0);
3375
+ }
3376
+ }
3377
+
3378
+ .mba-header__mobile-nav {
3379
+ list-style: none;
3380
+ margin: 0;
3381
+ padding: 0;
3382
+ display: flex;
3383
+ flex-direction: column;
3384
+ gap: var(--mba-space-xxs); /* 4px */
3385
+ }
3386
+
3387
+ .mba-header__mobile-nav-item {
3388
+ width: 100%;
3389
+ padding-bottom: var(--mba-space-sm);
3390
+ }
3391
+
3392
+ .mba-header__mobile-nav-link {
3393
+ display: flex;
3394
+ align-items: center;
3395
+ justify-content: space-between;
3396
+ padding: var(--mba-space-xxs) var(--mba-space-xs);
3397
+ gap: var(--mba-space-sm);
3398
+ font-family: var(--mba-font-family-text);
3399
+ font-size: var(--mba-font-size-xs);
3400
+ font-weight: var(--mba-font-weight-semibold);
3401
+ color: var(--mba-color-primary-900);
3402
+ text-decoration: none;
3403
+ border-radius: var(--mba-radius-2xs);
3404
+ transition: background-color var(--mba-transition-base);
3405
+ cursor: pointer;
3406
+ background: none;
3407
+ border: none;
3408
+ width: 100%;
3409
+ text-align: left;
3410
+ position: relative;
3411
+ }
3412
+
3413
+ /* Ligne sous le lien mobile (visible même quand le dropdown est ouvert) */
3414
+ .mba-header__mobile-nav-link::after {
3415
+ content: "";
3416
+ position: absolute;
3417
+ left: var(--mba-space-xs);
3418
+ right: var(--mba-space-xs);
3419
+ bottom: 0;
3420
+ height: 2px;
3421
+ border-radius: var(--mba-radius-2xs);
3422
+ background-color: var(--mba-color-primary-100);
3423
+ }
3424
+
3425
+ /* Variante partenaire : ligne en PrimaryPro-100 */
3426
+ .mba-header--partenaire .mba-header__mobile-nav-link::after {
3427
+ background-color: var(--mba-color-primary-pro-100);
3428
+ }
3429
+
3430
+
3431
+
3432
+ /* Variante partenaire : liens du menu mobile en PrimaryPro-800 */
3433
+ .mba-header--partenaire .mba-header__mobile-nav-link {
3434
+ color: var(--mba-color-primary-pro-800);
3435
+ }
3436
+
3437
+ .mba-header__mobile-nav-link .mba-icon {
3438
+ color: var(--mba-color-primary-500);
3439
+ }
3440
+
3441
+ /* Header partenaire : icônes des liens du menu mobile en PrimaryPro-500 */
3442
+ .mba-header--partenaire .mba-header__mobile-nav-link .mba-icon {
3443
+ color: var(--mba-color-primary-pro-500);
3444
+ }
3445
+
3446
+ .mba-header__mobile-nav-link--active {
3447
+ color: var(--mba-color-primary-500);
3448
+ background-color: var(--mba-color-primary-50);
3449
+ }
3450
+
3451
+ /* Sous-menu mobile */
3452
+ .mba-header__mobile-submenu {
3453
+ display: none;
3454
+ margin-top: var(--mba-space-xs);
3455
+ padding: 0;
3456
+ background-color: transparent; /* Liste simple, sans fond de carte */
3457
+ border-radius: 0;
3458
+ }
3459
+
3460
+ .mba-header__mobile-submenu--open {
3461
+ display: block;
3462
+ }
3463
+
3464
+ /* Réutiliser les styles du dropdown desktop pour le mobile */
3465
+ .mba-header__mobile-submenu .mba-header__dropdown-list {
3466
+ list-style: none;
3467
+ margin: 0;
3468
+ padding: 0;
3469
+ display: flex;
3470
+ flex-direction: column;
3471
+ gap: var(--mba-space-xs);
3472
+ margin-bottom: var(--mba-space-xs); /* 8px supplémentaires sous la liste des liens */
3473
+ }
3474
+
3475
+ .mba-header__mobile-submenu .mba-header__dropdown-item {
3476
+ gap: var(--mba-space-xs);
3477
+ border-radius: 0;
3478
+ transition: color var(--mba-transition-base);
3479
+ background-color: transparent; /* pas de carte blanche */
3480
+ }
3481
+
3482
+ .mba-header__mobile-submenu .mba-header__dropdown-item::before {
3483
+ opacity: 0; /* caché par défaut en mobile */
3484
+ }
3485
+
3486
+ .mba-header__mobile-submenu .mba-header__dropdown-item:active::before {
3487
+ opacity: 1; /* au pressed mobile : uniquement la bordure gradient */
3488
+ }
3489
+
3490
+ .mba-header__mobile-submenu .mba-header__dropdown-item:hover {
3491
+ background-color: transparent; /* pas de fond gris au hover (mobile) */
3492
+ }
3493
+
3494
+ .mba-header__mobile-submenu .mba-header__dropdown-icon {
3495
+ flex-shrink: 0;
3496
+ width: 40px;
3497
+ height: 40px;
3498
+ display: flex;
3499
+ align-items: center;
3500
+ justify-content: center;
3501
+ background-color: var(--mba-color-pastel-lavender);
3502
+ border-radius: var(--mba-radius-xs);
3503
+ color: var(--mba-color-primary-500);
3504
+ }
3505
+
3506
+ .mba-header__mobile-submenu .mba-header__dropdown-icon .mba-icon {
3507
+ font-size: var(--mba-font-size-md);
3508
+ }
3509
+
3510
+ .mba-header--partenaire .mba-header__mobile-submenu .mba-header__dropdown-icon {
3511
+ background-color: var(--mba-color-pastel-bleuet);
3512
+ color: var(--mba-color-primary-pro-500);
3513
+ }
3514
+
3515
+ .mba-header__mobile-submenu .mba-header__dropdown-content {
3516
+ flex: 1;
3517
+ gap: var(--mba-space-2xs);
3518
+ }
3519
+
3520
+ .mba-header__mobile-submenu .mba-header__dropdown-label {
3521
+ font-family: var(--mba-font-family-text);
3522
+ font-size: var(--mba-font-size-xxs);
3523
+ font-weight: var(--mba-font-weight-semibold);
3524
+ color: var(--mba-color-primary-900);
3525
+ margin: 0 0 var(--mba-space-xxs) 0;
3526
+ display: block;
3527
+ }
3528
+
3529
+ .mba-header__mobile-submenu .mba-header__dropdown-description {
3530
+ font-family: var(--mba-font-family-text);
3531
+ font-size: var(--mba-font-size-xxs);
3532
+ font-weight: var(--mba-font-weight-regular);
3533
+ color: var(--mba-color-primary-900);
3534
+ margin: 0;
3535
+ line-height: var(--mba-leading-normal);
3536
+ }
3537
+
3538
+ /* Infobox dans le menu mobile */
3539
+ .mba-header__mobile-submenu .mba-header__dropdown-infobox {
3540
+ margin-top: var(--mba-space-sm); /* 12px */
3541
+ flex: 1; /* Prend toute la largeur en mobile */
3542
+ background-color: var(--mba-color-pastel-narcisse);
3543
+ border-radius: var(--mba-radius-2xs);
3544
+ padding: var(--mba-space-sm);
3545
+ }
3546
+
3547
+ .mba-header__mobile-submenu .mba-header__dropdown-infobox-title {
3548
+ font-family: var(--mba-font-family-text);
3549
+ font-size: var(--mba-font-size-sm);
3550
+ font-weight: var(--mba-font-weight-semibold);
3551
+ color: var(--mba-color-text);
3552
+ margin: 0 0 var(--mba-space-xxs) 0;
3553
+ }
3554
+
3555
+ .mba-header__mobile-submenu .mba-header__dropdown-infobox-description {
3556
+ font-family: var(--mba-font-family-text);
3557
+ font-size: var(--mba-font-size-xs);
3558
+ font-weight: var(--mba-font-weight-regular);
3559
+ color: var(--mba-color-text);
3560
+ margin: 0;
3561
+ line-height: var(--mba-leading-normal);
3562
+ }
3563
+
3564
+ /* ===========================================
3565
+ RESPONSIVE
3566
+ =========================================== */
3567
+ @media (max-width: 768px) {
3568
+ .mba-header {
3569
+ box-shadow: none; /* pas de shadow en mobile */
3570
+ }
3571
+
3572
+ .mba-header__container {
3573
+ padding: var(--mba-space-sm) var(--mba-space-md); /* 12px 16px */
3574
+ justify-content: space-between;
3575
+ }
3576
+
3577
+ .mba-header__mobile-menu {
3578
+ padding: var(--mba-space-sm) var(--mba-space-xs); /* top/bottom SM, left/right XS */
3579
+ }
3580
+
3581
+ .mba-header__nav {
3582
+ display: none;
3583
+ }
3584
+
3585
+ .mba-header__burger {
3586
+ display: flex;
3587
+ }
3588
+
3589
+ .mba-header__logo-img {
3590
+ height: 24px;
3591
+ }
3592
+
3593
+ .mba-icon {
3594
+ margin-top: var(--mba-space-xxs);
3595
+ }
3596
+ }
3597
+
3598
+ @media (min-width: 769px) {
3599
+ .mba-header__mobile-menu {
3600
+ display: none !important;
3601
+ }
3602
+
3603
+ /* Header Partenaire - Dropdown \"Diffuser\" (index 1) avec hauteur fixe en desktop */
3604
+ .mba-header--partenaire .mba-header__dropdown--open[data-dropdown="1"] {
3605
+ min-height: 271px; /* Hauteur minimale Spécifique Figma dans le design system */
3606
+ box-sizing: border-box;
3607
+ }
3608
+
3609
+ .mba-header--partenaire
3610
+ .mba-header__dropdown--open[data-dropdown="1"]
3611
+ .mba-header__dropdown-infobox {
3612
+ height: calc(271px - 2 * var(--mba-space-sm));
3613
+ }
3614
+ }
3615
+
3616
+ }
3617
+
3618
+ /* end @layer components */
3619
+
2925
3620
  /**
2926
3621
  * MBA Design System - Wave
2927
3622
  *