@maboussoleaidant/design-system 0.1.0

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.
@@ -0,0 +1,1538 @@
1
+ /**
2
+ * MBA Design System
3
+ *
4
+ * Point d'entrée principal (sans Tailwind utilities)
5
+ * Inclut: tokens + base + composants
6
+ */
7
+
8
+ /**
9
+ * MBA Design System - Tokens
10
+ *
11
+ * Point d'entrée pour tous les design tokens
12
+ */
13
+
14
+ /**
15
+ * MBA Design System - Couleurs
16
+ *
17
+ * Palette de couleurs extraite du Design System Figma
18
+ * Préfixe: --mba-color-
19
+ */
20
+
21
+ :root {
22
+ /* ===========================================
23
+ BASICS
24
+ =========================================== */
25
+ --mba-color-white: #FFFFFF;
26
+ --mba-color-black: #1C1C1D;
27
+
28
+ /* ===========================================
29
+ GREY (Neutral)
30
+ =========================================== */
31
+ --mba-color-grey-50: #F2F2F3;
32
+ --mba-color-grey-100: #D7D7DB;
33
+ --mba-color-grey-300: #B6B6BC;
34
+ --mba-color-grey-400: #71717A;
35
+ --mba-color-grey-800: #303034;
36
+
37
+ /* ===========================================
38
+ PRIMARY (Violet)
39
+ Couleur principale de la marque
40
+ =========================================== */
41
+ --mba-color-primary-50: #FFF6FF;
42
+ --mba-color-primary-100: #EDD7EF;
43
+ --mba-color-primary-400: #C097C3;
44
+ --mba-color-primary-500: #703973; /* Couleur déposée */
45
+ --mba-color-primary-800: #461C52;
46
+ --mba-color-primary-900: #2C1133;
47
+
48
+ /* ===========================================
49
+ SECONDARY
50
+ =========================================== */
51
+ --mba-color-secondary-500: #FDC785;
52
+
53
+ /* ===========================================
54
+ PRIMARY PRO (Blue)
55
+ Couleur pour l'offre Pro/Entreprise
56
+ =========================================== */
57
+ --mba-color-primary-pro-50: #F7FAFD;
58
+ --mba-color-primary-pro-100: #DFEDF7;
59
+ --mba-color-primary-pro-400: #6A88AA;
60
+ --mba-color-primary-pro-500: #395172;
61
+ --mba-color-primary-pro-800: #122042;
62
+
63
+ /* ===========================================
64
+ ALERT - ERROR / REQUIRED (Rouge)
65
+ =========================================== */
66
+ --mba-color-error-100: #FFDED1;
67
+ --mba-color-error-300: #F8B09E;
68
+ --mba-color-error-400: #D9514E;
69
+ --mba-color-error-500: #C1121F;
70
+ --mba-color-error-800: #6F052A;
71
+
72
+ /* ===========================================
73
+ ALERT - SUCCESS / VALIDATION (Vert)
74
+ =========================================== */
75
+ --mba-color-success-100: #E6FADE;
76
+ --mba-color-success-300: #B7E7AC;
77
+ --mba-color-success-400: #74C474;
78
+ --mba-color-success-500: #489E50;
79
+ --mba-color-success-800: #165B30;
80
+
81
+ /* ===========================================
82
+ ALERT - WARNING / IN PROGRESS (Jaune)
83
+ =========================================== */
84
+ --mba-color-warning-50: #FEFAEC;
85
+ --mba-color-warning-100: #FBF2CB;
86
+ --mba-color-warning-300: #F8E199;
87
+ --mba-color-warning-400: #D6A73D;
88
+ --mba-color-warning-500: #BC7F09;
89
+ --mba-color-warning-800: #6D3D02;
90
+
91
+ /* ===========================================
92
+ ALERT - INFO / NEUTRAL (Bleu)
93
+ =========================================== */
94
+ --mba-color-info-50: #F1FBFE;
95
+ --mba-color-info-100: #E2F6FC;
96
+ --mba-color-info-300: #C6EAF9;
97
+ --mba-color-info-400: #8ABDE0;
98
+ --mba-color-info-500: #649CCC;
99
+ --mba-color-info-800: #1F4076;
100
+
101
+ /* ===========================================
102
+ CUSTOM PALETTE - Brick
103
+ (Ultra light et dark - pour tags, articles, backgrounds)
104
+ =========================================== */
105
+ --mba-color-brick-light: #FCF4F0;
106
+ --mba-color-brick: #AC5118;
107
+
108
+ /* ===========================================
109
+ CUSTOM PALETTE - Forest
110
+ =========================================== */
111
+ --mba-color-forest-light: #DEF8EF;
112
+ --mba-color-forest: #16654C;
113
+
114
+ /* ===========================================
115
+ CUSTOM PALETTE - Rose
116
+ =========================================== */
117
+ --mba-color-rose-light: #FAEFF4;
118
+ --mba-color-rose: #B83C75;
119
+
120
+ /* ===========================================
121
+ CUSTOM PALETTE - Pastels (Nouveau)
122
+ Note: Non accessibles pour texte/titre
123
+ =========================================== */
124
+ --mba-color-pastel-bleuet: #EBF2FF;
125
+ --mba-color-pastel-lavender: #EEEDFF;
126
+ --mba-color-pastel-narcisse: #FFF6E4;
127
+ --mba-color-pastel-oranger: #FFF2EB;
128
+
129
+ /* ===========================================
130
+ CUSTOM - Beige (Background cards)
131
+ =========================================== */
132
+ --mba-color-beige: #F9F5F0;
133
+
134
+ /* ===========================================
135
+ GRADIENT
136
+ =========================================== */
137
+ --mba-gradient-sunset: linear-gradient(117deg, #C7E5FA 4.74%, #E9CDF3 49.92%, #FBE4C1 95.1%);
138
+
139
+ /* ===========================================
140
+ SEMANTIC COLORS
141
+ (Utilise uniquement les tokens Figma existants)
142
+ =========================================== */
143
+ --mba-color-background: var(--mba-color-white);
144
+ --mba-color-surface: var(--mba-color-grey-50);
145
+ --mba-color-surface-raised: var(--mba-color-white);
146
+ --mba-color-border: var(--mba-color-grey-100);
147
+ --mba-color-border-strong: var(--mba-color-grey-300);
148
+
149
+ --mba-color-text: var(--mba-color-black);
150
+ --mba-color-text-muted: var(--mba-color-grey-400);
151
+ --mba-color-text-subtle: var(--mba-color-grey-300);
152
+ --mba-color-text-inverse: var(--mba-color-white);
153
+
154
+ --mba-color-link: var(--mba-color-primary-500);
155
+ --mba-color-link-hover: var(--mba-color-primary-800);
156
+
157
+ /* Focus ring (accessibilité) */
158
+ --mba-focus-ring: 0 0 0 3px rgba(112, 57, 115, 0.25);
159
+ }
160
+
161
+ /**
162
+ * MBA Design System - Typographie
163
+ *
164
+ * Polices: Open Sans (textes) + Congenial (titres)
165
+ * Source: Design System Figma
166
+ */
167
+
168
+ :root {
169
+ /* ===========================================
170
+ FAMILLES DE POLICES
171
+ =========================================== */
172
+ --mba-font-family-text: "Open Sans", ui-sans-serif, system-ui, sans-serif;
173
+ --mba-font-family-heading: "Congenial", ui-sans-serif, system-ui, sans-serif;
174
+ --mba-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
175
+
176
+ /* ===========================================
177
+ TAILLES DE POLICE (Figma Scale)
178
+ =========================================== */
179
+ --mba-font-size-xxs: 0.875rem; /* 14px */
180
+ --mba-font-size-xs: 1rem; /* 16px */
181
+ --mba-font-size-sm: 1.125rem; /* 18px */
182
+ --mba-font-size-md: 1.5rem; /* 24px */
183
+ --mba-font-size-xl: 2rem; /* 32px */
184
+ --mba-font-size-xxl: 3rem; /* 48px */
185
+
186
+ /* ===========================================
187
+ FONT WEIGHTS
188
+ =========================================== */
189
+ --mba-font-weight-regular: 400;
190
+ --mba-font-weight-semibold: 600;
191
+ --mba-font-weight-bold: 700;
192
+ --mba-font-weight-extrabold: 800;
193
+
194
+ /* ===========================================
195
+ LINE HEIGHTS
196
+ =========================================== */
197
+ --mba-leading-none: 1;
198
+ --mba-leading-tight: 1.25;
199
+ --mba-leading-snug: 1.375;
200
+ --mba-leading-normal: 1.5;
201
+ --mba-leading-relaxed: 1.625;
202
+ --mba-leading-loose: 2;
203
+
204
+ /* ===========================================
205
+ LETTER SPACING
206
+ =========================================== */
207
+ --mba-tracking-tighter: -0.05em;
208
+ --mba-tracking-tight: -0.025em;
209
+ --mba-tracking-normal: 0em;
210
+ --mba-tracking-wide: 0.025em;
211
+ --mba-tracking-wider: 0.05em;
212
+ --mba-tracking-widest: 0.1em;
213
+ }
214
+
215
+ /* ===========================================
216
+ HEADING PRESETS (Congenial)
217
+ =========================================== */
218
+
219
+ /* XXL - 48px Bold */
220
+
221
+ .mba-heading-xxl {
222
+ font-family: var(--mba-font-family-heading);
223
+ font-size: var(--mba-font-size-xxl);
224
+ font-weight: var(--mba-font-weight-bold);
225
+ line-height: var(--mba-leading-tight);
226
+ }
227
+
228
+ /* XL - 32px Bold */
229
+
230
+ .mba-heading-xl {
231
+ font-family: var(--mba-font-family-heading);
232
+ font-size: var(--mba-font-size-xl);
233
+ font-weight: var(--mba-font-weight-bold);
234
+ line-height: var(--mba-leading-tight);
235
+ }
236
+
237
+ /* MD - 24px Bold (Figma: extra-bold, mais Congenial ExtraBold non dispo) */
238
+
239
+ .mba-heading-md {
240
+ font-family: var(--mba-font-family-heading);
241
+ font-size: var(--mba-font-size-md);
242
+ font-weight: var(--mba-font-weight-bold);
243
+ line-height: var(--mba-leading-snug);
244
+ }
245
+
246
+ /* SM - 18px Bold */
247
+
248
+ .mba-heading-sm {
249
+ font-family: var(--mba-font-family-heading);
250
+ font-size: var(--mba-font-size-sm);
251
+ font-weight: var(--mba-font-weight-bold);
252
+ line-height: var(--mba-leading-normal);
253
+ }
254
+
255
+ /* XS - 16px Bold */
256
+
257
+ .mba-heading-xs {
258
+ font-family: var(--mba-font-family-heading);
259
+ font-size: var(--mba-font-size-xs);
260
+ font-weight: var(--mba-font-weight-bold);
261
+ line-height: var(--mba-leading-normal);
262
+ }
263
+
264
+ /* XXS - 14px Bold */
265
+
266
+ .mba-heading-xxs {
267
+ font-family: var(--mba-font-family-heading);
268
+ font-size: var(--mba-font-size-xxs);
269
+ font-weight: var(--mba-font-weight-bold);
270
+ line-height: var(--mba-leading-normal);
271
+ }
272
+
273
+ /* ===========================================
274
+ TEXT PRESETS (Open Sans)
275
+ =========================================== */
276
+
277
+ /* XXL - 48px */
278
+
279
+ .mba-text-xxl {
280
+ font-family: var(--mba-font-family-text);
281
+ font-size: var(--mba-font-size-xxl);
282
+ font-weight: var(--mba-font-weight-regular);
283
+ line-height: var(--mba-leading-normal);
284
+ }
285
+
286
+ /* XL - 32px */
287
+
288
+ .mba-text-xl {
289
+ font-family: var(--mba-font-family-text);
290
+ font-size: var(--mba-font-size-xl);
291
+ font-weight: var(--mba-font-weight-regular);
292
+ line-height: var(--mba-leading-normal);
293
+ }
294
+
295
+ /* MD - 24px */
296
+
297
+ .mba-text-md {
298
+ font-family: var(--mba-font-family-text);
299
+ font-size: var(--mba-font-size-md);
300
+ font-weight: var(--mba-font-weight-regular);
301
+ line-height: var(--mba-leading-normal);
302
+ }
303
+
304
+ /* SM - 18px */
305
+
306
+ .mba-text-sm {
307
+ font-family: var(--mba-font-family-text);
308
+ font-size: var(--mba-font-size-sm);
309
+ font-weight: var(--mba-font-weight-regular);
310
+ line-height: var(--mba-leading-normal);
311
+ }
312
+
313
+ /* XS - 16px (Base) */
314
+
315
+ .mba-text-xs {
316
+ font-family: var(--mba-font-family-text);
317
+ font-size: var(--mba-font-size-xs);
318
+ font-weight: var(--mba-font-weight-regular);
319
+ line-height: var(--mba-leading-normal);
320
+ }
321
+
322
+ /* XXS - 14px */
323
+
324
+ .mba-text-xxs {
325
+ font-family: var(--mba-font-family-text);
326
+ font-size: var(--mba-font-size-xxs);
327
+ font-weight: var(--mba-font-weight-regular);
328
+ line-height: var(--mba-leading-normal);
329
+ }
330
+
331
+ /**
332
+ * MBA Design System - Espacements
333
+ *
334
+ * Échelle d'espacements extraite du Design System Figma
335
+ * Préfixe: --mba-space-
336
+ */
337
+
338
+ :root {
339
+ /* ===========================================
340
+ ÉCHELLE FIGMA
341
+ =========================================== */
342
+ --mba-space-xxs: 0.25rem; /* 4px */
343
+ --mba-space-xs: 0.5rem; /* 8px */
344
+ --mba-space-sm: 1rem; /* 16px */
345
+ --mba-space-md: 1.5rem; /* 24px */
346
+ --mba-space-lg: 2rem; /* 32px */
347
+ --mba-space-xl: 3rem; /* 48px */
348
+ --mba-space-xxl: 4rem; /* 64px */
349
+
350
+ /* ===========================================
351
+ VALEURS UTILITAIRES
352
+ =========================================== */
353
+ --mba-space-0: 0;
354
+ --mba-space-px: 1px;
355
+ }
356
+
357
+ /**
358
+ * MBA Design System - Border Radius
359
+ *
360
+ * Échelle de rayons de bordure extraite du Design System Figma
361
+ * Préfixe: --mba-radius-
362
+ */
363
+
364
+ :root {
365
+ /* ===========================================
366
+ ÉCHELLE FIGMA
367
+ =========================================== */
368
+ --mba-radius-2xs: 0.25rem; /* 4px */
369
+ --mba-radius-xs: 0.5rem; /* 8px */
370
+ --mba-radius-sm: 1rem; /* 16px */
371
+ --mba-radius-md: 1.5rem; /* 24px */
372
+ --mba-radius-lg: 2rem; /* 32px */
373
+ --mba-radius-xl: 3rem; /* 48px */
374
+ --mba-radius-xxl: 4rem; /* 64px */
375
+
376
+ /* ===========================================
377
+ VALEURS UTILITAIRES
378
+ =========================================== */
379
+ --mba-radius-none: 0;
380
+ --mba-radius-full: 9999px;
381
+ }
382
+
383
+ /**
384
+ * MBA Design System - Ombres (Elevation)
385
+ *
386
+ * Échelle d'élévation extraite du Design System Figma
387
+ * Couleur de base: Grey 400 (#71717A / rgba(113, 113, 122))
388
+ * Préfixe: --mba-shadow-
389
+ */
390
+
391
+ :root {
392
+ /* ===========================================
393
+ ÉCHELLE FIGMA (Elevation)
394
+ Double couche: 4% + 8% opacité
395
+ =========================================== */
396
+
397
+ /* XXS - blur 4px */
398
+ --mba-shadow-xxs:
399
+ 0 2px 4px 0 rgba(113, 113, 122, 0.04),
400
+ 1px 2px 4px 0 rgba(113, 113, 122, 0.08);
401
+
402
+ /* XS - blur 8px */
403
+ --mba-shadow-xs:
404
+ 0 2px 8px 0 rgba(113, 113, 122, 0.04),
405
+ 1px 2px 8px 0 rgba(113, 113, 122, 0.08);
406
+
407
+ /* SM - blur 16px */
408
+ --mba-shadow-sm:
409
+ 0 2px 16px 0 rgba(113, 113, 122, 0.04),
410
+ 1px 2px 16px 0 rgba(113, 113, 122, 0.08);
411
+
412
+ /* MD - blur 24px */
413
+ --mba-shadow-md:
414
+ 0 2px 24px 0 rgba(113, 113, 122, 0.04),
415
+ 1px 2px 24px 0 rgba(113, 113, 122, 0.08);
416
+
417
+ /* ===========================================
418
+ VALEURS UTILITAIRES
419
+ =========================================== */
420
+ --mba-shadow-none: 0 0 #0000;
421
+ --mba-shadow-inner: inset 0 2px 4px 0 rgba(113, 113, 122, 0.08);
422
+ }
423
+
424
+ /**
425
+ * MBA Design System - Transitions
426
+ *
427
+ * Durées et easings pour les animations
428
+ */
429
+
430
+ :root {
431
+ /* ===========================================
432
+ DUREES
433
+ =========================================== */
434
+ --mba-duration-75: 75ms;
435
+ --mba-duration-100: 100ms;
436
+ --mba-duration-150: 150ms;
437
+ --mba-duration-200: 200ms;
438
+ --mba-duration-300: 300ms;
439
+ --mba-duration-500: 500ms;
440
+ --mba-duration-700: 700ms;
441
+ --mba-duration-1000: 1000ms;
442
+
443
+ /* ===========================================
444
+ EASINGS
445
+ =========================================== */
446
+ --mba-ease-linear: linear;
447
+ --mba-ease-in: cubic-bezier(0.4, 0, 1, 1);
448
+ --mba-ease-out: cubic-bezier(0, 0, 0.2, 1);
449
+ --mba-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
450
+
451
+ /* ===========================================
452
+ TRANSITIONS PRECONSTRUITES
453
+ =========================================== */
454
+ --mba-transition-fast: var(--mba-duration-150) var(--mba-ease-in-out);
455
+ --mba-transition-base: var(--mba-duration-200) var(--mba-ease-in-out);
456
+ --mba-transition-slow: var(--mba-duration-300) var(--mba-ease-in-out);
457
+ }
458
+
459
+ /**
460
+ * MBA Design System - Breakpoints
461
+ *
462
+ * Points de rupture responsive
463
+ * Note: Les custom properties ne fonctionnent pas dans @media queries,
464
+ * ces valeurs sont documentées ici pour référence et usage JS.
465
+ *
466
+ * Utiliser les classes Tailwind (sm:, md:, lg:, xl:, 2xl:)
467
+ * ou les @media queries directement.
468
+ */
469
+
470
+ :root {
471
+ /* Breakpoints pour référence (usage JS) */
472
+ --mba-breakpoint-sm: 640px;
473
+ --mba-breakpoint-md: 768px;
474
+ --mba-breakpoint-lg: 1024px;
475
+ --mba-breakpoint-xl: 1280px;
476
+ --mba-breakpoint-2xl: 1536px;
477
+ }
478
+
479
+ /*
480
+ Usage en CSS pur (les @media ne supportent pas les custom properties) :
481
+
482
+ @media (min-width: 640px) { ... } sm
483
+ @media (min-width: 768px) { ... } md
484
+ @media (min-width: 1024px) { ... } lg
485
+ @media (min-width: 1280px) { ... } xl
486
+ @media (min-width: 1536px) { ... } 2xl
487
+ */
488
+
489
+ /**
490
+ * MBA Design System - Base
491
+ *
492
+ * Reset et styles de base
493
+ */
494
+
495
+ /**
496
+ * MBA Design System - Fonts
497
+ *
498
+ * @font-face declarations pour Open Sans et Congenial
499
+ */
500
+
501
+ /* ===========================================
502
+ OPEN SANS (Textes)
503
+ =========================================== */
504
+
505
+ @font-face {
506
+ font-family: "Open Sans";
507
+ font-style: normal;
508
+ font-weight: 400;
509
+ font-display: swap;
510
+ src: url("../assets/fonts/OpenSans-Regular.woff2") format("woff2");
511
+ }
512
+
513
+ @font-face {
514
+ font-family: "Open Sans";
515
+ font-style: normal;
516
+ font-weight: 600;
517
+ font-display: swap;
518
+ src: url("../assets/fonts/OpenSans-SemiBold.woff2") format("woff2");
519
+ }
520
+
521
+ @font-face {
522
+ font-family: "Open Sans";
523
+ font-style: normal;
524
+ font-weight: 700;
525
+ font-display: swap;
526
+ src: url("../assets/fonts/OpenSans-Bold.woff2") format("woff2");
527
+ }
528
+
529
+ @font-face {
530
+ font-family: "Open Sans";
531
+ font-style: normal;
532
+ font-weight: 800;
533
+ font-display: swap;
534
+ src: url("../assets/fonts/OpenSans-ExtraBold.woff2") format("woff2");
535
+ }
536
+
537
+ /* ===========================================
538
+ CONGENIAL (Titres)
539
+ Note: ExtraBold non disponible, on utilise Bold pour les titres
540
+ =========================================== */
541
+
542
+ @font-face {
543
+ font-family: "Congenial";
544
+ font-style: normal;
545
+ font-weight: 400;
546
+ font-display: swap;
547
+ src: url("../assets/fonts/Congenial.woff2") format("woff2");
548
+ }
549
+
550
+ @font-face {
551
+ font-family: "Congenial";
552
+ font-style: normal;
553
+ font-weight: 500;
554
+ font-display: swap;
555
+ src: url("../assets/fonts/Congenial-Medium.woff2") format("woff2");
556
+ }
557
+
558
+ @font-face {
559
+ font-family: "Congenial";
560
+ font-style: normal;
561
+ font-weight: 700;
562
+ font-display: swap;
563
+ src: url("../assets/fonts/Congenial-Bold.woff2") format("woff2");
564
+ }
565
+
566
+ /**
567
+ * MBA Design System - Icons
568
+ *
569
+ * Material Symbols Rounded (self-hosted, optimized subset)
570
+ * Style: Rounded, Weight: 400, Fill: 0/1, Optical size: 20-48
571
+ *
572
+ * Subset: ~50 KB (vs 5 MB full font)
573
+ * Pour ajouter des icônes:
574
+ * 1. Éditer src/icons/icons.list.txt
575
+ * 2. Lancer: npm run icons:build
576
+ */
577
+
578
+ /* ===========================================
579
+ FONT FACE - Material Symbols Rounded
580
+ =========================================== */
581
+
582
+ @font-face {
583
+ font-family: 'Material Symbols Rounded';
584
+ font-style: normal;
585
+ font-weight: 100 700;
586
+ font-display: block;
587
+ src: url('/fonts/MaterialSymbolsRounded.woff2') format('woff2');
588
+ }
589
+
590
+ /* ===========================================
591
+ BASE ICON CLASS
592
+ =========================================== */
593
+
594
+ .material-symbols-rounded {
595
+ font-family: 'Material Symbols Rounded';
596
+ font-weight: normal;
597
+ font-style: normal;
598
+ font-size: 24px;
599
+ line-height: 1;
600
+ letter-spacing: normal;
601
+ text-transform: none;
602
+ display: inline-block;
603
+ white-space: nowrap;
604
+ word-wrap: normal;
605
+ direction: ltr;
606
+ -webkit-font-feature-settings: 'liga';
607
+ font-feature-settings: 'liga';
608
+ -webkit-font-smoothing: antialiased;
609
+ -moz-osx-font-smoothing: grayscale;
610
+ text-rendering: optimizeLegibility;
611
+
612
+ /* Default: Outline */
613
+ font-variation-settings:
614
+ 'FILL' 0,
615
+ 'wght' 400,
616
+ 'GRAD' 0,
617
+ 'opsz' 24;
618
+ }
619
+
620
+ /* ===========================================
621
+ MBA ICON UTILITIES
622
+ =========================================== */
623
+
624
+ /* Base icon (24px) */
625
+
626
+ .mba-icon {
627
+ font-size: 24px;
628
+ width: 24px;
629
+ height: 24px;
630
+ font-variation-settings:
631
+ 'FILL' 0,
632
+ 'wght' 400,
633
+ 'GRAD' 0,
634
+ 'opsz' 24;
635
+ }
636
+
637
+ /* Small icon (16px) */
638
+
639
+ .mba-icon--sm {
640
+ font-size: 16px;
641
+ width: 16px;
642
+ height: 16px;
643
+ font-variation-settings:
644
+ 'FILL' 0,
645
+ 'wght' 400,
646
+ 'GRAD' 0,
647
+ 'opsz' 20;
648
+ }
649
+
650
+ /* Fill variant */
651
+
652
+ .mba-icon--fill,
653
+ .material-symbols-rounded.mba-icon--fill {
654
+ font-variation-settings:
655
+ 'FILL' 1,
656
+ 'wght' 400,
657
+ 'GRAD' 0,
658
+ 'opsz' 24;
659
+ }
660
+
661
+ /* Fill + Small */
662
+
663
+ .mba-icon--sm.mba-icon--fill {
664
+ font-variation-settings:
665
+ 'FILL' 1,
666
+ 'wght' 400,
667
+ 'GRAD' 0,
668
+ 'opsz' 20;
669
+ }
670
+
671
+ /* ===========================================
672
+ COLOR UTILITIES
673
+ =========================================== */
674
+
675
+ .mba-icon--primary {
676
+ color: var(--mba-color-primary-500);
677
+ }
678
+
679
+ .mba-icon--success {
680
+ color: var(--mba-color-success-500);
681
+ }
682
+
683
+ .mba-icon--warning {
684
+ color: var(--mba-color-warning-500);
685
+ }
686
+
687
+ .mba-icon--error {
688
+ color: var(--mba-color-error-500);
689
+ }
690
+
691
+ .mba-icon--info {
692
+ color: var(--mba-color-info-500);
693
+ }
694
+
695
+ .mba-icon--muted {
696
+ color: var(--mba-color-text-muted);
697
+ }
698
+
699
+ /**
700
+ * MBA Design System - Preflight
701
+ *
702
+ * Reset CSS basé sur Tailwind Preflight / modern-normalize
703
+ * https://tailwindcss.com/docs/preflight
704
+ */
705
+
706
+ *,
707
+ ::before,
708
+ ::after {
709
+ box-sizing: border-box;
710
+ border-width: 0;
711
+ border-style: solid;
712
+ border-color: var(--mba-color-border);
713
+ }
714
+
715
+ html {
716
+ line-height: 1.5;
717
+ -webkit-text-size-adjust: 100%;
718
+ -moz-tab-size: 4;
719
+ tab-size: 4;
720
+ font-family: var(--mba-font-family-text);
721
+ font-feature-settings: normal;
722
+ font-variation-settings: normal;
723
+ }
724
+
725
+ body {
726
+ margin: 0;
727
+ line-height: inherit;
728
+ }
729
+
730
+ hr {
731
+ height: 0;
732
+ color: inherit;
733
+ border-top-width: 1px;
734
+ }
735
+
736
+ abbr:where([title]) {
737
+ text-decoration: underline dotted;
738
+ }
739
+
740
+ h1,
741
+ h2,
742
+ h3,
743
+ h4,
744
+ h5,
745
+ h6 {
746
+ font-size: inherit;
747
+ font-weight: inherit;
748
+ }
749
+
750
+ a {
751
+ color: inherit;
752
+ text-decoration: inherit;
753
+ }
754
+
755
+ b,
756
+ strong {
757
+ font-weight: bolder;
758
+ }
759
+
760
+ code,
761
+ kbd,
762
+ samp,
763
+ pre {
764
+ font-family: var(--mba-font-family-mono);
765
+ font-size: 1em;
766
+ }
767
+
768
+ small {
769
+ font-size: 80%;
770
+ }
771
+
772
+ sub,
773
+ sup {
774
+ font-size: 75%;
775
+ line-height: 0;
776
+ position: relative;
777
+ vertical-align: baseline;
778
+ }
779
+
780
+ sub {
781
+ bottom: -0.25em;
782
+ }
783
+
784
+ sup {
785
+ top: -0.5em;
786
+ }
787
+
788
+ table {
789
+ text-indent: 0;
790
+ border-color: inherit;
791
+ border-collapse: collapse;
792
+ }
793
+
794
+ button,
795
+ input,
796
+ optgroup,
797
+ select,
798
+ textarea {
799
+ font-family: inherit;
800
+ font-feature-settings: inherit;
801
+ font-variation-settings: inherit;
802
+ font-size: 100%;
803
+ font-weight: inherit;
804
+ line-height: inherit;
805
+ color: inherit;
806
+ margin: 0;
807
+ padding: 0;
808
+ }
809
+
810
+ button,
811
+ select {
812
+ text-transform: none;
813
+ }
814
+
815
+ button,
816
+ [type="button"],
817
+ [type="reset"],
818
+ [type="submit"] {
819
+ -webkit-appearance: button;
820
+ background-color: transparent;
821
+ background-image: none;
822
+ }
823
+
824
+ :-moz-focusring {
825
+ outline: auto;
826
+ }
827
+
828
+ :-moz-ui-invalid {
829
+ box-shadow: none;
830
+ }
831
+
832
+ progress {
833
+ vertical-align: baseline;
834
+ }
835
+
836
+ ::-webkit-inner-spin-button,
837
+ ::-webkit-outer-spin-button {
838
+ height: auto;
839
+ }
840
+
841
+ [type="search"] {
842
+ -webkit-appearance: textfield;
843
+ outline-offset: -2px;
844
+ }
845
+
846
+ ::-webkit-search-decoration {
847
+ -webkit-appearance: none;
848
+ }
849
+
850
+ ::-webkit-file-upload-button {
851
+ -webkit-appearance: button;
852
+ font: inherit;
853
+ }
854
+
855
+ summary {
856
+ display: list-item;
857
+ }
858
+
859
+ blockquote,
860
+ dl,
861
+ dd,
862
+ h1,
863
+ h2,
864
+ h3,
865
+ h4,
866
+ h5,
867
+ h6,
868
+ hr,
869
+ figure,
870
+ p,
871
+ pre {
872
+ margin: 0;
873
+ }
874
+
875
+ fieldset {
876
+ margin: 0;
877
+ padding: 0;
878
+ }
879
+
880
+ legend {
881
+ padding: 0;
882
+ }
883
+
884
+ ol,
885
+ ul,
886
+ menu {
887
+ list-style: none;
888
+ margin: 0;
889
+ padding: 0;
890
+ }
891
+
892
+ dialog {
893
+ padding: 0;
894
+ }
895
+
896
+ textarea {
897
+ resize: vertical;
898
+ }
899
+
900
+ input::placeholder,
901
+ textarea::placeholder {
902
+ opacity: 1;
903
+ color: var(--mba-color-text-subtle);
904
+ }
905
+
906
+ button,
907
+ [role="button"] {
908
+ cursor: pointer;
909
+ }
910
+
911
+ :disabled {
912
+ cursor: default;
913
+ }
914
+
915
+ img,
916
+ svg,
917
+ video,
918
+ canvas,
919
+ audio,
920
+ iframe,
921
+ embed,
922
+ object {
923
+ display: block;
924
+ vertical-align: middle;
925
+ }
926
+
927
+ img,
928
+ video {
929
+ max-width: 100%;
930
+ height: auto;
931
+ }
932
+
933
+ [hidden] {
934
+ display: none;
935
+ }
936
+
937
+ /**
938
+ * MBA Design System - Base Typography
939
+ *
940
+ * Styles de base pour le texte
941
+ */
942
+
943
+ body {
944
+ font-family: var(--mba-font-family-text);
945
+ font-size: var(--mba-font-size-xs);
946
+ line-height: var(--mba-leading-normal);
947
+ color: var(--mba-color-text);
948
+ background-color: var(--mba-color-background);
949
+ -webkit-font-smoothing: antialiased;
950
+ -moz-osx-font-smoothing: grayscale;
951
+ }
952
+
953
+ /* Liens */
954
+
955
+ a {
956
+ color: var(--mba-color-link);
957
+ transition: color var(--mba-transition-fast);
958
+ }
959
+
960
+ a:hover {
961
+ color: var(--mba-color-link-hover);
962
+ }
963
+
964
+ /* Focus visible pour accessibilité */
965
+
966
+ :focus-visible {
967
+ outline: 2px solid var(--mba-color-primary-500);
968
+ outline-offset: 2px;
969
+ }
970
+
971
+ /* Selection */
972
+
973
+ ::selection {
974
+ background-color: var(--mba-color-primary-100);
975
+ color: var(--mba-color-primary-900);
976
+ }
977
+
978
+ /**
979
+ * MBA Design System - Composants
980
+ *
981
+ * Classes de composants prêtes à l'emploi
982
+ */
983
+
984
+ /**
985
+ * MBA Design System - Boutons
986
+ *
987
+ * Classes: .mba-btn, .mba-btn-secondary, .mba-btn-sm
988
+ * Couleur: Primary (Violet #703973)
989
+ * Source: Design System Figma
990
+ */
991
+
992
+ /* ===========================================
993
+ BASE BUTTON (Primary - Large/Default)
994
+ height: 38px, padding: 8px 16px, gap: 8px
995
+ =========================================== */
996
+
997
+ .mba-btn {
998
+ display: inline-flex;
999
+ height: 38px;
1000
+ padding: var(--mba-space-xs) var(--mba-space-sm);
1001
+ justify-content: center;
1002
+ align-items: center;
1003
+ gap: var(--mba-space-xs);
1004
+ font-family: var(--mba-font-family-text);
1005
+ font-size: var(--mba-font-size-xs);
1006
+ font-weight: var(--mba-font-weight-semibold);
1007
+ line-height: var(--mba-leading-snug);
1008
+ text-decoration: none;
1009
+ border: 1px solid transparent;
1010
+ border-radius: var(--mba-radius-xs);
1011
+ cursor: pointer;
1012
+ transition: all 0.25s ease-in-out;
1013
+ user-select: none;
1014
+ white-space: nowrap;
1015
+
1016
+ /* Primary (Violet) */
1017
+ background-color: var(--mba-color-primary-500);
1018
+ color: var(--mba-color-white);
1019
+ }
1020
+
1021
+ .mba-btn:hover:not(:disabled):not(.is-disabled) {
1022
+ background-color: var(--mba-color-white);
1023
+ color: var(--mba-color-primary-800);
1024
+ border: 1px solid var(--mba-color-primary-800);
1025
+ }
1026
+
1027
+ .mba-btn:focus {
1028
+ outline: none;
1029
+ box-shadow: var(--mba-focus-ring);
1030
+ }
1031
+
1032
+ .mba-btn:disabled,
1033
+ .mba-btn.is-disabled {
1034
+ background-color: var(--mba-color-grey-100);
1035
+ color: var(--mba-color-grey-400);
1036
+ border-color: transparent;
1037
+ cursor: not-allowed;
1038
+ pointer-events: none;
1039
+ }
1040
+
1041
+ /* ===========================================
1042
+ SECONDARY BUTTON (Large/Default)
1043
+ =========================================== */
1044
+
1045
+ .mba-btn-secondary {
1046
+ display: inline-flex;
1047
+ height: 38px;
1048
+ padding: var(--mba-space-xs) var(--mba-space-sm);
1049
+ justify-content: center;
1050
+ align-items: center;
1051
+ gap: var(--mba-space-xs);
1052
+ font-family: var(--mba-font-family-text);
1053
+ font-size: var(--mba-font-size-xs);
1054
+ font-weight: var(--mba-font-weight-semibold);
1055
+ line-height: var(--mba-leading-snug);
1056
+ text-decoration: none;
1057
+ border-radius: var(--mba-radius-xs);
1058
+ cursor: pointer;
1059
+ transition: all 0.25s ease-in-out;
1060
+ user-select: none;
1061
+ white-space: nowrap;
1062
+
1063
+ background-color: var(--mba-color-white);
1064
+ color: var(--mba-color-primary-800);
1065
+ border: 1px solid var(--mba-color-primary-800);
1066
+ }
1067
+
1068
+ .mba-btn-secondary:hover:not(:disabled):not(.is-disabled) {
1069
+ background-color: var(--mba-color-primary-500);
1070
+ color: var(--mba-color-white);
1071
+ border-color: var(--mba-color-primary-500);
1072
+ }
1073
+
1074
+ .mba-btn-secondary:focus {
1075
+ outline: none;
1076
+ box-shadow: var(--mba-focus-ring);
1077
+ }
1078
+
1079
+ .mba-btn-secondary:disabled,
1080
+ .mba-btn-secondary.is-disabled {
1081
+ background-color: var(--mba-color-grey-100);
1082
+ color: var(--mba-color-grey-400);
1083
+ border-color: var(--mba-color-grey-100);
1084
+ cursor: not-allowed;
1085
+ pointer-events: none;
1086
+ }
1087
+
1088
+ /* ===========================================
1089
+ SMALL BUTTON
1090
+ padding: 4px 8px, gap: 8px
1091
+ =========================================== */
1092
+
1093
+ .mba-btn-sm {
1094
+ height: auto;
1095
+ padding: var(--mba-space-xxs) var(--mba-space-xs);
1096
+ gap: var(--mba-space-xs);
1097
+ font-size: var(--mba-font-size-xxs);
1098
+ }
1099
+
1100
+ /* ===========================================
1101
+ ICON BUTTON
1102
+ =========================================== */
1103
+
1104
+ .mba-btn-icon {
1105
+ display: inline-flex;
1106
+ align-items: center;
1107
+ justify-content: center;
1108
+ }
1109
+
1110
+ .mba-btn-icon i,
1111
+ .mba-btn-icon svg {
1112
+ font-size: 1rem;
1113
+ width: 1rem;
1114
+ height: 1rem;
1115
+ }
1116
+
1117
+ /* Arrow forward icon alignment */
1118
+
1119
+ .mba-btn .arrow-forward,
1120
+ .mba-btn-secondary .arrow-forward {
1121
+ vertical-align: middle;
1122
+ }
1123
+
1124
+ /* ===========================================
1125
+ MODIFIERS
1126
+ =========================================== */
1127
+
1128
+ /* Full width */
1129
+
1130
+ .mba-btn-block {
1131
+ display: block;
1132
+ width: 100%;
1133
+ text-align: center;
1134
+ }
1135
+
1136
+ /* ===========================================
1137
+ RESPONSIVE (full width on mobile)
1138
+ =========================================== */
1139
+
1140
+ @media (max-width: 767px) {
1141
+ .mba-btn,
1142
+ .mba-btn-secondary {
1143
+ display: flex;
1144
+ width: 100%;
1145
+ max-width: 100%;
1146
+ }
1147
+ }
1148
+
1149
+ /**
1150
+ * MBA Design System - Cards
1151
+ *
1152
+ * Classes: .mba-card, .mba-card--sm, .mba-card-grid
1153
+ * Source: Design System Figma
1154
+ */
1155
+
1156
+ /* ===========================================
1157
+ BASE CARD (Large / Default)
1158
+ padding: 24px (MD), border-radius: 16px (SM)
1159
+ =========================================== */
1160
+
1161
+ .mba-card {
1162
+ display: flex;
1163
+ flex-direction: column;
1164
+ padding: var(--mba-space-md);
1165
+ border-radius: var(--mba-radius-sm);
1166
+ background-color: var(--mba-color-beige);
1167
+ border: 2px solid transparent;
1168
+ transition: border-color 0.25s ease-in-out;
1169
+ cursor: pointer;
1170
+ }
1171
+
1172
+ .mba-card:hover {
1173
+ border-color: var(--mba-color-primary-500);
1174
+ }
1175
+
1176
+ /* ===========================================
1177
+ SMALL CARD
1178
+ =========================================== */
1179
+
1180
+ .mba-card--sm {
1181
+ padding: var(--mba-space-sm);
1182
+ }
1183
+
1184
+ /* ===========================================
1185
+ CARD PARTS
1186
+ =========================================== */
1187
+
1188
+ .mba-card__header {
1189
+ display: flex;
1190
+ justify-content: space-between;
1191
+ align-items: center;
1192
+ gap: var(--mba-space-sm);
1193
+ }
1194
+
1195
+ .mba-card__content {
1196
+ flex: 1;
1197
+ }
1198
+
1199
+ .mba-card__title {
1200
+ font-family: var(--mba-font-family-text);
1201
+ font-size: var(--mba-font-size-sm);
1202
+ font-weight: var(--mba-font-weight-bold);
1203
+ color: var(--mba-color-primary-800);
1204
+ margin: 0 0 var(--mba-space-xs);
1205
+ }
1206
+
1207
+ .mba-card__text {
1208
+ font-family: var(--mba-font-family-text);
1209
+ font-size: var(--mba-font-size-xs);
1210
+ font-weight: var(--mba-font-weight-regular);
1211
+ color: var(--mba-color-text);
1212
+ line-height: var(--mba-leading-snug);
1213
+ margin: 0;
1214
+ }
1215
+
1216
+ .mba-card__icon {
1217
+ flex-shrink: 0;
1218
+ color: var(--mba-color-primary-500);
1219
+ font-size: 24px;
1220
+ transition: transform 0.2s ease;
1221
+ }
1222
+
1223
+ .mba-card__icon svg {
1224
+ width: 24px;
1225
+ height: 24px;
1226
+ }
1227
+
1228
+ .mba-card:hover .mba-card__icon {
1229
+ transform: translateX(4px);
1230
+ }
1231
+
1232
+ /* ===========================================
1233
+ CARD GRID
1234
+ =========================================== */
1235
+
1236
+ .mba-card-grid {
1237
+ display: grid;
1238
+ gap: var(--mba-space-md);
1239
+ grid-template-columns: 1fr;
1240
+ width: 100%;
1241
+ }
1242
+
1243
+ @media (min-width: 600px) {
1244
+ .mba-card-grid {
1245
+ grid-template-columns: repeat(2, 1fr);
1246
+ }
1247
+ }
1248
+
1249
+ @media (min-width: 900px) {
1250
+ .mba-card-grid {
1251
+ grid-template-columns: repeat(3, 1fr);
1252
+ }
1253
+ }
1254
+
1255
+ /* ===========================================
1256
+ CARD VARIANTS
1257
+ =========================================== */
1258
+
1259
+ /* White background */
1260
+
1261
+ .mba-card--white {
1262
+ background-color: var(--mba-color-white);
1263
+ }
1264
+
1265
+ /* Non-interactive (no hover) */
1266
+
1267
+ .mba-card--static {
1268
+ cursor: default;
1269
+ }
1270
+
1271
+ .mba-card--static:hover {
1272
+ border-color: transparent;
1273
+ }
1274
+
1275
+ /* ===========================================
1276
+ CAROUSEL CARD (Testimonial)
1277
+ Bordure gradient sunset
1278
+ =========================================== */
1279
+
1280
+ .mba-carousel-card {
1281
+ position: relative;
1282
+ display: flex;
1283
+ flex-direction: column;
1284
+ padding: var(--mba-space-md);
1285
+ background-color: var(--mba-color-white);
1286
+ border-radius: 24px 24px 8px 24px;
1287
+ width: 453px;
1288
+ height: 278px;
1289
+ box-sizing: border-box;
1290
+ }
1291
+
1292
+ .mba-carousel-card::before {
1293
+ content: "";
1294
+ position: absolute;
1295
+ inset: 0;
1296
+ padding: 1px;
1297
+ background: var(--mba-gradient-sunset);
1298
+ border-radius: 24px 24px 8px 24px;
1299
+ mask:
1300
+ linear-gradient(#fff 0 0) content-box,
1301
+ linear-gradient(#fff 0 0);
1302
+ mask-composite: exclude;
1303
+ -webkit-mask-composite: xor;
1304
+ pointer-events: none;
1305
+ }
1306
+
1307
+ .mba-carousel-card__title {
1308
+ font-family: var(--mba-font-family-text);
1309
+ font-size: var(--mba-font-size-sm);
1310
+ font-weight: var(--mba-font-weight-bold);
1311
+ color: var(--mba-color-primary-800);
1312
+ margin: 0;
1313
+ }
1314
+
1315
+ .mba-carousel-card__quote {
1316
+ flex: 1;
1317
+ margin-top: var(--mba-space-sm);
1318
+ font-family: var(--mba-font-family-text);
1319
+ font-size: var(--mba-font-size-xs);
1320
+ font-weight: var(--mba-font-weight-regular);
1321
+ color: var(--mba-color-primary-800);
1322
+ }
1323
+
1324
+ .mba-carousel-card__author {
1325
+ font-family: var(--mba-font-family-text);
1326
+ font-size: var(--mba-font-size-xxs);
1327
+ font-weight: var(--mba-font-weight-bold);
1328
+ color: var(--mba-color-primary-500);
1329
+ margin: 0;
1330
+ }
1331
+
1332
+ @media (max-width: 767px) {
1333
+ .mba-carousel-card {
1334
+ width: 286px;
1335
+ height: 360px;
1336
+ }
1337
+ }
1338
+
1339
+ /* ===========================================
1340
+ STATS CARD
1341
+ Bordure gradient sunset
1342
+ =========================================== */
1343
+
1344
+ .mba-stats-card {
1345
+ position: relative;
1346
+ padding: var(--mba-space-md);
1347
+ background-color: var(--mba-color-white);
1348
+ border-radius: var(--mba-radius-md);
1349
+ box-shadow: var(--mba-shadow-xs);
1350
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
1351
+ }
1352
+
1353
+ .mba-stats-card::before {
1354
+ content: "";
1355
+ position: absolute;
1356
+ inset: 0;
1357
+ padding: 1px;
1358
+ background: var(--mba-gradient-sunset);
1359
+ border-radius: var(--mba-radius-md);
1360
+ mask:
1361
+ linear-gradient(#fff 0 0) content-box,
1362
+ linear-gradient(#fff 0 0);
1363
+ mask-composite: exclude;
1364
+ -webkit-mask-composite: xor;
1365
+ pointer-events: none;
1366
+ }
1367
+
1368
+ .mba-stats-card:hover {
1369
+ transform: translateY(-4px);
1370
+ box-shadow: var(--mba-shadow-sm);
1371
+ }
1372
+
1373
+ .mba-stats-card__value {
1374
+ font-family: var(--mba-font-family-text);
1375
+ font-size: var(--mba-font-size-xxl);
1376
+ font-weight: var(--mba-font-weight-extrabold);
1377
+ color: var(--mba-color-primary-500);
1378
+ line-height: 1;
1379
+ margin: 0;
1380
+ }
1381
+
1382
+ .mba-stats-card__title {
1383
+ font-family: var(--mba-font-family-text);
1384
+ font-size: var(--mba-font-size-xs);
1385
+ font-weight: var(--mba-font-weight-bold);
1386
+ margin-top: var(--mba-space-sm);
1387
+ margin-bottom: 0;
1388
+ color: var(--mba-color-text);
1389
+ }
1390
+
1391
+ .mba-stats-card__description {
1392
+ font-family: var(--mba-font-family-text);
1393
+ font-size: var(--mba-font-size-xs);
1394
+ font-weight: var(--mba-font-weight-regular);
1395
+ color: var(--mba-color-text);
1396
+ margin: 0;
1397
+ }
1398
+
1399
+ /* ===========================================
1400
+ STATS GRID
1401
+ =========================================== */
1402
+
1403
+ .mba-stats-grid {
1404
+ display: grid;
1405
+ grid-template-columns: repeat(3, 1fr);
1406
+ gap: var(--mba-space-lg);
1407
+ width: 100%;
1408
+ }
1409
+
1410
+ @media (max-width: 900px) {
1411
+ .mba-stats-grid {
1412
+ grid-template-columns: repeat(2, 1fr);
1413
+ }
1414
+ }
1415
+
1416
+ @media (max-width: 600px) {
1417
+ .mba-stats-grid {
1418
+ grid-template-columns: 1fr;
1419
+ }
1420
+ }
1421
+
1422
+ /**
1423
+ * MBA Design System - Arrow Buttons
1424
+ *
1425
+ * Boutons circulaires de navigation (carousels, sliders)
1426
+ *
1427
+ * Specs Figma:
1428
+ * - padding: 4px (XXS)
1429
+ * - border-radius: 64px (XXL) → cercle
1430
+ * - background: Primary-500
1431
+ * - disabled: Grey-300
1432
+ */
1433
+
1434
+ .mba-arrow {
1435
+ display: inline-flex;
1436
+ align-items: center;
1437
+ justify-content: center;
1438
+ padding: var(--mba-space-xxs);
1439
+ border-radius: var(--mba-radius-xxl);
1440
+ background-color: var(--mba-color-primary-500);
1441
+ color: var(--mba-color-white);
1442
+ border: none;
1443
+ cursor: pointer;
1444
+ transition: background-color 0.2s ease;
1445
+ }
1446
+
1447
+ .mba-arrow:hover {
1448
+ background-color: var(--mba-color-primary-800);
1449
+ }
1450
+
1451
+ .mba-arrow:focus-visible {
1452
+ outline: none;
1453
+ box-shadow: var(--mba-focus-ring);
1454
+ }
1455
+
1456
+ /* Disabled state */
1457
+
1458
+ .mba-arrow:disabled,
1459
+ .mba-arrow.is-disabled {
1460
+ background-color: var(--mba-color-grey-300);
1461
+ cursor: not-allowed;
1462
+ }
1463
+
1464
+ .mba-arrow:disabled:hover,
1465
+ .mba-arrow.is-disabled:hover {
1466
+ background-color: var(--mba-color-grey-300);
1467
+ }
1468
+
1469
+ /* Icon sizing */
1470
+
1471
+ .mba-arrow .material-symbols-rounded {
1472
+ font-size: 24px;
1473
+ }
1474
+
1475
+ /* @import "./_forms.css"; */
1476
+
1477
+ /* @import "./_alerts.css"; */
1478
+
1479
+ /* @import "./_accordion.css"; */
1480
+
1481
+ /* @import "./_carousel.css"; */
1482
+
1483
+ /* @import "./_navigation.css"; */
1484
+
1485
+ /**
1486
+ * MBA Design System - Utilities
1487
+ *
1488
+ * Classes utilitaires complémentaires à Tailwind
1489
+ */
1490
+
1491
+ /* ===========================================
1492
+ FONT SIZE UTILITIES (MBA custom scale)
1493
+ Tailwind génère xs, sm, base, lg, xl, 2xl...
1494
+ On ajoute nos tailles custom : xxs, md, xxl
1495
+ =========================================== */
1496
+
1497
+ .text-xxs {
1498
+ font-size: var(--mba-font-size-xxs);
1499
+ }
1500
+
1501
+ .text-md {
1502
+ font-size: var(--mba-font-size-md);
1503
+ }
1504
+
1505
+ .text-xxl {
1506
+ font-size: var(--mba-font-size-xxl);
1507
+ }
1508
+
1509
+ /* ===========================================
1510
+ ACCESSIBILITY UTILITIES
1511
+ =========================================== */
1512
+
1513
+ /* Visually hidden (accessible) */
1514
+
1515
+ .mba-sr-only {
1516
+ position: absolute;
1517
+ width: 1px;
1518
+ height: 1px;
1519
+ padding: 0;
1520
+ margin: -1px;
1521
+ overflow: hidden;
1522
+ clip: rect(0, 0, 0, 0);
1523
+ white-space: nowrap;
1524
+ border-width: 0;
1525
+ }
1526
+
1527
+ /* Not visually hidden */
1528
+
1529
+ .mba-not-sr-only {
1530
+ position: static;
1531
+ width: auto;
1532
+ height: auto;
1533
+ padding: 0;
1534
+ margin: 0;
1535
+ overflow: visible;
1536
+ clip: auto;
1537
+ white-space: normal;
1538
+ }