@bi-digital/css 0.11.9 → 0.11.11

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.
Files changed (35) hide show
  1. package/dist/baseline.css +4 -2
  2. package/dist/components/alert.css +109 -111
  3. package/dist/components/avatar.css +45 -47
  4. package/dist/components/badge.css +88 -88
  5. package/dist/components/button.css +117 -117
  6. package/dist/components/card.css +268 -282
  7. package/dist/components/checkbox-subsection.css +15 -15
  8. package/dist/components/chip.css +146 -146
  9. package/dist/components/details.css +88 -92
  10. package/dist/components/dialog.css +99 -97
  11. package/dist/components/dropdown.css +23 -25
  12. package/dist/components/field.css +204 -202
  13. package/dist/components/fieldset.css +20 -22
  14. package/dist/components/filter-group.css +80 -80
  15. package/dist/components/footer.css +110 -124
  16. package/dist/components/icons.css +30 -30
  17. package/dist/components/input.css +184 -186
  18. package/dist/components/label.css +17 -17
  19. package/dist/components/link.css +47 -47
  20. package/dist/components/logo.css +32 -34
  21. package/dist/components/navbar.css +46 -45
  22. package/dist/components/pagination.css +29 -27
  23. package/dist/components/popover.css +40 -40
  24. package/dist/components/search.css +12 -8
  25. package/dist/components/skip-link.css +8 -10
  26. package/dist/components/spinner.css +22 -25
  27. package/dist/components/sticky-header.css +1 -3
  28. package/dist/components/sub-navbar.css +23 -25
  29. package/dist/components/tabs.css +109 -113
  30. package/dist/components/tooltip.css +30 -30
  31. package/dist/components/validation-message.css +9 -9
  32. package/dist/components.css +1997 -2033
  33. package/dist/index.css +4 -2
  34. package/dist/salesforce.css +1997 -2033
  35. package/package.json +2 -2
@@ -232,15 +232,13 @@
232
232
  --bic-alert-icon-size: var(--bi-icon-medium);
233
233
  --bic-alert-gap: var(--bi-scale-1x);
234
234
  --bic-alert-padding: var(--bi-scale-2x);
235
- }
236
235
 
237
- .bi-alert[data-dark="true"] {
238
- --bic-alert-background: var(--bi-primary-95);
239
- --bic-alert-border-color: var(--bi-primary-85);
240
- --bic-alert-color: var(--bi-primary-5);
241
- }
236
+ &[data-dark="true"] {
237
+ --bic-alert-background: var(--bi-primary-95);
238
+ --bic-alert-border-color: var(--bi-primary-85);
239
+ --bic-alert-color: var(--bi-primary-5);
240
+ }
242
241
 
243
- .bi-alert {
244
242
  background: var(--bic-alert-background);
245
243
  color: var(--bic-alert-color);
246
244
  border: var(--bic-alert-border-width) solid var(--bic-alert-border-color);
@@ -251,111 +249,111 @@
251
249
  width: fit-content;
252
250
  display: grid;
253
251
  position: relative;
254
- }
255
252
 
256
- .bi-alert > svg {
257
- font-size: var(--bic-alert-icon-size);
258
- }
253
+ & > svg {
254
+ font-size: var(--bic-alert-icon-size);
255
+ }
259
256
 
260
- .bi-alert:has( > svg:first-child) {
261
- grid-template-columns: auto 1fr;
262
- }
257
+ &:has( > svg:first-child) {
258
+ grid-template-columns: auto 1fr;
259
+ }
263
260
 
264
- .bi-alert:has( > .bi-button:last-child) {
265
- grid-template-columns: 1fr auto;
266
- }
261
+ &:has( > .bi-button:last-child) {
262
+ grid-template-columns: 1fr auto;
267
263
 
268
- .bi-alert:has( > .bi-button:last-child):has( > svg:first-child) {
269
- grid-template-columns: auto 1fr auto;
270
- }
264
+ &:has( > svg:first-child) {
265
+ grid-template-columns: auto 1fr auto;
266
+ }
267
+ }
271
268
 
272
- .bi-alert > .bi-button {
273
- margin: calc(var(--bic-alert-padding) * -1);
274
- grid-area: 1 / 3;
275
- margin-left: 0;
276
- }
269
+ & > .bi-button {
270
+ margin: calc(var(--bic-alert-padding) * -1);
271
+ grid-area: 1 / 3;
272
+ margin-left: 0;
273
+ }
277
274
 
278
- .bi-alert[data-size="small"] {
279
- --bic-alert-icon-size: var(--bi-icon-small);
280
- --bic-alert-padding: var(--bi-scale-1x);
281
- --bic-alert-gap: var(--bi-scale-1x);
282
- }
275
+ &[data-size="small"] {
276
+ --bic-alert-icon-size: var(--bi-icon-small);
277
+ --bic-alert-padding: var(--bi-scale-1x);
278
+ --bic-alert-gap: var(--bi-scale-1x);
279
+ }
283
280
 
284
- .bi-alert[data-size="large"] {
285
- --bic-alert-padding: var(--bi-scale-3x);
286
- --bic-alert-gap: var(--bi-scale-2x);
287
- }
281
+ &[data-size="large"] {
282
+ --bic-alert-padding: var(--bi-scale-3x);
283
+ --bic-alert-gap: var(--bi-scale-2x);
284
+ }
288
285
 
289
- .bi-alert[data-variant="success"] {
290
- --bic-alert-background: var(--bi-success-5);
291
- --bic-alert-border-color: var(--bi-success-10);
292
- --bic-alert-color: var(--bi-success-90);
293
- }
286
+ &[data-variant="success"] {
287
+ --bic-alert-background: var(--bi-success-5);
288
+ --bic-alert-border-color: var(--bi-success-10);
289
+ --bic-alert-color: var(--bi-success-90);
294
290
 
295
- .bi-alert[data-variant="success"][data-dark="true"] {
296
- --bic-alert-background: var(--bi-success-95);
297
- --bic-alert-border-color: var(--bi-success-85);
298
- --bic-alert-color: var(--bi-success-5);
299
- }
291
+ &[data-dark="true"] {
292
+ --bic-alert-background: var(--bi-success-95);
293
+ --bic-alert-border-color: var(--bi-success-85);
294
+ --bic-alert-color: var(--bi-success-5);
295
+ }
296
+ }
300
297
 
301
- .bi-alert[data-variant="alert"] {
302
- --bic-alert-background: var(--bi-alert-10);
303
- --bic-alert-border-color: var(--bi-alert-15);
304
- --bic-alert-color: var(--bi-alert-90);
305
- }
298
+ &[data-variant="alert"] {
299
+ --bic-alert-background: var(--bi-alert-10);
300
+ --bic-alert-border-color: var(--bi-alert-15);
301
+ --bic-alert-color: var(--bi-alert-90);
306
302
 
307
- .bi-alert[data-variant="alert"][data-dark="true"] {
308
- --bic-alert-background: var(--bi-alert-95);
309
- --bic-alert-border-color: var(--bi-alert-85);
310
- --bic-alert-color: var(--bi-alert-5);
311
- }
303
+ &[data-dark="true"] {
304
+ --bic-alert-background: var(--bi-alert-95);
305
+ --bic-alert-border-color: var(--bi-alert-85);
306
+ --bic-alert-color: var(--bi-alert-5);
307
+ }
308
+ }
312
309
 
313
- .bi-alert[data-variant="warning"] {
314
- --bic-alert-background: var(--bi-warning-10);
315
- --bic-alert-border-color: var(--bi-warning-15);
316
- --bic-alert-color: var(--bi-warning-90);
317
- }
310
+ &[data-variant="warning"] {
311
+ --bic-alert-background: var(--bi-warning-10);
312
+ --bic-alert-border-color: var(--bi-warning-15);
313
+ --bic-alert-color: var(--bi-warning-90);
318
314
 
319
- .bi-alert[data-variant="warning"][data-dark="true"] {
320
- --bic-alert-background: var(--bi-warning-95);
321
- --bic-alert-border-color: var(--bi-warning-85);
322
- --bic-alert-color: var(--bi-warning-5);
323
- }
315
+ &[data-dark="true"] {
316
+ --bic-alert-background: var(--bi-warning-95);
317
+ --bic-alert-border-color: var(--bi-warning-85);
318
+ --bic-alert-color: var(--bi-warning-5);
319
+ }
320
+ }
324
321
 
325
- .bi-alert[data-variant="info"] {
326
- --bic-alert-background: var(--bi-info-5);
327
- --bic-alert-border-color: var(--bi-info-10);
328
- --bic-alert-color: var(--bi-info-90);
329
- }
322
+ &[data-variant="info"] {
323
+ --bic-alert-background: var(--bi-info-5);
324
+ --bic-alert-border-color: var(--bi-info-10);
325
+ --bic-alert-color: var(--bi-info-90);
330
326
 
331
- .bi-alert[data-variant="info"][data-dark="true"] {
332
- --bic-alert-background: var(--bi-info-90);
333
- --bic-alert-border-color: var(--bi-info-80);
334
- --bic-alert-color: var(--bi-info-10);
335
- }
327
+ &[data-dark="true"] {
328
+ --bic-alert-background: var(--bi-info-90);
329
+ --bic-alert-border-color: var(--bi-info-80);
330
+ --bic-alert-color: var(--bi-info-10);
331
+ }
332
+ }
336
333
 
337
- .bi-alert[data-variant="neutral"] {
338
- --bic-alert-background: var(--bi-neutral-10);
339
- --bic-alert-border-color: var(--bi-neutral-15);
340
- --bic-alert-color: var(--bi-neutral-95);
341
- }
334
+ &[data-variant="neutral"] {
335
+ --bic-alert-background: var(--bi-neutral-10);
336
+ --bic-alert-border-color: var(--bi-neutral-15);
337
+ --bic-alert-color: var(--bi-neutral-95);
342
338
 
343
- .bi-alert[data-variant="neutral"][data-dark="true"] {
344
- --bic-alert-background: var(--bi-neutral-90);
345
- --bic-alert-border-color: var(--bi-neutral-90);
346
- --bic-alert-color: var(--bi-neutral-30);
347
- }
339
+ &[data-dark="true"] {
340
+ --bic-alert-background: var(--bi-neutral-90);
341
+ --bic-alert-border-color: var(--bi-neutral-90);
342
+ --bic-alert-color: var(--bi-neutral-30);
343
+ }
344
+ }
348
345
 
349
- .bi-alert:has( > .bi-alert--footer) {
350
- width: 100%;
351
- }
346
+ &:has( > .bi-alert--footer) {
347
+ width: 100%;
348
+ }
352
349
 
353
- .bi-alert .bi-alert--footer {
354
- justify-content: flex-end;
355
- align-items: center;
356
- gap: var(--bic-alert-gap);
357
- grid-column: 1 / -1;
358
- display: flex;
350
+ & .bi-alert--footer {
351
+ justify-content: flex-end;
352
+ align-items: center;
353
+ gap: var(--bic-alert-gap);
354
+ grid-column: 1 / -1;
355
+ display: flex;
356
+ }
359
357
  }
360
358
 
361
359
  .bi-avatar {
@@ -363,14 +361,12 @@
363
361
  --bic-avatar-color: var(--bi-primary-90);
364
362
  --bic-avatar-size: var(--bi-scale-24x);
365
363
  --bic-avatar-font-size: 1.75rem;
366
- }
367
364
 
368
- .bi-avatar[data-dark="true"] {
369
- --bic-avatar-background-color: var(--bi-primary-85);
370
- --bic-avatar-color: var(--bi-primary-10);
371
- }
365
+ &[data-dark="true"] {
366
+ --bic-avatar-background-color: var(--bi-primary-85);
367
+ --bic-avatar-color: var(--bi-primary-10);
368
+ }
372
369
 
373
- .bi-avatar {
374
370
  border-radius: var(--bi-radius-full);
375
371
  background-color: var(--bic-avatar-background-color);
376
372
  color: var(--bic-avatar-color);
@@ -390,57 +386,57 @@
390
386
  text-decoration: none;
391
387
  display: flex;
392
388
  overflow: hidden;
393
- }
394
389
 
395
- .bi-avatar[data-color="info"] {
396
- --bic-avatar-background-color: var(--bi-info-10);
397
- --bic-avatar-color: var(--bi-info-90);
398
- }
390
+ &[data-color="info"] {
391
+ --bic-avatar-background-color: var(--bi-info-10);
392
+ --bic-avatar-color: var(--bi-info-90);
399
393
 
400
- .bi-avatar[data-color="info"][data-dark="true"] {
401
- --bic-avatar-background-color: var(--bi-info-85);
402
- --bic-avatar-color: var(--bi-info-10);
403
- }
394
+ &[data-dark="true"] {
395
+ --bic-avatar-background-color: var(--bi-info-85);
396
+ --bic-avatar-color: var(--bi-info-10);
397
+ }
398
+ }
404
399
 
405
- .bi-avatar[data-color="warning"] {
406
- --bic-avatar-background-color: var(--bi-warning-10);
407
- --bic-avatar-color: var(--bi-warning-90);
408
- }
400
+ &[data-color="warning"] {
401
+ --bic-avatar-background-color: var(--bi-warning-10);
402
+ --bic-avatar-color: var(--bi-warning-90);
409
403
 
410
- .bi-avatar[data-color="warning"][data-dark="true"] {
411
- --bic-avatar-background-color: var(--bi-warning-85);
412
- --bic-avatar-color: var(--bi-warning-10);
413
- }
404
+ &[data-dark="true"] {
405
+ --bic-avatar-background-color: var(--bi-warning-85);
406
+ --bic-avatar-color: var(--bi-warning-10);
407
+ }
408
+ }
414
409
 
415
- .bi-avatar[data-color="success"] {
416
- --bic-avatar-background-color: var(--bi-success-10);
417
- --bic-avatar-color: var(--bi-success-90);
418
- }
410
+ &[data-color="success"] {
411
+ --bic-avatar-background-color: var(--bi-success-10);
412
+ --bic-avatar-color: var(--bi-success-90);
419
413
 
420
- .bi-avatar[data-color="success"][data-dark="true"] {
421
- --bic-avatar-background-color: var(--bi-success-85);
422
- --bic-avatar-color: var(--bi-success-10);
423
- }
414
+ &[data-dark="true"] {
415
+ --bic-avatar-background-color: var(--bi-success-85);
416
+ --bic-avatar-color: var(--bi-success-10);
417
+ }
418
+ }
424
419
 
425
- .bi-avatar[data-color="alert"] {
426
- --bic-avatar-background-color: var(--bi-alert-10);
427
- --bic-avatar-color: var(--bi-alert-90);
428
- }
420
+ &[data-color="alert"] {
421
+ --bic-avatar-background-color: var(--bi-alert-10);
422
+ --bic-avatar-color: var(--bi-alert-90);
429
423
 
430
- .bi-avatar[data-color="alert"][data-dark="true"] {
431
- --bic-avatar-background-color: var(--bi-alert-85);
432
- --bic-avatar-color: var(--bi-alert-10);
433
- }
424
+ &[data-dark="true"] {
425
+ --bic-avatar-background-color: var(--bi-alert-85);
426
+ --bic-avatar-color: var(--bi-alert-10);
427
+ }
428
+ }
434
429
 
435
- .bi-avatar[data-size="small"] {
436
- --bic-avatar-size: var(--bi-scale-16x);
437
- --bic-avatar-font-size: 1.25rem;
438
- }
430
+ &[data-size="small"] {
431
+ --bic-avatar-size: var(--bi-scale-16x);
432
+ --bic-avatar-font-size: 1.25rem;
433
+ }
439
434
 
440
- .bi-avatar > img {
441
- object-fit: cover;
442
- width: 100%;
443
- height: 100%;
435
+ & > img {
436
+ object-fit: cover;
437
+ width: 100%;
438
+ height: 100%;
439
+ }
444
440
  }
445
441
 
446
442
  .bi-badge {
@@ -465,95 +461,95 @@
465
461
  justify-content: center;
466
462
  align-items: center;
467
463
  display: inline-flex;
468
- }
469
464
 
470
- .bi-badge[data-dark="true"] {
471
- --bic-badge-border-color: var(--bi-neutral-50);
472
- --bic-badge-color: var(--bi-neutral-10);
473
- }
465
+ &[data-dark="true"] {
466
+ --bic-badge-border-color: var(--bi-neutral-50);
467
+ --bic-badge-color: var(--bi-neutral-10);
468
+ }
474
469
 
475
- .bi-badge[data-single-letter="true"]:not([data-size="xs"]) {
476
- --bic-badge-border-radius: var(--bi-radius-full);
477
- min-width: var(--bic-badge-height);
478
- }
470
+ &[data-single-letter="true"]:not([data-size="xs"]) {
471
+ --bic-badge-border-radius: var(--bi-radius-full);
472
+ min-width: var(--bic-badge-height);
473
+ }
479
474
 
480
- .bi-badge[data-size="xs"] {
481
- --bic-badge-padding: 0 var(--bi-scale-0-50x);
482
- --bic-badge-font: var(--bi-font-body-xs);
483
- --bic-badge-border-radius: var(--bi-radius-small);
484
- --bic-badge-height: var(--bi-scale-4x);
485
- }
475
+ &[data-size="xs"] {
476
+ --bic-badge-padding: 0 var(--bi-scale-0-50x);
477
+ --bic-badge-font: var(--bi-font-body-xs);
478
+ --bic-badge-border-radius: var(--bi-radius-small);
479
+ --bic-badge-height: var(--bi-scale-4x);
480
+ }
486
481
 
487
- .bi-badge[data-size="small"] {
488
- --bic-badge-padding: 0 var(--bi-scale-1x);
489
- --bic-badge-font: var(--bi-font-body-xs);
490
- --bic-badge-height: var(--bi-scale-5x);
491
- }
482
+ &[data-size="small"] {
483
+ --bic-badge-padding: 0 var(--bi-scale-1x);
484
+ --bic-badge-font: var(--bi-font-body-xs);
485
+ --bic-badge-height: var(--bi-scale-5x);
486
+ }
492
487
 
493
- .bi-badge[data-color="warning"] {
494
- --bic-badge-background: var(--bi-secondary-10);
495
- --bic-badge-color: var(--bi-secondary-95);
496
- --bic-badge-border-color: var(--bic-badge-background);
497
- }
488
+ &[data-color="warning"] {
489
+ --bic-badge-background: var(--bi-secondary-10);
490
+ --bic-badge-color: var(--bi-secondary-95);
491
+ --bic-badge-border-color: var(--bic-badge-background);
498
492
 
499
- .bi-badge[data-color="warning"][data-dark="true"] {
500
- --bic-badge-background: var(--bi-secondary-100);
501
- --bic-badge-color: var(--bi-secondary-10);
502
- }
493
+ &[data-dark="true"] {
494
+ --bic-badge-background: var(--bi-secondary-100);
495
+ --bic-badge-color: var(--bi-secondary-10);
496
+ }
497
+ }
503
498
 
504
- .bi-badge[data-color="alert"] {
505
- --bic-badge-background: var(--bi-alert-10);
506
- --bic-badge-color: var(--bi-alert-85);
507
- --bic-badge-border-color: var(--bic-badge-background);
508
- }
499
+ &[data-color="alert"] {
500
+ --bic-badge-background: var(--bi-alert-10);
501
+ --bic-badge-color: var(--bi-alert-85);
502
+ --bic-badge-border-color: var(--bic-badge-background);
509
503
 
510
- .bi-badge[data-color="alert"][data-dark="true"] {
511
- --bic-badge-background: var(--bi-alert-100);
512
- --bic-badge-color: var(--bi-alert-10);
513
- }
504
+ &[data-dark="true"] {
505
+ --bic-badge-background: var(--bi-alert-100);
506
+ --bic-badge-color: var(--bi-alert-10);
507
+ }
508
+ }
514
509
 
515
- .bi-badge[data-color="success"] {
516
- --bic-badge-background: var(--bi-success-10);
517
- --bic-badge-color: var(--bi-success-95);
518
- --bic-badge-border-color: var(--bic-badge-background);
519
- }
510
+ &[data-color="success"] {
511
+ --bic-badge-background: var(--bi-success-10);
512
+ --bic-badge-color: var(--bi-success-95);
513
+ --bic-badge-border-color: var(--bic-badge-background);
520
514
 
521
- .bi-badge[data-color="success"][data-dark="true"] {
522
- --bic-badge-background: var(--bi-success-100);
523
- --bic-badge-color: var(--bi-success-10);
524
- }
515
+ &[data-dark="true"] {
516
+ --bic-badge-background: var(--bi-success-100);
517
+ --bic-badge-color: var(--bi-success-10);
518
+ }
519
+ }
525
520
 
526
- .bi-badge[data-color="brand"] {
527
- --bic-badge-background: var(--bi-primary-10);
528
- --bic-badge-color: var(--bi-primary-85);
529
- --bic-badge-border-color: var(--bic-badge-background);
530
- }
521
+ &[data-color="brand"] {
522
+ --bic-badge-background: var(--bi-primary-10);
523
+ --bic-badge-color: var(--bi-primary-85);
524
+ --bic-badge-border-color: var(--bic-badge-background);
531
525
 
532
- .bi-badge[data-color="brand"][data-dark="true"] {
533
- --bic-badge-background: var(--bi-primary-100);
534
- --bic-badge-color: var(--bi-primary-10);
535
- }
526
+ &[data-dark="true"] {
527
+ --bic-badge-background: var(--bi-primary-100);
528
+ --bic-badge-color: var(--bi-primary-10);
529
+ }
530
+ }
536
531
 
537
- .bi-badge[data-color="info"] {
538
- --bic-badge-background: var(--bi-info-10);
539
- --bic-badge-color: var(--bi-info-9);
540
- --bic-badge-border-color: var(--bic-badge-background);
541
- }
532
+ &[data-color="info"] {
533
+ --bic-badge-background: var(--bi-info-10);
534
+ --bic-badge-color: var(--bi-info-9);
535
+ --bic-badge-border-color: var(--bic-badge-background);
542
536
 
543
- .bi-badge[data-color="info"][data-dark="true"] {
544
- --bic-badge-background: var(--bi-info-100);
545
- --bic-badge-color: var(--bi-info-10);
546
- }
537
+ &[data-dark="true"] {
538
+ --bic-badge-background: var(--bi-info-100);
539
+ --bic-badge-color: var(--bi-info-10);
540
+ }
541
+ }
547
542
 
548
- .bi-badge[data-color="negative"] {
549
- --bic-badge-background: var(--bi-neutral-90);
550
- --bic-badge-color: var(--bi-basic-white);
551
- --bic-badge-border-color: var(--bic-badge-background);
552
- }
543
+ &[data-color="negative"] {
544
+ --bic-badge-background: var(--bi-neutral-90);
545
+ --bic-badge-color: var(--bi-basic-white);
546
+ --bic-badge-border-color: var(--bic-badge-background);
553
547
 
554
- .bi-badge[data-color="negative"][data-dark="true"] {
555
- --bic-badge-background: var(--bi-neutral-100);
556
- --bic-badge-color: var(--bi-neutral-10);
548
+ &[data-dark="true"] {
549
+ --bic-badge-background: var(--bi-neutral-100);
550
+ --bic-badge-color: var(--bi-neutral-10);
551
+ }
552
+ }
557
553
  }
558
554
 
559
555
  .bi-button {
@@ -598,156 +594,156 @@
598
594
  display: flex;
599
595
  position: relative;
600
596
  overflow: hidden;
601
- }
602
597
 
603
- .bi-button[data-dark="true"] {
604
- --bic-button-active-color: var(--bi-primary-30);
605
- --bic-button-focus-shadow-color: var(--bi-neutral-95);
606
- --bic-button-focus-outline-color: var(--bi-primary-30);
607
- }
598
+ &[data-dark="true"] {
599
+ --bic-button-active-color: var(--bi-primary-30);
600
+ --bic-button-focus-shadow-color: var(--bi-neutral-95);
601
+ --bic-button-focus-outline-color: var(--bi-primary-30);
602
+ }
608
603
 
609
- .bi-button[data-fullwidth="true"] {
610
- width: 100%;
611
- }
604
+ &[data-fullwidth="true"] {
605
+ width: 100%;
606
+ }
612
607
 
613
- .bi-button[data-active="true"], .bi-button[aria-expanded="true"] {
614
- box-shadow: 0px 0px 0px 1.5px var(--bic-button-active-color) inset;
615
- }
608
+ &[data-active="true"], &[aria-expanded="true"] {
609
+ box-shadow: 0px 0px 0px 1.5px var(--bic-button-active-color) inset;
610
+ }
616
611
 
617
- .bi-button:focus-visible {
618
- box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-button-focus-shadow-color), var(--bic-button-box-shadow));
619
- outline: var(--_bi--focus, 3px solid var(--bic-button-focus-outline-color));
620
- outline-offset: var(--_bi--focus, 2px);
621
- }
612
+ &:focus-visible {
613
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-button-focus-shadow-color), var(--bic-button-box-shadow));
614
+ outline: var(--_bi--focus, 3px solid var(--bic-button-focus-outline-color));
615
+ outline-offset: var(--_bi--focus, 2px);
622
616
 
623
- .bi-button:focus-visible * {
624
- --_bi--focus: ;
625
- }
617
+ & * {
618
+ --_bi--focus: ;
619
+ }
620
+ }
626
621
 
627
- .bi-button[data-size="small"] {
628
- --bic-button-font-size: .875rem;
629
- --bic-button-line-height: 1.25rem;
630
- --bic-button-padding-block: var(--bi-scale-1-5x);
631
- --bic-button-padding-inline: calc(var(--bi-scale-3x) + var(--bi-scale-0-50x));
632
- --bic-button-icon-size: var(--bi-icon-small);
633
- --bic-button-size: var(--bi-scale-8x);
634
- }
622
+ &[data-size="small"] {
623
+ --bic-button-font-size: .875rem;
624
+ --bic-button-line-height: 1.25rem;
625
+ --bic-button-padding-block: var(--bi-scale-1-5x);
626
+ --bic-button-padding-inline: calc(var(--bi-scale-3x) + var(--bi-scale-0-50x));
627
+ --bic-button-icon-size: var(--bi-icon-small);
628
+ --bic-button-size: var(--bi-scale-8x);
629
+ }
635
630
 
636
- .bi-button[data-size="large"] {
637
- --bic-button-padding-block: var(--bi-scale-2x);
638
- --bic-button-padding-inline: calc(var(--bi-scale-9x) + var(--bi-scale-0-50x));
639
- --bic-button-icon-size: var(--bi-icon-large);
640
- --bic-button-size: var(--bi-scale-14x);
641
- }
631
+ &[data-size="large"] {
632
+ --bic-button-padding-block: var(--bi-scale-2x);
633
+ --bic-button-padding-inline: calc(var(--bi-scale-9x) + var(--bi-scale-0-50x));
634
+ --bic-button-icon-size: var(--bi-icon-large);
635
+ --bic-button-size: var(--bi-scale-14x);
636
+ }
642
637
 
643
- .bi-button[data-icon] {
644
- width: var(--bic-button-size);
645
- height: var(--bic-button-size);
646
- --bic-button-font-size: var(--bic-button-icon-size);
647
- padding: 0;
648
- }
638
+ &[data-icon] {
639
+ width: var(--bic-button-size);
640
+ height: var(--bic-button-size);
641
+ --bic-button-font-size: var(--bic-button-icon-size);
642
+ padding: 0;
643
+ }
649
644
 
650
- .bi-button[data-skewed] {
651
- --_bic-button-skew-dist: calc(var(--bi-scale-1x) + (var(--bic-button-icon-size) * .25));
652
- --bic-button-padding-inline: var(--_bic-button-skew-dist);
653
- }
645
+ &[data-skewed] {
646
+ --_bic-button-skew-dist: calc(var(--bi-scale-1x) + (var(--bic-button-icon-size) * .25));
647
+ --bic-button-padding-inline: var(--_bic-button-skew-dist);
654
648
 
655
- .bi-button[data-skewed][data-skewed="start"] {
656
- margin-left: calc(var(--_bic-button-skew-dist) * -1);
657
- }
649
+ &[data-skewed="start"] {
650
+ margin-left: calc(var(--_bic-button-skew-dist) * -1);
658
651
 
659
- .bi-button[data-skewed][data-skewed="start"]:has(.bi-button--start-icon) {
660
- --bic-button-padding-inline: var(--bi-scale-0-50x) var(--bi-scale-2x);
661
- }
652
+ &:has(.bi-button--start-icon) {
653
+ --bic-button-padding-inline: var(--bi-scale-0-50x) var(--bi-scale-2x);
654
+ }
655
+ }
662
656
 
663
- .bi-button[data-skewed][data-skewed="end"] {
664
- margin-right: calc(var(--_bic-button-skew-dist) * -1);
665
- }
657
+ &[data-skewed="end"] {
658
+ margin-right: calc(var(--_bic-button-skew-dist) * -1);
666
659
 
667
- .bi-button[data-skewed][data-skewed="end"]:has(.bi-button--end-icon) {
668
- --bic-button-padding-inline: var(--bi-scale-2x) var(--bi-scale-0-50x);
669
- }
660
+ &:has(.bi-button--end-icon) {
661
+ --bic-button-padding-inline: var(--bi-scale-2x) var(--bi-scale-0-50x);
662
+ }
663
+ }
664
+ }
670
665
 
671
- .bi-button:not([data-variant]), .bi-button[data-variant="filled"] {
672
- --bic-button-color: var(--bi-basic-white);
673
- --bic-button-background: var(--bi-primary-50);
674
- --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-dark) 0%, var(--bi-states-hover-dark) 100%),
666
+ &:not([data-variant]), &[data-variant="filled"] {
667
+ --bic-button-color: var(--bi-basic-white);
668
+ --bic-button-background: var(--bi-primary-50);
669
+ --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-dark) 0%, var(--bi-states-hover-dark) 100%),
675
670
  var(--bic-button-background);
676
- --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-dark) 0%, var(--bi-states-press-dark) 100%),
671
+ --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-dark) 0%, var(--bi-states-press-dark) 100%),
677
672
  var(--bic-button-background);
678
- --bic-button-box-shadow: 0px 0px 0px 2px #ffffff1f inset, 0px 0px 0px 1px #0a0d122e inset,
673
+ --bic-button-box-shadow: 0px 0px 0px 2px #ffffff1f inset, 0px 0px 0px 1px #0a0d122e inset,
679
674
  0px -2px 0px 0px #0a0d120d inset, 0px 1px 2px 0px #0a0d120d;
680
- }
681
-
682
- .bi-button[data-variant="outlined"] {
683
- --bic-button-color: var(--bi-primary-50);
684
- --bic-button-box-shadow: 0px 0px 0px 1.5px var(--bi-primary-50) inset;
685
- --bic-button-background-hover: var(--bi-states-hover-dark);
686
- --bic-button-background-press: var(--bi-states-press-dark);
687
- }
675
+ }
688
676
 
689
- .bi-button[data-variant="outlined"][data-dark="true"] {
690
- --bic-button-color: var(--bi-basic-white);
691
- --bic-button-box-shadow: 0px 0px 0px 1.5px var(--bi-basic-white) inset;
692
- --bic-button-background-hover: var(--bi-states-hover-light);
693
- --bic-button-background-press: var(--bi-states-press-light);
694
- }
677
+ &[data-variant="outlined"] {
678
+ --bic-button-color: var(--bi-primary-50);
679
+ --bic-button-box-shadow: 0px 0px 0px 1.5px var(--bi-primary-50) inset;
680
+ --bic-button-background-hover: var(--bi-states-hover-dark);
681
+ --bic-button-background-press: var(--bi-states-press-dark);
682
+
683
+ &[data-dark="true"] {
684
+ --bic-button-color: var(--bi-basic-white);
685
+ --bic-button-box-shadow: 0px 0px 0px 1.5px var(--bi-basic-white) inset;
686
+ --bic-button-background-hover: var(--bi-states-hover-light);
687
+ --bic-button-background-press: var(--bi-states-press-light);
688
+ }
689
+ }
695
690
 
696
- .bi-button[data-variant="text"] {
697
- --bic-button-color: var(--bi-neutral-90);
698
- --bic-button-background-hover: var(--bi-states-hover-dark);
699
- --bic-button-background-press: var(--bi-states-press-dark);
700
- }
691
+ &[data-variant="text"] {
692
+ --bic-button-color: var(--bi-neutral-90);
693
+ --bic-button-background-hover: var(--bi-states-hover-dark);
694
+ --bic-button-background-press: var(--bi-states-press-dark);
701
695
 
702
- .bi-button[data-variant="text"][data-dark="true"] {
703
- --bic-button-color: var(--bi-basic-white);
704
- --bic-button-background-hover: var(--bi-states-hover-light);
705
- --bic-button-background-press: var(--bi-states-press-light);
706
- }
696
+ &[data-dark="true"] {
697
+ --bic-button-color: var(--bi-basic-white);
698
+ --bic-button-background-hover: var(--bi-states-hover-light);
699
+ --bic-button-background-press: var(--bi-states-press-light);
700
+ }
701
+ }
707
702
 
708
- .bi-button[data-variant="flat"] {
709
- --bic-button-color: var(--bi-primary-90);
710
- --bic-button-background: var(--bi-primary-5);
711
- --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-dark) 0%, var(--bi-states-hover-dark) 100%),
703
+ &[data-variant="flat"] {
704
+ --bic-button-color: var(--bi-primary-90);
705
+ --bic-button-background: var(--bi-primary-5);
706
+ --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-dark) 0%, var(--bi-states-hover-dark) 100%),
712
707
  var(--bic-button-background);
713
- --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-dark) 0%, var(--bi-states-press-dark) 100%),
708
+ --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-dark) 0%, var(--bi-states-press-dark) 100%),
714
709
  var(--bic-button-background);
715
- }
716
710
 
717
- .bi-button[data-variant="flat"][data-dark="true"] {
718
- --bic-button-color: var(--bi-basic-white);
719
- --bic-button-background: #ffffff1a;
720
- --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
711
+ &[data-dark="true"] {
712
+ --bic-button-color: var(--bi-basic-white);
713
+ --bic-button-background: #ffffff1a;
714
+ --bic-button-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
721
715
  var(--bic-button-background);
722
- --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
716
+ --bic-button-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
723
717
  var(--bic-button-background);
724
- }
718
+ }
719
+ }
725
720
 
726
- @media (hover: hover) and (pointer: fine) {
727
- .bi-button:where(:not(:disabled, [aria-disabled="true"], [aria-busy="true"])):hover {
728
- background: var(--bic-button-background-hover);
721
+ @media (hover: hover) and (pointer: fine) {
722
+ &:where(:not(:disabled, [aria-disabled="true"], [aria-busy="true"])):hover {
723
+ background: var(--bic-button-background-hover);
724
+ }
729
725
  }
730
- }
731
726
 
732
- .bi-button[aria-busy="true"] {
733
- cursor: progress;
734
- }
727
+ &[aria-busy="true"] {
728
+ cursor: progress;
729
+ }
735
730
 
736
- .bi-button:is(:disabled, [aria-disabled="true"]) {
737
- cursor: not-allowed;
738
- }
731
+ &:is(:disabled, [aria-disabled="true"]) {
732
+ cursor: not-allowed;
739
733
 
740
- .bi-button:is(:disabled, [aria-disabled="true"])[aria-busy="true"] {
741
- cursor: progress;
742
- }
734
+ &[aria-busy="true"] {
735
+ cursor: progress;
736
+ }
737
+ }
743
738
 
744
- .bi-button:where(:not(:disabled, [aria-disabled="true"], [aria-busy="true"])):active {
745
- background: var(--bic-button-background-press);
746
- }
739
+ &:where(:not(:disabled, [aria-disabled="true"], [aria-busy="true"])):active {
740
+ background: var(--bic-button-background-press);
741
+ }
747
742
 
748
- .bi-button .bi-button--start-icon, .bi-button .bi-button--end-icon {
749
- display: inherit;
750
- font-size: var(--bic-button-icon-size);
743
+ & .bi-button--start-icon, & .bi-button--end-icon {
744
+ display: inherit;
745
+ font-size: var(--bic-button-icon-size);
746
+ }
751
747
  }
752
748
 
753
749
  .bi-card {
@@ -778,30 +774,28 @@
778
774
  --bic-card-box-shadow-active-color: #0000000d;
779
775
  --bic-card-box-shadow-active-outer-border: 20px;
780
776
  --bic-card-box-shadow-active-inner-border: 10px;
781
- }
782
777
 
783
- .bi-card[data-dark="true"] {
784
- --bic-card-background-color: var(--bi-neutral-90);
785
- --bic-card-box-shadow: 0 0 0 var(--bi-stroke-thin) var(--bi-neutral-70);
786
- --bic-card-border-color: var(--bi-neutral-70);
787
- --bic-card-color: var(--bi-neutral-5);
788
- --bic-card-header-title-color: var(--bi-neutral-5);
789
- --bic-card-header-bold-color: var(--bi-primary-20);
790
- --bic-card-header-label-color: var(--bi-neutral-30);
791
- --bic-card-content-color: var(--bi-neutral-30);
792
- --bic-card-actions-background-color: var(--bi-neutral-75);
793
- --bic-card-actions-icon-color: var(--bi-neutral-10);
794
- --bic-card-border-hover-color: var(--bi-neutral-25);
795
- --bic-card-box-shadow-hover-color: #b2cdf40d;
796
- --bic-card-box-shadow-focus-color: var(--bi-primary-30);
797
- --bic-card-box-shadow-focus-background-color: var(--bi-neutral-95);
798
- --bic-card-box-shadow-focus-outer-border: 4.5px;
799
- --bic-card-box-shadow-focus-inner-border: 4px;
800
- --bic-card-border-active-color: var(--bi-primary-50);
801
- --bic-card-box-shadow-active-color: #b2cdf40d;
802
- }
778
+ &[data-dark="true"] {
779
+ --bic-card-background-color: var(--bi-neutral-90);
780
+ --bic-card-box-shadow: 0 0 0 var(--bi-stroke-thin) var(--bi-neutral-70);
781
+ --bic-card-border-color: var(--bi-neutral-70);
782
+ --bic-card-color: var(--bi-neutral-5);
783
+ --bic-card-header-title-color: var(--bi-neutral-5);
784
+ --bic-card-header-bold-color: var(--bi-primary-20);
785
+ --bic-card-header-label-color: var(--bi-neutral-30);
786
+ --bic-card-content-color: var(--bi-neutral-30);
787
+ --bic-card-actions-background-color: var(--bi-neutral-75);
788
+ --bic-card-actions-icon-color: var(--bi-neutral-10);
789
+ --bic-card-border-hover-color: var(--bi-neutral-25);
790
+ --bic-card-box-shadow-hover-color: #b2cdf40d;
791
+ --bic-card-box-shadow-focus-color: var(--bi-primary-30);
792
+ --bic-card-box-shadow-focus-background-color: var(--bi-neutral-95);
793
+ --bic-card-box-shadow-focus-outer-border: 4.5px;
794
+ --bic-card-box-shadow-focus-inner-border: 4px;
795
+ --bic-card-border-active-color: var(--bi-primary-50);
796
+ --bic-card-box-shadow-active-color: #b2cdf40d;
797
+ }
803
798
 
804
- .bi-card {
805
799
  width: 100%;
806
800
  box-shadow: var(--bic-card-box-shadow);
807
801
  border-radius: var(--bic-card-border-radius);
@@ -809,322 +803,310 @@
809
803
  color: var(--bic-card-color);
810
804
  flex-direction: row;
811
805
  display: flex;
812
- }
813
806
 
814
- .bi-card[data-orientation="horizontal"] > div:first-child {
815
- border-top-left-radius: var(--bic-card-border-radius);
816
- border-bottom-left-radius: var(--bic-card-border-radius);
817
- }
807
+ &[data-orientation="horizontal"] {
808
+ & > div:first-child {
809
+ border-top-left-radius: var(--bic-card-border-radius);
810
+ border-bottom-left-radius: var(--bic-card-border-radius);
811
+ }
818
812
 
819
- .bi-card[data-orientation="horizontal"] > div:last-child {
820
- border-top-right-radius: var(--bic-card-border-radius);
821
- border-bottom-right-radius: var(--bic-card-border-radius);
822
- }
813
+ & > div:last-child {
814
+ border-top-right-radius: var(--bic-card-border-radius);
815
+ border-bottom-right-radius: var(--bic-card-border-radius);
816
+ }
823
817
 
824
- .bi-card[data-orientation="horizontal"] {
825
- --bic-card-media-width: 15.75rem;
826
- }
818
+ --bic-card-media-width: 15.75rem;
827
819
 
828
- @media (width < 1024px) {
829
- .bi-card[data-orientation="horizontal"] {
830
- --bic-card-media-width: 14.5rem;
831
- }
832
- }
820
+ @media (width < 1024px) {
821
+ --bic-card-media-width: 14.5rem;
822
+ }
833
823
 
834
- @media (width < 600px) {
835
- .bi-card[data-orientation="horizontal"] {
836
- --bic-card-media-width: 8.4375rem;
824
+ @media (width < 600px) {
825
+ --bic-card-media-width: 8.4375rem;
826
+ }
837
827
  }
838
- }
839
-
840
- .bi-card[data-orientation="vertical"] {
841
- --bic-card-actions-flex-direction: row;
842
- --bic-card-content-lines: 4;
843
- --bic-card-media-date-width: 4rem;
844
- --bic-card-media-date-height: 3.5625rem;
845
- flex-direction: column;
846
- }
847
828
 
848
- .bi-card[data-orientation="vertical"] > div:first-child {
849
- border-top-left-radius: var(--bic-card-border-radius);
850
- border-top-right-radius: var(--bic-card-border-radius);
851
- }
829
+ &[data-orientation="vertical"] {
830
+ --bic-card-actions-flex-direction: row;
831
+ --bic-card-content-lines: 4;
832
+ --bic-card-media-date-width: 4rem;
833
+ --bic-card-media-date-height: 3.5625rem;
834
+ flex-direction: column;
852
835
 
853
- .bi-card[data-orientation="vertical"] > div:last-child {
854
- border-bottom-left-radius: var(--bic-card-border-radius);
855
- border-bottom-right-radius: var(--bic-card-border-radius);
856
- }
836
+ & > div:first-child {
837
+ border-top-left-radius: var(--bic-card-border-radius);
838
+ border-top-right-radius: var(--bic-card-border-radius);
839
+ }
857
840
 
858
- .bi-card[data-orientation="vertical"] .bi-card--actions {
859
- width: 100%;
860
- }
841
+ & > div:last-child {
842
+ border-bottom-left-radius: var(--bic-card-border-radius);
843
+ border-bottom-right-radius: var(--bic-card-border-radius);
844
+ }
861
845
 
862
- .bi-card[data-color="info"] {
863
- --bic-card-background-color: var(--bi-info-5);
864
- --bic-card-color: var(--bi-info-90);
865
- --bic-card-border-color: var(--bi-info-15);
866
- --bic-card-header-title-color: var(--bi-info-90);
867
- --bic-card-header-bold-color: var(--bi-info-90);
868
- --bic-card-header-label-color: var(--bi-info-90);
869
- }
846
+ & .bi-card--actions {
847
+ width: 100%;
848
+ }
849
+ }
870
850
 
871
- .bi-card[data-color="warning"] {
872
- --bic-card-background-color: var(--bi-warning-10);
873
- --bic-card-color: var(--bi-warning-90);
874
- --bic-card-border-color: var(--bi-warning-15);
875
- --bic-card-header-title-color: var(--bi-warning-90);
876
- --bic-card-header-bold-color: var(--bi-warning-90);
877
- --bic-card-header-label-color: var(--bi-warning-90);
878
- }
851
+ &[data-color="info"] {
852
+ --bic-card-background-color: var(--bi-info-5);
853
+ --bic-card-color: var(--bi-info-90);
854
+ --bic-card-border-color: var(--bi-info-15);
855
+ --bic-card-header-title-color: var(--bi-info-90);
856
+ --bic-card-header-bold-color: var(--bi-info-90);
857
+ --bic-card-header-label-color: var(--bi-info-90);
858
+ }
879
859
 
880
- .bi-card[data-color="primary"][data-dark="true"] {
881
- --bic-card-background-color: var(--bi-primary-90);
882
- --bic-card-box-shadow: 0 0 0 var(--bi-stroke-thin) var(--bi-primary-75);
883
- --bic-card-border-color: var(--bi-primary-75);
884
- --bic-card-color: var(--bi-neutral-5);
885
- --bic-card-header-title-color: var(--bi-neutral-5);
886
- --bic-card-header-bold-color: var(--bi-primary-20);
887
- --bic-card-header-label-color: var(--bi-neutral-30);
888
- --bic-card-content-color: var(--bi-neutral-30);
889
- --bic-card-actions-background-color: var(--bi-primary-85);
890
- --bic-card-actions-icon-color: var(--bi-primary-10);
891
- --bic-card-border-hover-color: var(--bi-primary-40);
892
- --bic-card-box-shadow-focus-color: var(--bi-neutral-15);
893
- --bic-card-box-shadow-focus-background-color: var(--bi-primary-30);
894
- --bic-card-border-active-color: var(--bi-primary-10);
895
- }
860
+ &[data-color="warning"] {
861
+ --bic-card-background-color: var(--bi-warning-10);
862
+ --bic-card-color: var(--bi-warning-90);
863
+ --bic-card-border-color: var(--bi-warning-15);
864
+ --bic-card-header-title-color: var(--bi-warning-90);
865
+ --bic-card-header-bold-color: var(--bi-warning-90);
866
+ --bic-card-header-label-color: var(--bi-warning-90);
867
+ }
896
868
 
897
- .bi-card[data-error="true"] {
898
- box-shadow: 0 0 0 var(--bi-stroke-thick) var(--bi-alert-50);
899
- --bic-card-border-color: transparent;
900
- }
869
+ &[data-color="primary"][data-dark="true"] {
870
+ --bic-card-background-color: var(--bi-primary-90);
871
+ --bic-card-box-shadow: 0 0 0 var(--bi-stroke-thin) var(--bi-primary-75);
872
+ --bic-card-border-color: var(--bi-primary-75);
873
+ --bic-card-color: var(--bi-neutral-5);
874
+ --bic-card-header-title-color: var(--bi-neutral-5);
875
+ --bic-card-header-bold-color: var(--bi-primary-20);
876
+ --bic-card-header-label-color: var(--bi-neutral-30);
877
+ --bic-card-content-color: var(--bi-neutral-30);
878
+ --bic-card-actions-background-color: var(--bi-primary-85);
879
+ --bic-card-actions-icon-color: var(--bi-primary-10);
880
+ --bic-card-border-hover-color: var(--bi-primary-40);
881
+ --bic-card-box-shadow-focus-color: var(--bi-neutral-15);
882
+ --bic-card-box-shadow-focus-background-color: var(--bi-primary-30);
883
+ --bic-card-border-active-color: var(--bi-primary-10);
884
+ }
901
885
 
902
- .bi-card .bi-card--content {
903
- padding: var(--bic-card-content-padding);
904
- gap: var(--bi-scale-4x);
905
- border-radius: inherit;
906
- background: none;
907
- border: none;
908
- flex-direction: column;
909
- flex: auto;
910
- display: flex;
911
- overflow: hidden;
912
- }
886
+ &[data-error="true"] {
887
+ box-shadow: 0 0 0 var(--bi-stroke-thick) var(--bi-alert-50);
888
+ --bic-card-border-color: transparent;
889
+ }
913
890
 
914
- .bi-card .bi-card--content > p {
915
- color: var(--bic-card-content-color);
916
- font: var(--bi-font-body-medium);
917
- white-space: break-spaces;
918
- text-overflow: ellipsis;
919
- -webkit-line-clamp: var(--bic-card-content-lines);
920
- line-clamp: var(--bic-card-content-lines);
921
- -webkit-box-orient: vertical;
922
- margin: 0;
923
- display: -webkit-box;
924
- overflow: hidden;
925
- }
891
+ & .bi-card--content {
892
+ padding: var(--bic-card-content-padding);
893
+ gap: var(--bi-scale-4x);
894
+ border-radius: inherit;
895
+ background: none;
896
+ border: none;
897
+ flex-direction: column;
898
+ flex: auto;
899
+ display: flex;
900
+ overflow: hidden;
901
+
902
+ & > p {
903
+ color: var(--bic-card-content-color);
904
+ font: var(--bi-font-body-medium);
905
+ white-space: break-spaces;
906
+ text-overflow: ellipsis;
907
+ -webkit-line-clamp: var(--bic-card-content-lines);
908
+ line-clamp: var(--bic-card-content-lines);
909
+ -webkit-box-orient: vertical;
910
+ margin: 0;
911
+ display: -webkit-box;
912
+ overflow: hidden;
913
+ }
926
914
 
927
- @media (width < 600px) {
928
- .bi-card .bi-card--content {
929
- --bic-card-content-padding: var(--bi-scale-3x);
930
- gap: var(--bi-scale-3x);
915
+ @media (width < 600px) {
916
+ --bic-card-content-padding: var(--bi-scale-3x);
917
+ gap: var(--bi-scale-3x);
918
+ }
931
919
  }
932
- }
933
920
 
934
- :is(.bi-card, .bi-card .bi-card--content):is(a, button) {
935
- cursor: pointer;
936
- text-decoration: none;
937
- transition: box-shadow .25s ease-in-out;
938
- position: relative;
939
- }
921
+ &, & .bi-card--content {
922
+ &:is(a, button) {
923
+ cursor: pointer;
924
+ text-decoration: none;
925
+ transition: box-shadow .25s ease-in-out;
926
+ position: relative;
940
927
 
941
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):not(.disabled):focus-visible {
942
- box-shadow: 0 0 0 var(--bic-card-box-shadow-focus-inner-border) var(--bic-card-box-shadow-focus-background-color),
928
+ &:not(.disabled) {
929
+ &:focus-visible {
930
+ box-shadow: 0 0 0 var(--bic-card-box-shadow-focus-inner-border) var(--bic-card-box-shadow-focus-background-color),
943
931
  0 0 0 var(--bic-card-box-shadow-focus-outer-border) var(--bic-card-box-shadow-focus-color);
944
- outline: var(--_bi--focus, 1.5px solid var(--bic-card-box-shadow-focus-color));
945
- outline-offset: var(--_bi--focus, 2px);
946
- }
932
+ outline: var(--_bi--focus, 1.5px solid var(--bic-card-box-shadow-focus-color));
933
+ outline-offset: var(--_bi--focus, 2px);
947
934
 
948
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):not(.disabled):focus-visible * {
949
- --_bi--focus: ;
950
- }
935
+ & * {
936
+ --_bi--focus: ;
937
+ }
938
+ }
951
939
 
952
- @media (hover: hover) and (pointer: fine) {
953
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):not(.disabled):hover {
954
- box-shadow: 0px 0px 0px var(--bi-stroke-thick) var(--bic-card-border-hover-color),
940
+ @media (hover: hover) and (pointer: fine) {
941
+ &:hover {
942
+ box-shadow: 0px 0px 0px var(--bi-stroke-thick) var(--bic-card-border-hover-color),
955
943
  0px 0px 20px var(--bi-scale-1-5x) var(--bic-card-box-shadow-hover-color),
956
944
  0px 0px 10px 0px var(--bic-card-box-shadow-hover-color);
957
- }
958
- }
945
+ }
946
+ }
959
947
 
960
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):not(.disabled):active {
961
- box-shadow: 0px 0px 0px var(--bi-stroke-medium) var(--bic-card-border-active-color),
948
+ &:active {
949
+ box-shadow: 0px 0px 0px var(--bi-stroke-medium) var(--bic-card-border-active-color),
962
950
  0px 0px 20px var(--bi-scale-1-5x) var(--bic-card-box-shadow-active-color),
963
951
  0px 0px 10px 0px var(--bic-card-box-shadow-active-color);
964
- }
952
+ }
953
+ }
965
954
 
966
- :is(.bi-card, .bi-card .bi-card--content):is(a, button):disabled {
967
- cursor: not-allowed;
968
- }
955
+ &:disabled {
956
+ cursor: not-allowed;
957
+ }
958
+ }
959
+ }
969
960
 
970
- .bi-card .bi-card--actions {
971
- flex-direction: var(--bic-card-actions-flex-direction, column);
972
- justify-content: center;
973
- gap: var(--bi-scale-1x);
974
- width: var(--bi-scale-14x);
975
- background-color: var(--bic-card-actions-background-color);
976
- display: flex;
977
- }
961
+ & .bi-card--actions {
962
+ flex-direction: var(--bic-card-actions-flex-direction, column);
963
+ justify-content: center;
964
+ gap: var(--bi-scale-1x);
965
+ width: var(--bi-scale-14x);
966
+ background-color: var(--bic-card-actions-background-color);
967
+ display: flex;
968
+
969
+ @media (width < 600px) {
970
+ width: var(--bi-scale-11x);
971
+ }
978
972
 
979
- @media (width < 600px) {
980
- .bi-card .bi-card--actions {
981
- width: var(--bi-scale-11x);
973
+ & .bi-card--action {
974
+ --bic-button-font-size: var(--bi-icon-medium);
975
+ --bic-button-color: var(--bic-card-actions-icon-color);
976
+ --bic-button-size: var(--bi-scale-14x);
977
+ flex: 1;
978
+
979
+ @media (width < 600px) {
980
+ --bic-button-size: var(--bi-scale-11x);
981
+ }
982
+ }
982
983
  }
983
- }
984
984
 
985
- .bi-card .bi-card--actions .bi-card--action {
986
- --bic-button-font-size: var(--bi-icon-medium);
987
- --bic-button-color: var(--bic-card-actions-icon-color);
988
- --bic-button-size: var(--bi-scale-14x);
989
- flex: 1;
990
- }
985
+ & .bi-card--header {
986
+ font: var(--bi-font-body-medium);
987
+ gap: var(--bi-scale-0-50x);
988
+ word-wrap: break-word;
989
+ word-break: break-word;
990
+ flex-direction: column;
991
+ width: 100%;
992
+ display: flex;
993
+
994
+ & .bi-card--header-label {
995
+ color: var(--bic-card-header-label-color);
996
+ margin: 0;
997
+
998
+ @media (width < 600px) {
999
+ font: var(--bi-font-body-small);
1000
+ }
1001
+
1002
+ & .bi-card--header-bold {
1003
+ color: var(--bic-card-header-bold-color);
1004
+ font-weight: var(--bi-font-weight-bold);
1005
+ }
1006
+
1007
+ & .bi-card--header-dot {
1008
+ width: var(--bi-scale-0-50x);
1009
+ height: var(--bi-scale-0-50x);
1010
+ margin: auto var(--bi-scale-1x);
1011
+ vertical-align: middle;
1012
+ background-color: currentColor;
1013
+ border-radius: 50%;
1014
+ display: inline-block;
1015
+ }
1016
+ }
991
1017
 
992
- @media (width < 600px) {
993
- .bi-card .bi-card--actions .bi-card--action {
994
- --bic-button-size: var(--bi-scale-11x);
1018
+ & .bi-card--header-title {
1019
+ font: var(--bi-font-title-bold-small);
1020
+ color: var(--bic-card-header-title-color);
1021
+ text-overflow: ellipsis;
1022
+ -webkit-line-clamp: 2;
1023
+ line-clamp: 2;
1024
+ -webkit-box-orient: vertical;
1025
+ margin: 0;
1026
+ display: -webkit-box;
1027
+ overflow: hidden;
1028
+
1029
+ @media (width < 600px) {
1030
+ font: var(--bi-font-title-bold-xs);
1031
+ }
1032
+ }
995
1033
  }
996
- }
997
1034
 
998
- .bi-card .bi-card--header {
999
- font: var(--bi-font-body-medium);
1000
- gap: var(--bi-scale-0-50x);
1001
- word-wrap: break-word;
1002
- word-break: break-word;
1003
- flex-direction: column;
1004
- width: 100%;
1005
- display: flex;
1006
- }
1035
+ & .bi-card--media {
1036
+ width: var(--bic-card-media-width);
1037
+ min-width: var(--bic-card-media-width);
1038
+ display: block;
1039
+ position: relative;
1040
+
1041
+ & > :is(audio, figure, iframe, img, video) {
1042
+ border-radius: inherit;
1043
+ object-fit: cover;
1044
+ aspect-ratio: 4 / 3;
1045
+ width: 100%;
1046
+ display: block;
1047
+
1048
+ @media (width < 600px) {
1049
+ aspect-ratio: 3 / 2;
1050
+ }
1051
+ }
1007
1052
 
1008
- .bi-card .bi-card--header .bi-card--header-label {
1009
- color: var(--bic-card-header-label-color);
1010
- margin: 0;
1011
- }
1053
+ & .bi-card--media-overlay {
1054
+ top: var(--bi-scale-4x);
1055
+ left: var(--bi-scale-4x);
1056
+ right: var(--bi-scale-4x);
1057
+ flex-wrap: wrap;
1058
+ width: fit-content;
1059
+ display: flex;
1060
+ position: absolute;
1061
+ }
1062
+ }
1012
1063
 
1013
- @media (width < 600px) {
1014
- .bi-card .bi-card--header .bi-card--header-label {
1015
- font: var(--bi-font-body-small);
1064
+ & .bi-card--date {
1065
+ width: var(--bic-card-media-date-width);
1066
+ height: var(--bic-card-media-date-height);
1067
+ padding: var(--bi-scale-1x) var(--bi-scale-1x) var(--bi-scale-2x);
1068
+ border-radius: var(--bi-radius-small) var(--bi-radius-small) var(--bi-radius-large) var(--bi-radius-large);
1069
+ background: var(--bic-card-background-color);
1070
+ box-shadow: 0px 8px 16px var(--bi-scale-1-5x) #26333f0d,
1071
+ 0px 4px 6px 0px #26333f0d;
1072
+ color: var(--bic-card-header-title-color);
1073
+ text-align: center;
1074
+ font: var(--bi-font-title-bold-medium);
1075
+ flex-direction: column;
1076
+ justify-content: center;
1077
+ align-items: center;
1078
+ margin: 0;
1079
+ display: flex;
1080
+
1081
+ & span {
1082
+ color: var(--bic-card-header-bold-color);
1083
+ font-size: .8125rem;
1084
+ line-height: 1.15;
1085
+ }
1016
1086
  }
1017
1087
  }
1018
1088
 
1019
- .bi-card .bi-card--header .bi-card--header-label .bi-card--header-bold {
1020
- color: var(--bic-card-header-bold-color);
1021
- font-weight: var(--bi-font-weight-bold);
1022
- }
1089
+ .bi-checkbox-subsection {
1090
+ --bic-checkbox-subsection-line-bg: var(--bi-neutral-30);
1091
+ display: flex;
1023
1092
 
1024
- .bi-card .bi-card--header .bi-card--header-label .bi-card--header-dot {
1025
- width: var(--bi-scale-0-50x);
1026
- height: var(--bi-scale-0-50x);
1027
- margin: auto var(--bi-scale-1x);
1028
- vertical-align: middle;
1029
- background-color: currentColor;
1030
- border-radius: 50%;
1031
- display: inline-block;
1032
- }
1033
-
1034
- .bi-card .bi-card--header .bi-card--header-title {
1035
- font: var(--bi-font-title-bold-small);
1036
- color: var(--bic-card-header-title-color);
1037
- text-overflow: ellipsis;
1038
- -webkit-line-clamp: 2;
1039
- line-clamp: 2;
1040
- -webkit-box-orient: vertical;
1041
- margin: 0;
1042
- display: -webkit-box;
1043
- overflow: hidden;
1044
- }
1045
-
1046
- @media (width < 600px) {
1047
- .bi-card .bi-card--header .bi-card--header-title {
1048
- font: var(--bi-font-title-bold-xs);
1093
+ &[data-dark="true"] {
1094
+ --bic-checkbox-subsection-line-bg: var(--bi-neutral-50);
1049
1095
  }
1050
- }
1051
-
1052
- .bi-card .bi-card--media {
1053
- width: var(--bic-card-media-width);
1054
- min-width: var(--bic-card-media-width);
1055
- display: block;
1056
- position: relative;
1057
- }
1058
1096
 
1059
- .bi-card .bi-card--media > :is(audio, figure, iframe, img, video) {
1060
- border-radius: inherit;
1061
- object-fit: cover;
1062
- aspect-ratio: 4 / 3;
1063
- width: 100%;
1064
- display: block;
1065
- }
1066
-
1067
- @media (width < 600px) {
1068
- .bi-card .bi-card--media > :is(audio, figure, iframe, img, video) {
1069
- aspect-ratio: 3 / 2;
1097
+ & > div:first-child {
1098
+ margin: 0 var(--bi-scale-3x) 0 var(--bi-scale-5x);
1099
+ background-color: var(--bic-checkbox-subsection-line-bg);
1100
+ width: var(--bi-stroke-medium);
1070
1101
  }
1071
- }
1072
-
1073
- .bi-card .bi-card--media .bi-card--media-overlay {
1074
- top: var(--bi-scale-4x);
1075
- left: var(--bi-scale-4x);
1076
- right: var(--bi-scale-4x);
1077
- flex-wrap: wrap;
1078
- width: fit-content;
1079
- display: flex;
1080
- position: absolute;
1081
- }
1082
-
1083
- .bi-card .bi-card--date {
1084
- width: var(--bic-card-media-date-width);
1085
- height: var(--bic-card-media-date-height);
1086
- padding: var(--bi-scale-1x) var(--bi-scale-1x) var(--bi-scale-2x);
1087
- border-radius: var(--bi-radius-small) var(--bi-radius-small) var(--bi-radius-large) var(--bi-radius-large);
1088
- background: var(--bic-card-background-color);
1089
- box-shadow: 0px 8px 16px var(--bi-scale-1-5x) #26333f0d,
1090
- 0px 4px 6px 0px #26333f0d;
1091
- color: var(--bic-card-header-title-color);
1092
- text-align: center;
1093
- font: var(--bi-font-title-bold-medium);
1094
- flex-direction: column;
1095
- justify-content: center;
1096
- align-items: center;
1097
- margin: 0;
1098
- display: flex;
1099
- }
1100
-
1101
- .bi-card .bi-card--date span {
1102
- color: var(--bic-card-header-bold-color);
1103
- font-size: .8125rem;
1104
- line-height: 1.15;
1105
- }
1106
-
1107
- .bi-checkbox-subsection {
1108
- --bic-checkbox-subsection-line-bg: var(--bi-neutral-30);
1109
- display: flex;
1110
- }
1111
-
1112
- .bi-checkbox-subsection[data-dark="true"] {
1113
- --bic-checkbox-subsection-line-bg: var(--bi-neutral-50);
1114
- }
1115
-
1116
- .bi-checkbox-subsection > div:first-child {
1117
- margin: 0 var(--bi-scale-3x) 0 var(--bi-scale-5x);
1118
- background-color: var(--bic-checkbox-subsection-line-bg);
1119
- width: var(--bi-stroke-medium);
1120
- }
1121
1102
 
1122
- .bi-checkbox-subsection > div:last-child {
1123
- align-items: flex-start;
1124
- gap: var(--bi-scale-0-50x);
1125
- flex-direction: column;
1126
- flex: 1;
1127
- display: flex;
1103
+ & > div:last-child {
1104
+ align-items: flex-start;
1105
+ gap: var(--bi-scale-0-50x);
1106
+ flex-direction: column;
1107
+ flex: 1;
1108
+ display: flex;
1109
+ }
1128
1110
  }
1129
1111
 
1130
1112
  .bi-chip {
@@ -1148,191 +1130,191 @@
1148
1130
  align-items: center;
1149
1131
  display: inline-flex;
1150
1132
  overflow: hidden;
1151
- }
1152
1133
 
1153
- .bi-chip[data-size="small"] {
1154
- --bic-chip-padding: var(--bi-scale-0-50x) var(--bi-scale-2x);
1155
- --bic-chip-font: var(--bi-font-body-small);
1156
- --bic-chip-icon-size: var(--bi-scale-5x);
1157
- }
1134
+ &[data-size="small"] {
1135
+ --bic-chip-padding: var(--bi-scale-0-50x) var(--bi-scale-2x);
1136
+ --bic-chip-font: var(--bi-font-body-small);
1137
+ --bic-chip-icon-size: var(--bi-scale-5x);
1138
+ }
1158
1139
 
1159
- .bi-chip[data-size="large"] {
1160
- --bic-chip-padding: var(--bi-scale-2x) var(--bi-scale-4x);
1161
- --bic-chip-font: var(--bi-font-body-large);
1162
- }
1140
+ &[data-size="large"] {
1141
+ --bic-chip-padding: var(--bi-scale-2x) var(--bi-scale-4x);
1142
+ --bic-chip-font: var(--bi-font-body-large);
1143
+ }
1163
1144
 
1164
- .bi-chip[data-dark="true"] {
1165
- --bic-chip-focus-inner: var(--bi-neutral-95);
1166
- --bic-chip-focus-outer: var(--bi-primary-30);
1167
- --bic-chip-background-hover: var(--bi-states-hover-light);
1168
- --bic-chip-background-press: var(--bi-states-press-light);
1169
- }
1145
+ &[data-dark="true"] {
1146
+ --bic-chip-focus-inner: var(--bi-neutral-95);
1147
+ --bic-chip-focus-outer: var(--bi-primary-30);
1148
+ --bic-chip-background-hover: var(--bi-states-hover-light);
1149
+ --bic-chip-background-press: var(--bi-states-press-light);
1150
+ }
1170
1151
 
1171
- .bi-chip[data-selected="true"] {
1172
- --bic-chip-background-hover: var(--bi-states-hover-light);
1173
- --bic-chip-background-press: var(--bi-states-press-light);
1174
- }
1152
+ &[data-selected="true"] {
1153
+ --bic-chip-background-hover: var(--bi-states-hover-light);
1154
+ --bic-chip-background-press: var(--bi-states-press-light);
1155
+ }
1175
1156
 
1176
- .bi-chip[data-color="white"] {
1177
- --bic-chip-background: var(--bi-basic-white);
1178
- }
1157
+ &[data-color="white"] {
1158
+ --bic-chip-background: var(--bi-basic-white);
1179
1159
 
1180
- .bi-chip[data-color="white"][data-selected="true"] {
1181
- --bic-chip-background: var(--bi-neutral-60);
1182
- --bic-chip-text-color: var(--bi-basic-white);
1183
- }
1160
+ &[data-selected="true"] {
1161
+ --bic-chip-background: var(--bi-neutral-60);
1162
+ --bic-chip-text-color: var(--bi-basic-white);
1163
+ }
1184
1164
 
1185
- .bi-chip[data-color="white"][data-dark="true"] {
1186
- --bic-chip-background: var(--bi-neutral-100);
1187
- --bic-chip-text-color: var(--bi-basic-white);
1188
- }
1165
+ &[data-dark="true"] {
1166
+ --bic-chip-background: var(--bi-neutral-100);
1167
+ --bic-chip-text-color: var(--bi-basic-white);
1168
+ }
1189
1169
 
1190
- .bi-chip[data-color="white"][data-dark="true"][data-selected="true"] {
1191
- --bic-chip-background: var(--bi-neutral-50);
1192
- --bic-chip-text-color: var(--bi-basic-white);
1193
- }
1170
+ &[data-dark="true"][data-selected="true"] {
1171
+ --bic-chip-background: var(--bi-neutral-50);
1172
+ --bic-chip-text-color: var(--bi-basic-white);
1173
+ }
1174
+ }
1194
1175
 
1195
- .bi-chip[data-color="neutral"] {
1196
- --bic-chip-background: var(--bi-neutral-5);
1197
- }
1176
+ &[data-color="neutral"] {
1177
+ --bic-chip-background: var(--bi-neutral-5);
1198
1178
 
1199
- .bi-chip[data-color="neutral"][data-selected="true"] {
1200
- --bic-chip-background: var(--bi-neutral-60);
1201
- --bic-chip-text-color: var(--bi-basic-white);
1202
- }
1179
+ &[data-selected="true"] {
1180
+ --bic-chip-background: var(--bi-neutral-60);
1181
+ --bic-chip-text-color: var(--bi-basic-white);
1182
+ }
1203
1183
 
1204
- .bi-chip[data-color="neutral"][data-dark="true"] {
1205
- --bic-chip-background: var(--bi-neutral-95);
1206
- --bic-chip-text-color: var(--bi-basic-white);
1207
- }
1184
+ &[data-dark="true"] {
1185
+ --bic-chip-background: var(--bi-neutral-95);
1186
+ --bic-chip-text-color: var(--bi-basic-white);
1187
+ }
1208
1188
 
1209
- .bi-chip[data-color="neutral"][data-dark="true"][data-selected="true"] {
1210
- --bic-chip-background: var(--bi-neutral-50);
1211
- --bic-chip-text-color: var(--bi-basic-white);
1212
- }
1189
+ &[data-dark="true"][data-selected="true"] {
1190
+ --bic-chip-background: var(--bi-neutral-50);
1191
+ --bic-chip-text-color: var(--bi-basic-white);
1192
+ }
1193
+ }
1213
1194
 
1214
- .bi-chip[data-color="primary"] {
1215
- --bic-chip-background: var(--bi-primary-5);
1216
- }
1195
+ &[data-color="primary"] {
1196
+ --bic-chip-background: var(--bi-primary-5);
1217
1197
 
1218
- .bi-chip[data-color="primary"][data-selected="true"] {
1219
- --bic-chip-background: var(--bi-primary-50);
1220
- --bic-chip-text-color: var(--bi-basic-white);
1221
- }
1198
+ &[data-selected="true"] {
1199
+ --bic-chip-background: var(--bi-primary-50);
1200
+ --bic-chip-text-color: var(--bi-basic-white);
1201
+ }
1222
1202
 
1223
- .bi-chip[data-color="primary"][data-dark="true"] {
1224
- --bic-chip-background: var(--bi-primary-85);
1225
- --bic-chip-text-color: var(--bi-primary-10);
1226
- }
1203
+ &[data-dark="true"] {
1204
+ --bic-chip-background: var(--bi-primary-85);
1205
+ --bic-chip-text-color: var(--bi-primary-10);
1206
+ }
1227
1207
 
1228
- .bi-chip[data-color="primary"][data-dark="true"][data-selected="true"] {
1229
- --bic-chip-background: var(--bi-primary-50);
1230
- --bic-chip-text-color: var(--bi-basic-white);
1231
- }
1208
+ &[data-dark="true"][data-selected="true"] {
1209
+ --bic-chip-background: var(--bi-primary-50);
1210
+ --bic-chip-text-color: var(--bi-basic-white);
1211
+ }
1212
+ }
1232
1213
 
1233
- .bi-chip[data-color="info"] {
1234
- --bic-chip-background: var(--bi-info-5);
1235
- }
1214
+ &[data-color="info"] {
1215
+ --bic-chip-background: var(--bi-info-5);
1236
1216
 
1237
- .bi-chip[data-color="info"][data-selected="true"] {
1238
- --bic-chip-background: var(--bi-info-50);
1239
- --bic-chip-text-color: var(--bi-basic-white);
1240
- }
1217
+ &[data-selected="true"] {
1218
+ --bic-chip-background: var(--bi-info-50);
1219
+ --bic-chip-text-color: var(--bi-basic-white);
1220
+ }
1241
1221
 
1242
- .bi-chip[data-color="info"][data-dark="true"] {
1243
- --bic-chip-background: var(--bi-info-95);
1244
- --bic-chip-text-color: var(--bi-info-15);
1245
- }
1222
+ &[data-dark="true"] {
1223
+ --bic-chip-background: var(--bi-info-95);
1224
+ --bic-chip-text-color: var(--bi-info-15);
1225
+ }
1246
1226
 
1247
- .bi-chip[data-color="info"][data-dark="true"][data-selected="true"] {
1248
- --bic-chip-background: var(--bi-info-50);
1249
- --bic-chip-text-color: var(--bi-basic-white);
1250
- }
1227
+ &[data-dark="true"][data-selected="true"] {
1228
+ --bic-chip-background: var(--bi-info-50);
1229
+ --bic-chip-text-color: var(--bi-basic-white);
1230
+ }
1231
+ }
1251
1232
 
1252
- .bi-chip[data-color="alert"] {
1253
- --bic-chip-background: var(--bi-alert-10);
1254
- }
1233
+ &[data-color="alert"] {
1234
+ --bic-chip-background: var(--bi-alert-10);
1255
1235
 
1256
- .bi-chip[data-color="alert"][data-selected="true"] {
1257
- --bic-chip-background: var(--bi-alert-60);
1258
- --bic-chip-text-color: var(--bi-basic-white);
1259
- }
1236
+ &[data-selected="true"] {
1237
+ --bic-chip-background: var(--bi-alert-60);
1238
+ --bic-chip-text-color: var(--bi-basic-white);
1239
+ }
1260
1240
 
1261
- .bi-chip[data-color="alert"][data-dark="true"] {
1262
- --bic-chip-background: var(--bi-alert-95);
1263
- --bic-chip-text-color: var(--bi-alert-15);
1264
- }
1241
+ &[data-dark="true"] {
1242
+ --bic-chip-background: var(--bi-alert-95);
1243
+ --bic-chip-text-color: var(--bi-alert-15);
1244
+ }
1265
1245
 
1266
- .bi-chip[data-color="alert"][data-dark="true"][data-selected="true"] {
1267
- --bic-chip-background: var(--bi-alert-60);
1268
- --bic-chip-text-color: var(--bi-basic-white);
1269
- }
1246
+ &[data-dark="true"][data-selected="true"] {
1247
+ --bic-chip-background: var(--bi-alert-60);
1248
+ --bic-chip-text-color: var(--bi-basic-white);
1249
+ }
1250
+ }
1270
1251
 
1271
- .bi-chip[data-color="warning"] {
1272
- --bic-chip-background: var(--bi-warning-10);
1273
- }
1252
+ &[data-color="warning"] {
1253
+ --bic-chip-background: var(--bi-warning-10);
1274
1254
 
1275
- .bi-chip[data-color="warning"][data-selected="true"] {
1276
- --bic-chip-background: var(--bi-warning-75);
1277
- --bic-chip-text-color: var(--bi-basic-white);
1278
- }
1255
+ &[data-selected="true"] {
1256
+ --bic-chip-background: var(--bi-warning-75);
1257
+ --bic-chip-text-color: var(--bi-basic-white);
1258
+ }
1279
1259
 
1280
- .bi-chip[data-color="warning"][data-dark="true"] {
1281
- --bic-chip-background: var(--bi-warning-90);
1282
- --bic-chip-text-color: var(--bi-warning-15);
1283
- }
1260
+ &[data-dark="true"] {
1261
+ --bic-chip-background: var(--bi-warning-90);
1262
+ --bic-chip-text-color: var(--bi-warning-15);
1263
+ }
1284
1264
 
1285
- .bi-chip[data-color="warning"][data-dark="true"][data-selected="true"] {
1286
- --bic-chip-background: var(--bi-warning-70);
1287
- --bic-chip-text-color: var(--bi-basic-white);
1288
- }
1265
+ &[data-dark="true"][data-selected="true"] {
1266
+ --bic-chip-background: var(--bi-warning-70);
1267
+ --bic-chip-text-color: var(--bi-basic-white);
1268
+ }
1269
+ }
1289
1270
 
1290
- .bi-chip[data-color="success"] {
1291
- --bic-chip-background: var(--bi-success-5);
1292
- }
1271
+ &[data-color="success"] {
1272
+ --bic-chip-background: var(--bi-success-5);
1293
1273
 
1294
- .bi-chip[data-color="success"][data-selected="true"] {
1295
- --bic-chip-background: var(--bi-success-70);
1296
- --bic-chip-text-color: var(--bi-basic-white);
1297
- }
1274
+ &[data-selected="true"] {
1275
+ --bic-chip-background: var(--bi-success-70);
1276
+ --bic-chip-text-color: var(--bi-basic-white);
1277
+ }
1298
1278
 
1299
- .bi-chip[data-color="success"][data-dark="true"] {
1300
- --bic-chip-background: var(--bi-success-90);
1301
- --bic-chip-text-color: var(--bi-success-10);
1302
- }
1279
+ &[data-dark="true"] {
1280
+ --bic-chip-background: var(--bi-success-90);
1281
+ --bic-chip-text-color: var(--bi-success-10);
1282
+ }
1303
1283
 
1304
- .bi-chip[data-color="success"][data-dark="true"][data-selected="true"] {
1305
- --bic-chip-background: var(--bi-success-70);
1306
- --bic-chip-text-color: var(--bi-basic-white);
1307
- }
1284
+ &[data-dark="true"][data-selected="true"] {
1285
+ --bic-chip-background: var(--bi-success-70);
1286
+ --bic-chip-text-color: var(--bi-basic-white);
1287
+ }
1288
+ }
1308
1289
 
1309
- .bi-chip:is(button), .bi-chip:is(a) {
1310
- cursor: pointer;
1311
- border: none;
1312
- text-decoration: none;
1313
- }
1290
+ &:is(button), &:is(a) {
1291
+ cursor: pointer;
1292
+ border: none;
1293
+ text-decoration: none;
1314
1294
 
1315
- :is(.bi-chip:is(button), .bi-chip:is(a)):focus-visible {
1316
- box-shadow: var(--bic-chip-focus-outer), var(--_bi--focus, 0 0 0 4.5px var(--bic-chip-focus-inner));
1317
- outline: var(--_bi--focus, 3px solid var(--bic-chip-focus-outer));
1318
- outline-offset: var(--_bi--focus, 2px);
1319
- }
1295
+ &:focus-visible {
1296
+ box-shadow: var(--bic-chip-focus-outer), var(--_bi--focus, 0 0 0 4.5px var(--bic-chip-focus-inner));
1297
+ outline: var(--_bi--focus, 3px solid var(--bic-chip-focus-outer));
1298
+ outline-offset: var(--_bi--focus, 2px);
1299
+ }
1320
1300
 
1321
- @media (hover: hover) and (pointer: fine) {
1322
- :is(.bi-chip:is(button), .bi-chip:is(a)):hover {
1323
- background: linear-gradient(0deg, var(--bic-chip-background-hover) 0%, var(--bic-chip-background-hover) 100%),
1301
+ @media (hover: hover) and (pointer: fine) {
1302
+ &:hover {
1303
+ background: linear-gradient(0deg, var(--bic-chip-background-hover) 0%, var(--bic-chip-background-hover) 100%),
1324
1304
  var(--bic-chip-background);
1325
- }
1326
- }
1305
+ }
1306
+ }
1327
1307
 
1328
- :is(.bi-chip:is(button), .bi-chip:is(a)):active {
1329
- background: linear-gradient(0deg, var(--bic-chip-background-press) 0%, var(--bic-chip-background-press) 100%),
1308
+ &:active {
1309
+ background: linear-gradient(0deg, var(--bic-chip-background-press) 0%, var(--bic-chip-background-press) 100%),
1330
1310
  var(--bic-chip-background);
1331
- }
1311
+ }
1312
+ }
1332
1313
 
1333
- .bi-chip > svg {
1334
- display: inherit;
1335
- font-size: var(--bic-chip-icon-size);
1314
+ & > svg {
1315
+ display: inherit;
1316
+ font-size: var(--bic-chip-icon-size);
1317
+ }
1336
1318
  }
1337
1319
 
1338
1320
  details.bi-details {
@@ -1346,21 +1328,19 @@ details.bi-details {
1346
1328
  --bic-details-padding: var(--bi-scale-4x);
1347
1329
  --bic-details-focus-shadow-color: var(--bi-basic-white);
1348
1330
  --bic-details-focus-outline-color: var(--bi-primary-50);
1349
- }
1350
1331
 
1351
- details.bi-details[data-dark="true"] {
1352
- --bic-details-background: var(--bi-neutral-90);
1353
- --bic-details-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
1332
+ &[data-dark="true"] {
1333
+ --bic-details-background: var(--bi-neutral-90);
1334
+ --bic-details-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
1354
1335
  var(--bic-details-background);
1355
- --bic-details-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
1336
+ --bic-details-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
1356
1337
  var(--bic-details-background);
1357
- --bic-details-border-color: var(--bi-neutral-70);
1358
- --bic-details-color: var(--bi-basic-white);
1359
- --bic-details-focus-shadow-color: var(--bi-neutral-95);
1360
- --bic-details-focus-outline-color: var(--bi-primary-30);
1361
- }
1338
+ --bic-details-border-color: var(--bi-neutral-70);
1339
+ --bic-details-color: var(--bi-basic-white);
1340
+ --bic-details-focus-shadow-color: var(--bi-neutral-95);
1341
+ --bic-details-focus-outline-color: var(--bi-primary-30);
1342
+ }
1362
1343
 
1363
- details.bi-details {
1364
1344
  font: var(--bi-font-body-large);
1365
1345
  background-color: var(--bic-details-background);
1366
1346
  color: var(--bic-details-color);
@@ -1369,113 +1349,111 @@ details.bi-details {
1369
1349
  border-style: solid;
1370
1350
  border-top-width: var(--bi-stroke-thin);
1371
1351
  border-bottom-width: var(--bi-stroke-thin);
1372
- }
1373
1352
 
1374
- details.bi-details + :is(details.bi-details) {
1375
- border-top: 0;
1376
- }
1377
-
1378
- details.bi-details summary {
1379
- padding: var(--bic-details-padding);
1380
- cursor: pointer;
1381
- justify-content: space-between;
1382
- align-items: center;
1383
- gap: var(--bi-scale-2x);
1384
- -webkit-user-select: none;
1385
- user-select: none;
1386
- font-weight: var(--bi-font-weight-bold);
1387
- flex-direction: row;
1388
- list-style: none;
1389
- display: flex;
1390
- position: relative;
1391
- }
1392
-
1393
- @media (hover: hover) and (pointer: fine) {
1394
- details.bi-details summary:hover {
1395
- background: var(--bic-details-background-hover);
1353
+ & + & {
1354
+ border-top: 0;
1396
1355
  }
1397
- }
1398
1356
 
1399
- details.bi-details summary:active {
1400
- background: var(--bic-details-background-press);
1401
- }
1357
+ & summary {
1358
+ padding: var(--bic-details-padding);
1359
+ cursor: pointer;
1360
+ justify-content: space-between;
1361
+ align-items: center;
1362
+ gap: var(--bi-scale-2x);
1363
+ -webkit-user-select: none;
1364
+ user-select: none;
1365
+ font-weight: var(--bi-font-weight-bold);
1366
+ flex-direction: row;
1367
+ list-style: none;
1368
+ display: flex;
1369
+ position: relative;
1370
+
1371
+ @media (hover: hover) and (pointer: fine) {
1372
+ &:hover {
1373
+ background: var(--bic-details-background-hover);
1374
+ }
1375
+ }
1402
1376
 
1403
- details.bi-details summary:focus-visible {
1404
- box-shadow: var(--_bi--focus, 0 0 0 4.5px inset var(--bic-details-focus-shadow-color));
1405
- outline: var(--_bi--focus, var(--bi-stroke-thick) solid var(--bic-details-focus-outline-color));
1406
- outline-offset: var(--_bi--focus, -2px);
1407
- border-radius: var(--bi-radius-medium);
1408
- }
1377
+ &:active {
1378
+ background: var(--bic-details-background-press);
1379
+ }
1409
1380
 
1410
- details.bi-details summary:focus-visible * {
1411
- --_bi--focus: ;
1412
- }
1381
+ &:focus-visible {
1382
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px inset var(--bic-details-focus-shadow-color));
1383
+ outline: var(--_bi--focus, var(--bi-stroke-thick) solid var(--bic-details-focus-outline-color));
1384
+ outline-offset: var(--_bi--focus, -2px);
1385
+ border-radius: var(--bi-radius-medium);
1413
1386
 
1414
- details.bi-details summary::marker {
1415
- display: none;
1416
- }
1387
+ & * {
1388
+ --_bi--focus: ;
1389
+ }
1390
+ }
1417
1391
 
1418
- details.bi-details summary::-webkit-details-marker {
1419
- display: none;
1420
- }
1392
+ &::marker {
1393
+ display: none;
1394
+ }
1421
1395
 
1422
- details.bi-details summary > svg {
1423
- font-size: var(--bi-icon-medium);
1424
- width: var(--bi-scale-6x);
1425
- height: var(--bi-scale-6x);
1426
- flex-shrink: 0;
1427
- margin-left: auto;
1428
- }
1396
+ &::-webkit-details-marker {
1397
+ display: none;
1398
+ }
1429
1399
 
1430
- @media (prefers-reduced-motion: no-preference) {
1431
- details.bi-details summary > svg {
1432
- transition: transform .2s ease-in-out;
1400
+ & > svg {
1401
+ font-size: var(--bi-icon-medium);
1402
+ width: var(--bi-scale-6x);
1403
+ height: var(--bi-scale-6x);
1404
+ flex-shrink: 0;
1405
+ margin-left: auto;
1406
+
1407
+ @media (prefers-reduced-motion: no-preference) {
1408
+ transition: transform .2s ease-in-out;
1409
+ }
1410
+ }
1433
1411
  }
1434
- }
1435
1412
 
1436
- details.bi-details[open] summary > svg {
1437
- transform: rotate(180deg);
1438
- }
1413
+ &[open] summary > svg {
1414
+ transform: rotate(180deg);
1415
+ }
1439
1416
 
1440
- @supports (interpolate-size: allow-keywords) and selector(::details-content) {
1441
- @media (prefers-reduced-motion: no-preference) {
1442
- details.bi-details {
1417
+ @supports (interpolate-size: allow-keywords) and selector(::details-content) {
1418
+ @media (prefers-reduced-motion: no-preference) {
1443
1419
  interpolate-size: allow-keywords;
1444
1420
  }
1445
- }
1446
1421
 
1447
- details.bi-details::details-content {
1448
- transition: height .2s ease-in-out,
1422
+ &::details-content {
1423
+ transition: height .2s ease-in-out,
1449
1424
  content-visibility .2s ease-in-out allow-discrete;
1450
- height: 0;
1451
- overflow: clip;
1452
- }
1425
+ height: 0;
1426
+ overflow: clip;
1427
+ }
1453
1428
 
1454
- details.bi-details[open]::details-content {
1455
- height: auto;
1429
+ &[open]::details-content {
1430
+ height: auto;
1431
+ }
1456
1432
  }
1457
- }
1458
1433
 
1459
- details.bi-details > * {
1460
- padding: var(--bic-details-padding);
1461
- margin: 0;
1462
- overflow: clip;
1463
- }
1434
+ & > * {
1435
+ padding: var(--bic-details-padding);
1436
+ margin: 0;
1437
+ overflow: clip;
1464
1438
 
1465
- details.bi-details > *:not(summary) + * {
1466
- padding-top: 0;
1439
+ &:not(summary) + * {
1440
+ padding-top: 0;
1441
+ }
1442
+ }
1467
1443
  }
1468
1444
 
1469
1445
  .bi-card:has( > .bi-details) {
1470
1446
  overflow: clip;
1471
- }
1472
1447
 
1473
- .bi-card:has( > .bi-details) > .bi-details:first-child {
1474
- border-top: 0;
1475
- }
1448
+ & > .bi-details {
1449
+ &:first-child {
1450
+ border-top: 0;
1451
+ }
1476
1452
 
1477
- .bi-card:has( > .bi-details) > .bi-details:last-child {
1478
- border-bottom: 0;
1453
+ &:last-child {
1454
+ border-bottom: 0;
1455
+ }
1456
+ }
1479
1457
  }
1480
1458
 
1481
1459
  .bi-dialog {
@@ -1494,15 +1472,13 @@ details.bi-details > *:not(summary) + * {
1494
1472
  --bic-dialog-max-height: 80vh;
1495
1473
  --bic-dialog-max-width: 40rem;
1496
1474
  --bic-dialog-padding: var(--bi-scale-4x);
1497
- }
1498
1475
 
1499
- .bi-dialog[data-dark="true"] {
1500
- --bic-dialog-background: var(--bi-primary-95);
1501
- --bic-dialog-border-color: var(--bi-neutral-70);
1502
- --bic-dialog-color: var(--bi-basic-white);
1503
- }
1476
+ &[data-dark="true"] {
1477
+ --bic-dialog-background: var(--bi-primary-95);
1478
+ --bic-dialog-border-color: var(--bi-neutral-70);
1479
+ --bic-dialog-color: var(--bi-basic-white);
1480
+ }
1504
1481
 
1505
- .bi-dialog {
1506
1482
  animation: bi-dialog-fade-in-animation var(--bic-dialog-animation-duration) forwards;
1507
1483
  background: var(--bic-dialog-background);
1508
1484
  border-radius: var(--bic-dialog-border-radius);
@@ -1518,116 +1494,120 @@ details.bi-details > *:not(summary) + * {
1518
1494
  position: fixed;
1519
1495
  inset: 0;
1520
1496
  overflow: auto;
1521
- }
1522
1497
 
1523
- .bi-dialog::backdrop {
1524
- animation: bi-dialog-fade-in-animation var(--bic-dialog-animation-duration) ease-in-out;
1525
- background: var(--bic-dialog-backdrop-background, #00000080);
1526
- }
1498
+ &::backdrop {
1499
+ animation: bi-dialog-fade-in-animation var(--bic-dialog-animation-duration) ease-in-out;
1500
+ background: var(--bic-dialog-backdrop-background, #00000080);
1501
+ }
1527
1502
 
1528
- .bi-dialog[open] {
1529
- animation: bi-dialog-slide-in-animation var(--bic-dialog-animation-duration) ease-in-out,
1503
+ &[open] {
1504
+ animation: bi-dialog-slide-in-animation var(--bic-dialog-animation-duration) ease-in-out,
1530
1505
  bi-dialog-fade-in-animation var(--bic-dialog-animation-duration) ease-in-out;
1531
- display: flex;
1532
- }
1506
+ display: flex;
1507
+ }
1533
1508
 
1534
- .bi-dialog:where([data-anchor="bottom"], [data-anchor="top"], [data-anchor="left"], [data-anchor="right"]) {
1535
- --bic-dialog-max-height: unset;
1536
- border-radius: var(--bic-dialog-anchor-border-radius);
1537
- transition: display var(--bic-dialog-animation-duration) allow-discrete,
1509
+ &:where([data-anchor="bottom"], [data-anchor="top"], [data-anchor="left"], [data-anchor="right"]) {
1510
+ --bic-dialog-max-height: unset;
1511
+ border-radius: var(--bic-dialog-anchor-border-radius);
1512
+ transition: display var(--bic-dialog-animation-duration) allow-discrete,
1538
1513
  overlay var(--bic-dialog-animation-duration) allow-discrete;
1539
- transform: translate(var(--bic-dialog-anchor-closed-translate));
1540
- animation: bi-dialog-slide-out-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
1541
- }
1514
+ transform: translate(var(--bic-dialog-anchor-closed-translate));
1515
+ animation: bi-dialog-slide-out-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
1542
1516
 
1543
- .bi-dialog:where([data-anchor="bottom"], [data-anchor="top"], [data-anchor="left"], [data-anchor="right"])[open] {
1544
- animation: bi-dialog-slide-in-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
1545
- transform: translate(0);
1546
- }
1517
+ &[open] {
1518
+ animation: bi-dialog-slide-in-animation var(--bic-dialog-animation-duration) ease-in-out forwards;
1519
+ transform: translate(0);
1520
+ }
1521
+ }
1547
1522
 
1548
- .bi-dialog:where([data-anchor="bottom"], [data-anchor="top"]) {
1549
- min-height: var(--bic-dialog-anchor-block-min-height);
1550
- max-height: calc(100dvh - var(--bi-layout-navbar-height));
1551
- max-width: 100dvw;
1552
- }
1523
+ &:where([data-anchor="bottom"], [data-anchor="top"]) {
1524
+ min-height: var(--bic-dialog-anchor-block-min-height);
1525
+ max-height: calc(100dvh - var(--bi-layout-navbar-height));
1526
+ max-width: 100dvw;
1527
+ }
1553
1528
 
1554
- .bi-dialog:where([data-anchor="left"], [data-anchor="right"]) {
1555
- min-width: var(--bic-dialog-anchor-inline-min-width);
1556
- max-width: var(--bic-dialog-anchor-inline-max-width);
1557
- width: fit-content;
1558
- height: 100dvh;
1559
- }
1529
+ &:where([data-anchor="left"], [data-anchor="right"]) {
1530
+ min-width: var(--bic-dialog-anchor-inline-min-width);
1531
+ max-width: var(--bic-dialog-anchor-inline-max-width);
1532
+ width: fit-content;
1533
+ height: 100dvh;
1534
+ }
1560
1535
 
1561
- .bi-dialog[data-anchor="bottom"] {
1562
- --bic-dialog-anchor-closed-translate: 0, 100%;
1563
- border-bottom-right-radius: 0;
1564
- border-bottom-left-radius: 0;
1565
- top: auto;
1566
- }
1536
+ &[data-anchor="bottom"] {
1537
+ --bic-dialog-anchor-closed-translate: 0, 100%;
1538
+ border-bottom-right-radius: 0;
1539
+ border-bottom-left-radius: 0;
1540
+ top: auto;
1541
+ }
1567
1542
 
1568
- .bi-dialog[data-anchor="top"] {
1569
- --bic-dialog-anchor-closed-translate: 0, -100%;
1570
- border-top-left-radius: 0;
1571
- border-top-right-radius: 0;
1572
- bottom: auto;
1573
- }
1543
+ &[data-anchor="top"] {
1544
+ --bic-dialog-anchor-closed-translate: 0, -100%;
1545
+ border-top-left-radius: 0;
1546
+ border-top-right-radius: 0;
1547
+ bottom: auto;
1548
+ }
1574
1549
 
1575
- .bi-dialog[data-anchor="left"] {
1576
- --bic-dialog-anchor-closed-translate: -100%, 0;
1577
- border-top-left-radius: 0;
1578
- border-bottom-left-radius: 0;
1579
- right: auto;
1580
- }
1550
+ &[data-anchor="left"] {
1551
+ --bic-dialog-anchor-closed-translate: -100%, 0;
1552
+ border-top-left-radius: 0;
1553
+ border-bottom-left-radius: 0;
1554
+ right: auto;
1555
+ }
1581
1556
 
1582
- .bi-dialog[data-anchor="right"] {
1583
- --bic-dialog-anchor-closed-translate: 100%, 0;
1584
- border-top-right-radius: 0;
1585
- border-bottom-right-radius: 0;
1586
- left: auto;
1587
- }
1557
+ &[data-anchor="right"] {
1558
+ --bic-dialog-anchor-closed-translate: 100%, 0;
1559
+ border-top-right-radius: 0;
1560
+ border-bottom-right-radius: 0;
1561
+ left: auto;
1562
+ }
1588
1563
 
1589
- @media (prefers-reduced-motion: reduce) {
1590
- .bi-dialog[open], .bi-dialog::backdrop {
1591
- animation: none;
1564
+ @media (prefers-reduced-motion: reduce) {
1565
+ &[open], &::backdrop {
1566
+ animation: none;
1567
+ }
1592
1568
  }
1593
- }
1594
1569
 
1595
- .bi-dialog > button.bi-dialog--close {
1596
- top: var(--bic-dialog-icon-spacing);
1597
- right: var(--bic-dialog-icon-spacing);
1598
- position: absolute;
1599
- }
1570
+ & > button.bi-dialog--close {
1571
+ top: var(--bic-dialog-icon-spacing);
1572
+ right: var(--bic-dialog-icon-spacing);
1573
+ position: absolute;
1574
+ }
1600
1575
 
1601
- .bi-dialog .bi-dialog--header {
1602
- padding: var(--bic-dialog-padding);
1603
- min-height: var(--bi-scale-16x);
1604
- font: var(--bi-font-title-bold-medium);
1605
- align-items: center;
1606
- margin: 0;
1607
- display: flex;
1608
- }
1576
+ & .bi-dialog--header {
1577
+ padding: var(--bic-dialog-padding);
1578
+ min-height: var(--bi-scale-16x);
1579
+ font: var(--bi-font-title-bold-medium);
1580
+ align-items: center;
1581
+ margin: 0;
1582
+ display: flex;
1583
+ }
1609
1584
 
1610
- .bi-dialog:has( > button.bi-dialog--close) .bi-dialog--header {
1611
- padding-right: var(--bi-scale-14x);
1612
- }
1585
+ &:has( > button.bi-dialog--close) {
1586
+ & .bi-dialog--header {
1587
+ padding-right: var(--bi-scale-14x);
1588
+ }
1589
+ }
1613
1590
 
1614
- .bi-dialog .bi-dialog--content {
1615
- padding: var(--bic-dialog-padding);
1616
- overflow-behavior: contain;
1617
- overflow: auto;
1618
- }
1591
+ & .bi-dialog--content {
1592
+ padding: var(--bic-dialog-padding);
1593
+ overflow-behavior: contain;
1594
+ overflow: auto;
1595
+ }
1619
1596
 
1620
- .bi-dialog .bi-dialog--footer {
1621
- padding: var(--bic-dialog-padding);
1622
- justify-content: flex-end;
1623
- align-items: center;
1624
- gap: var(--bi-scale-4x);
1625
- margin-top: auto;
1626
- display: flex;
1627
- }
1597
+ & .bi-dialog--footer {
1598
+ padding: var(--bic-dialog-padding);
1599
+ justify-content: flex-end;
1600
+ align-items: center;
1601
+ gap: var(--bi-scale-4x);
1602
+ margin-top: auto;
1603
+ display: flex;
1604
+ }
1628
1605
 
1629
- :is(.bi-dialog .bi-dialog--header, .bi-dialog .bi-dialog--content, .bi-dialog .bi-dialog--footer):not([data-no-border="true"]):not(:first-child) {
1630
- border-top: var(--bi-stroke-thin) solid var(--bic-dialog-border-color);
1606
+ & .bi-dialog--header, & .bi-dialog--content, & .bi-dialog--footer {
1607
+ &:not([data-no-border="true"]):not(:first-child) {
1608
+ border-top: var(--bi-stroke-thin) solid var(--bic-dialog-border-color);
1609
+ }
1610
+ }
1631
1611
  }
1632
1612
 
1633
1613
  body:has(.bi-dialog:modal) {
@@ -1674,17 +1654,15 @@ body:has(.bi-dialog:modal) {
1674
1654
  --bic-popover-padding: var(--bi-scale-1x);
1675
1655
  --bic-popover-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1676
1656
  0px 2px 2px -1px #26333f0a;
1677
- }
1678
1657
 
1679
- .bi-popover[data-dark="true"] {
1680
- --bic-popover-background: var(--bi-neutral-95);
1681
- --bic-popover-border-color: var(--bi-neutral-70);
1682
- --bic-popover-color: var(--bi-neutral-5);
1683
- --bic-popover-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1658
+ &[data-dark="true"] {
1659
+ --bic-popover-background: var(--bi-neutral-95);
1660
+ --bic-popover-border-color: var(--bi-neutral-70);
1661
+ --bic-popover-color: var(--bi-neutral-5);
1662
+ --bic-popover-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1684
1663
  0px 2px 2px -1px #26333f0a;
1685
- }
1664
+ }
1686
1665
 
1687
- .bi-popover {
1688
1666
  background: var(--bic-popover-background);
1689
1667
  border-radius: var(--bic-popover-border-radius);
1690
1668
  border-width: var(--bic-popover-border-width);
@@ -1700,41 +1678,43 @@ body:has(.bi-dialog:modal) {
1700
1678
  position: fixed;
1701
1679
  inset: 0 auto auto 0;
1702
1680
  overflow: visible;
1703
- }
1704
1681
 
1705
- .bi-popover[aria-hidden="false"] {
1706
- display: block;
1707
- }
1682
+ &[aria-hidden="false"] {
1683
+ display: block;
1684
+ }
1708
1685
 
1709
- .bi-popover[data-arrow="true"]:before {
1710
- background: var(--bic-popover-background);
1711
- border: inherit;
1712
- box-sizing: border-box;
1713
- content: "";
1714
- height: var(--bic-popover-arrow-size);
1715
- left: var(--bic-popover-arrow-x);
1716
- top: var(--bic-popover-arrow-y);
1717
- width: var(--bic-popover-arrow-size);
1718
- border-top-color: #0000;
1719
- border-left-color: #0000;
1720
- position: absolute;
1721
- translate: -50% -50%;
1722
- }
1686
+ &[data-arrow="true"] {
1687
+ &:before {
1688
+ background: var(--bic-popover-background);
1689
+ border: inherit;
1690
+ box-sizing: border-box;
1691
+ content: "";
1692
+ height: var(--bic-popover-arrow-size);
1693
+ left: var(--bic-popover-arrow-x);
1694
+ top: var(--bic-popover-arrow-y);
1695
+ width: var(--bic-popover-arrow-size);
1696
+ border-top-color: #0000;
1697
+ border-left-color: #0000;
1698
+ position: absolute;
1699
+ translate: -50% -50%;
1700
+ }
1723
1701
 
1724
- .bi-popover[data-arrow="true"][data-placement="top"]:before {
1725
- rotate: 45deg;
1726
- }
1702
+ &[data-placement="top"]:before {
1703
+ rotate: 45deg;
1704
+ }
1727
1705
 
1728
- .bi-popover[data-arrow="true"][data-placement="left"]:before {
1729
- rotate: -45deg;
1730
- }
1706
+ &[data-placement="left"]:before {
1707
+ rotate: -45deg;
1708
+ }
1731
1709
 
1732
- .bi-popover[data-arrow="true"][data-placement="right"]:before {
1733
- rotate: 135deg;
1734
- }
1710
+ &[data-placement="right"]:before {
1711
+ rotate: 135deg;
1712
+ }
1735
1713
 
1736
- .bi-popover[data-arrow="true"][data-placement="bottom"]:before {
1737
- rotate: -135deg;
1714
+ &[data-placement="bottom"]:before {
1715
+ rotate: -135deg;
1716
+ }
1717
+ }
1738
1718
  }
1739
1719
 
1740
1720
  [data-popover="inline"] {
@@ -1744,10 +1724,10 @@ body:has(.bi-dialog:modal) {
1744
1724
  font-size: inherit;
1745
1725
  -webkit-text-decoration: underline dotted;
1746
1726
  text-decoration: underline dotted;
1747
- }
1748
1727
 
1749
- [data-popover="inline"]:not([hidden]) {
1750
- display: inline;
1728
+ &:not([hidden]) {
1729
+ display: inline;
1730
+ }
1751
1731
  }
1752
1732
 
1753
1733
  .bi-dropdown {
@@ -1761,17 +1741,15 @@ body:has(.bi-dialog:modal) {
1761
1741
  --bic-dropdown-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1762
1742
  0px 2px 2px -1px #26333f0a;
1763
1743
  --bic-dropdown-min-width: var(--bi-scale-64x);
1764
- }
1765
1744
 
1766
- .bi-dropdown[data-dark="true"] {
1767
- --bic-dropdown-background: var(--bi-neutral-100);
1768
- --bic-dropdown-border-color: var(--bi-neutral-90);
1769
- --bic-dropdown-color: var(--bi-neutral-5);
1770
- --bic-dropdown-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1745
+ &[data-dark="true"] {
1746
+ --bic-dropdown-background: var(--bi-neutral-100);
1747
+ --bic-dropdown-border-color: var(--bi-neutral-90);
1748
+ --bic-dropdown-color: var(--bi-neutral-5);
1749
+ --bic-dropdown-box-shadow: 0px 8px 16px -4px #26333f14, 4px 4px 6px -2px #26333f08,
1771
1750
  0px 2px 2px -1px #26333f0a;
1772
- }
1751
+ }
1773
1752
 
1774
- .bi-dropdown {
1775
1753
  background: var(--bic-dropdown-background);
1776
1754
  border-radius: var(--bi-radius-medium);
1777
1755
  border-width: var(--bic-dropdown-border-width);
@@ -1782,26 +1760,26 @@ body:has(.bi-dialog:modal) {
1782
1760
  min-width: max(var(--bic-dropdown-min-width), var(--bic-popover-trigger-width, 0px));
1783
1761
  padding: var(--bic-dropdown-padding);
1784
1762
  list-style: none;
1785
- }
1786
1763
 
1787
- .bi-dropdown ul {
1788
- gap: var(--bi-scale-1x);
1789
- flex-direction: column;
1790
- margin: 0;
1791
- padding: 0;
1792
- list-style: none;
1793
- display: flex;
1794
- }
1764
+ & ul {
1765
+ gap: var(--bi-scale-1x);
1766
+ flex-direction: column;
1767
+ margin: 0;
1768
+ padding: 0;
1769
+ list-style: none;
1770
+ display: flex;
1771
+ }
1795
1772
 
1796
- .bi-dropdown :is(a, button, [role="button"]) {
1797
- padding: var(--bic-dropdown-item-padding);
1798
- min-height: var(--bic-dropdown-item-size);
1799
- justify-content: start;
1800
- width: 100%;
1801
- }
1773
+ & :is(a, button, [role="button"]) {
1774
+ padding: var(--bic-dropdown-item-padding);
1775
+ min-height: var(--bic-dropdown-item-size);
1776
+ justify-content: start;
1777
+ width: 100%;
1802
1778
 
1803
- .bi-dropdown :is(a, button, [role="button"]) .bi-button--end-icon {
1804
- margin-left: auto;
1779
+ & .bi-button--end-icon {
1780
+ margin-left: auto;
1781
+ }
1782
+ }
1805
1783
  }
1806
1784
 
1807
1785
  :where(.bi-input) {
@@ -1831,22 +1809,20 @@ body:has(.bi-dialog:modal) {
1831
1809
  --bic-input-focus-outline-color: var(--bi-primary-50);
1832
1810
  --bic-input-focus-shadow-color: var(--bi-basic-white);
1833
1811
  --bic-input-select-chevron: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"%23222d38\" fill-rule=\"evenodd\" d=\"M5.97 9.47a.75.75 0 0 1 1.06 0L12 14.44l4.97-4.97a.75.75 0 1 1 1.06 1.06l-5.5 5.5a.75.75 0 0 1-1.06 0l-5.5-5.5a.75.75 0 0 1 0-1.06\" clip-rule=\"evenodd\"></path></svg>");
1834
- }
1835
1812
 
1836
- .bi-input[data-dark="true"] {
1837
- --bic-input-background: var(--bi-neutral-95);
1838
- --bic-input-background-readonly: var(--bi-neutral-50);
1839
- --bic-input-border-color-hover: var(--bi-neutral-25);
1840
- --bic-input-color-readonly: var(--bi-basic-white);
1841
- --bic-input-color: var(--bi-basic-white);
1842
- --bic-input-disabled-color: var(--bi-neutral-40);
1843
- --bic-input-placeholder-color: var(--bi-neutral-30);
1844
- --bic-input-focus-outline-color: var(--bi-primary-30);
1845
- --bic-input-focus-shadow-color: var(--bi-neutral-95);
1846
- --bic-input-select-chevron: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"white\" fill-rule=\"evenodd\" d=\"M5.97 9.47a.75.75 0 0 1 1.06 0L12 14.44l4.97-4.97a.75.75 0 1 1 1.06 1.06l-5.5 5.5a.75.75 0 0 1-1.06 0l-5.5-5.5a.75.75 0 0 1 0-1.06\" clip-rule=\"evenodd\"></path></svg>");
1847
- }
1813
+ &[data-dark="true"] {
1814
+ --bic-input-background: var(--bi-neutral-95);
1815
+ --bic-input-background-readonly: var(--bi-neutral-50);
1816
+ --bic-input-border-color-hover: var(--bi-neutral-25);
1817
+ --bic-input-color-readonly: var(--bi-basic-white);
1818
+ --bic-input-color: var(--bi-basic-white);
1819
+ --bic-input-disabled-color: var(--bi-neutral-40);
1820
+ --bic-input-placeholder-color: var(--bi-neutral-30);
1821
+ --bic-input-focus-outline-color: var(--bi-primary-30);
1822
+ --bic-input-focus-shadow-color: var(--bi-neutral-95);
1823
+ --bic-input-select-chevron: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"white\" fill-rule=\"evenodd\" d=\"M5.97 9.47a.75.75 0 0 1 1.06 0L12 14.44l4.97-4.97a.75.75 0 1 1 1.06 1.06l-5.5 5.5a.75.75 0 0 1-1.06 0l-5.5-5.5a.75.75 0 0 1 0-1.06\" clip-rule=\"evenodd\"></path></svg>");
1824
+ }
1848
1825
 
1849
- .bi-input {
1850
1826
  appearance: none;
1851
1827
  background: var(--bic-input-background);
1852
1828
  border-radius: var(--bi-radius-medium);
@@ -1864,181 +1840,181 @@ body:has(.bi-dialog:modal) {
1864
1840
  border: none;
1865
1841
  line-height: 1;
1866
1842
  position: relative;
1867
- }
1868
1843
 
1869
- .bi-input[data-size="large"] {
1870
- --bic-input-size: var(--bi-scale-14x);
1871
- --bic-input-font-size: 1.25rem;
1872
- }
1844
+ &[data-size="large"] {
1845
+ --bic-input-size: var(--bi-scale-14x);
1846
+ --bic-input-font-size: 1.25rem;
1847
+ }
1873
1848
 
1874
- .bi-input:where(:not([type="checkbox"], [type="radio"])):hover {
1875
- box-shadow: var(--_bi--hover, var(--bic-input-box-shadow-hover));
1876
- }
1849
+ &:where(:not([type="checkbox"], [type="radio"])) {
1850
+ &:hover {
1851
+ box-shadow: var(--_bi--hover, var(--bic-input-box-shadow-hover));
1852
+ }
1877
1853
 
1878
- .bi-input:where(:not([type="checkbox"], [type="radio"])):focus-visible {
1879
- --bic-input-border-color: var(--bic-input-focus-outline-color);
1880
- }
1854
+ &:focus-visible {
1855
+ --bic-input-border-color: var(--bic-input-focus-outline-color);
1856
+ }
1857
+ }
1881
1858
 
1882
- .bi-input:focus-visible {
1883
- outline: var(--_bi--focus, 3px solid var(--bic-input-focus-outline-color));
1884
- outline-offset: 0;
1885
- box-shadow: var(--_bi--focus, 0px 0px 20px var(--bi-scale-1-5x) #0000000d,
1859
+ &:focus-visible {
1860
+ outline: var(--_bi--focus, 3px solid var(--bic-input-focus-outline-color));
1861
+ outline-offset: 0;
1862
+ box-shadow: var(--_bi--focus, 0px 0px 20px var(--bi-scale-1-5x) #0000000d,
1886
1863
  0px 0px 10px 0px #0000000d);
1887
- }
1888
-
1889
- .bi-input:focus-visible * {
1890
- --_bi--focus: ;
1891
- }
1892
-
1893
- .bi-input::placeholder {
1894
- color: var(--bic-input-placeholder-color);
1895
- }
1896
-
1897
- .bi-input:not([size], [cols]) {
1898
- width: 100%;
1899
- }
1900
-
1901
- .bi-input:disabled, .bi-input[aria-disabled="true"] {
1902
- cursor: not-allowed;
1903
- }
1904
-
1905
- .bi-input[aria-invalid="true"] {
1906
- --bic-input-border-color: var(--bic-input-border-color-invalid);
1907
- }
1908
-
1909
- .bi-input[readonly], .bi-input:disabled, .bi-input[aria-disabled="true"] {
1910
- background: var(--bic-input-background-readonly);
1911
- --bic-input-border-color: var(--bic-input-border-color-readonly);
1912
- color: var(--bic-input-color-readonly);
1913
- }
1914
-
1915
- .bi-input:is(textarea) {
1916
- height: auto;
1917
- min-height: calc(var(--bic-input-size) * 2);
1918
- resize: vertical;
1919
- }
1920
-
1921
- .bi-input:is(textarea):not([rows]) {
1922
- field-sizing: content;
1923
- }
1924
-
1925
- .bi-input:is(select):not([readonly], [aria-disabled="true"], :disabled) {
1926
- cursor: pointer;
1927
- }
1928
-
1929
- .bi-input:is(select) {
1930
- background-image: var(--bic-input-select-chevron);
1931
- background-position: calc(100% - .5em);
1932
- background-repeat: no-repeat;
1933
- background-size: 1.5em;
1934
- }
1935
1864
 
1936
- .bi-input[type="checkbox"], .bi-input[type="radio"] {
1937
- padding: var(--bi-scale-0-50x);
1938
- line-height: inherit;
1939
- height: var(--bic-input-toggle-size);
1940
- width: var(--bic-input-toggle-size);
1941
- box-shadow: none;
1942
- border-width: var(--bi-stroke-medium);
1943
- border-style: solid;
1944
- border-color: var(--bic-input-border-color);
1945
- background: none;
1946
- flex-shrink: 0;
1947
- }
1948
-
1949
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"]):focus-visible {
1950
- box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-input-focus-shadow-color));
1951
- outline: var(--_bi--focus, 3px solid var(--bic-input-focus-outline-color));
1952
- outline-offset: var(--_bi--focus, 3px);
1953
- }
1865
+ & * {
1866
+ --_bi--focus: ;
1867
+ }
1868
+ }
1954
1869
 
1955
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"]):focus-visible * {
1956
- --_bi--focus: ;
1957
- }
1870
+ &::placeholder {
1871
+ color: var(--bic-input-placeholder-color);
1872
+ }
1958
1873
 
1959
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"]):read-only:not([readonly], [aria-disabled="true"], :disabled) {
1960
- cursor: pointer;
1961
- }
1874
+ &:not([size], [cols]) {
1875
+ width: 100%;
1876
+ }
1962
1877
 
1963
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="radio"] {
1964
- border-radius: var(--bi-radius-full);
1965
- }
1878
+ &:disabled, &[aria-disabled="true"] {
1879
+ cursor: not-allowed;
1880
+ }
1966
1881
 
1967
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="radio"]:before {
1968
- content: "";
1969
- background-color: var(--bic-input-toggle-background);
1970
- border-radius: 100%;
1971
- width: 0;
1972
- height: 0;
1973
- transition: width .1s ease-in-out, height .1s ease-in-out;
1974
- display: block;
1975
- position: absolute;
1976
- top: 50%;
1977
- left: 50%;
1978
- transform: translate(-50%, -50%);
1979
- }
1882
+ &[aria-invalid="true"] {
1883
+ --bic-input-border-color: var(--bic-input-border-color-invalid);
1884
+ }
1980
1885
 
1981
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="radio"]:checked {
1982
- --bic-input-border-color: var(--bic-input-toggle-background);
1983
- }
1886
+ &[readonly], &:disabled, &[aria-disabled="true"] {
1887
+ background: var(--bic-input-background-readonly);
1888
+ --bic-input-border-color: var(--bic-input-border-color-readonly);
1889
+ color: var(--bic-input-color-readonly);
1890
+ }
1984
1891
 
1985
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="radio"]:checked:before {
1986
- width: 12px;
1987
- height: 12px;
1988
- }
1892
+ &:is(textarea) {
1893
+ height: auto;
1894
+ min-height: calc(var(--bic-input-size) * 2);
1895
+ resize: vertical;
1989
1896
 
1990
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]) {
1991
- border-radius: var(--bi-radius-small);
1992
- place-content: center;
1993
- display: grid;
1994
- }
1897
+ &:not([rows]) {
1898
+ field-sizing: content;
1899
+ }
1900
+ }
1995
1901
 
1996
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]):before {
1997
- content: "";
1998
- width: .7em;
1999
- height: .7em;
2000
- box-shadow: inset 1em 1em var(--bic-input-toggle-color);
2001
- transform-origin: center;
2002
- clip-path: polygon(9.73% 39.66%, 0% 49.25%, 34.81% 84.58%, 100% 20%, 90.45% 10.31%, 34.81% 65.12%);
2003
- transition: transform .2s ease-in-out;
2004
- transform: scale(0);
2005
- }
1902
+ &:is(select) {
1903
+ &:not([readonly], [aria-disabled="true"], :disabled) {
1904
+ cursor: pointer;
1905
+ }
2006
1906
 
2007
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]):where(:checked, :indeterminate) {
2008
- background: var(--bic-input-toggle-background);
2009
- --bic-input-border-color: var(--bic-input-toggle-background);
2010
- }
1907
+ background-image: var(--bic-input-select-chevron);
1908
+ background-position: calc(100% - .5em);
1909
+ background-repeat: no-repeat;
1910
+ background-size: 1.5em;
1911
+ }
2011
1912
 
2012
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]):where(:checked, :indeterminate):before {
2013
- transform: scale(1);
2014
- }
1913
+ &[type="checkbox"], &[type="radio"] {
1914
+ padding: var(--bi-scale-0-50x);
1915
+ line-height: inherit;
1916
+ height: var(--bic-input-toggle-size);
1917
+ width: var(--bic-input-toggle-size);
1918
+ box-shadow: none;
1919
+ border-width: var(--bi-stroke-medium);
1920
+ border-style: solid;
1921
+ border-color: var(--bic-input-border-color);
1922
+ background: none;
1923
+ flex-shrink: 0;
1924
+
1925
+ &:focus-visible {
1926
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-input-focus-shadow-color));
1927
+ outline: var(--_bi--focus, 3px solid var(--bic-input-focus-outline-color));
1928
+ outline-offset: var(--_bi--focus, 3px);
1929
+
1930
+ & * {
1931
+ --_bi--focus: ;
1932
+ }
1933
+ }
2015
1934
 
2016
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"]:not([role="switch"]):indeterminate:before {
2017
- clip-path: polygon(0% 42%, 0% 58%, 100% 58%, 100% 42%);
2018
- }
1935
+ &:read-only:not([readonly], [aria-disabled="true"], :disabled) {
1936
+ cursor: pointer;
1937
+ }
2019
1938
 
2020
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"][role="switch"] {
2021
- --_bic-input-circle-position-x: var(--bi-scale-0-50x);
2022
- background: var(--bi-neutral-50);
2023
- }
1939
+ &[type="radio"] {
1940
+ border-radius: var(--bi-radius-full);
1941
+
1942
+ &:before {
1943
+ content: "";
1944
+ background-color: var(--bic-input-toggle-background);
1945
+ border-radius: 100%;
1946
+ width: 0;
1947
+ height: 0;
1948
+ transition: width .1s ease-in-out, height .1s ease-in-out;
1949
+ display: block;
1950
+ position: absolute;
1951
+ top: 50%;
1952
+ left: 50%;
1953
+ transform: translate(-50%, -50%);
1954
+ }
1955
+
1956
+ &:checked {
1957
+ --bic-input-border-color: var(--bic-input-toggle-background);
1958
+
1959
+ &:before {
1960
+ width: 12px;
1961
+ height: 12px;
1962
+ }
1963
+ }
1964
+ }
2024
1965
 
2025
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"][role="switch"]:where(:checked) {
2026
- --_bic-input-circle-position-x: calc(100% - var(--bi-scale-0-50x));
2027
- background: var(--bic-input-toggle-background);
2028
- --bic-input-border-color: var(--bic-input-toggle-background);
2029
- }
1966
+ &[type="checkbox"]:not([role="switch"]) {
1967
+ border-radius: var(--bi-radius-small);
1968
+ place-content: center;
1969
+ display: grid;
1970
+
1971
+ &:before {
1972
+ content: "";
1973
+ width: .7em;
1974
+ height: .7em;
1975
+ box-shadow: inset 1em 1em var(--bic-input-toggle-color);
1976
+ transform-origin: center;
1977
+ clip-path: polygon(9.73% 39.66%, 0% 49.25%, 34.81% 84.58%, 100% 20%, 90.45% 10.31%, 34.81% 65.12%);
1978
+ transition: transform .2s ease-in-out;
1979
+ transform: scale(0);
1980
+ }
1981
+
1982
+ &:where(:checked, :indeterminate) {
1983
+ background: var(--bic-input-toggle-background);
1984
+ --bic-input-border-color: var(--bic-input-toggle-background);
1985
+
1986
+ &:before {
1987
+ transform: scale(1);
1988
+ }
1989
+ }
1990
+
1991
+ &:indeterminate:before {
1992
+ clip-path: polygon(0% 42%, 0% 58%, 100% 58%, 100% 42%);
1993
+ }
1994
+ }
2030
1995
 
2031
- :is(.bi-input[type="checkbox"], .bi-input[type="radio"])[type="checkbox"][role="switch"] {
2032
- background-image: radial-gradient(circle closest-side, var(--bi-basic-white) 95%, transparent 100%);
2033
- background-origin: content-box;
2034
- background-position: var(--_bic-input-circle-position-x);
2035
- background-repeat: no-repeat;
2036
- background-size: calc(var(--bic-input-toggle-size)) 100%;
2037
- border-radius: var(--bi-radius-full);
2038
- width: var(--bi-scale-11x);
2039
- height: var(--bi-scale-6x);
2040
- padding-inline: 0;
2041
- transition: background-position .2s;
1996
+ &[type="checkbox"][role="switch"] {
1997
+ --_bic-input-circle-position-x: var(--bi-scale-0-50x);
1998
+ background: var(--bi-neutral-50);
1999
+
2000
+ &:where(:checked) {
2001
+ --_bic-input-circle-position-x: calc(100% - var(--bi-scale-0-50x));
2002
+ background: var(--bic-input-toggle-background);
2003
+ --bic-input-border-color: var(--bic-input-toggle-background);
2004
+ }
2005
+
2006
+ background-image: radial-gradient(circle closest-side, var(--bi-basic-white) 95%, transparent 100%);
2007
+ background-origin: content-box;
2008
+ background-position: var(--_bic-input-circle-position-x);
2009
+ background-repeat: no-repeat;
2010
+ background-size: calc(var(--bic-input-toggle-size)) 100%;
2011
+ border-radius: var(--bi-radius-full);
2012
+ width: var(--bi-scale-11x);
2013
+ height: var(--bi-scale-6x);
2014
+ padding-inline: 0;
2015
+ transition: background-position .2s;
2016
+ }
2017
+ }
2042
2018
  }
2043
2019
 
2044
2020
  .bi-field {
@@ -2061,248 +2037,248 @@ body:has(.bi-dialog:modal) {
2061
2037
  --bic-field-label-required-color: var(--bi-primary-50);
2062
2038
  --bic-field-focus-outline-color: var(--bi-primary-50);
2063
2039
  --bic-field-focus-shadow-color: var(--bi-basic-white);
2064
- }
2065
-
2066
- .bi-field[data-dark="true"] {
2067
- --bic-field-affix-color: var(--bi-neutral-30);
2068
- --bic-field-background: var(--bi-neutral-95);
2069
- --bic-field-background-hover: var(--bi-states-hover-light);
2070
- --bic-field-background-press: var(--bi-states-press-light);
2071
- --bic-field-background-readonly: var(--bi-neutral-50);
2072
- --bic-field-border-color-hover: var(--bi-neutral-25);
2073
- --bic-field-disabled-color: var(--bi-neutral-40);
2074
- --bic-field-description-color: var(--bi-neutral-15);
2075
- --bic-field-label-color: var(--bi-basic-white);
2076
- --bic-field-label-required-color: var(--bi-secondary-50);
2077
- --bic-field-focus-outline-color: var(--bi-primary-30);
2078
- --bic-field-focus-shadow-color: var(--bi-neutral-95);
2079
- }
2080
-
2081
- .bi-field > * {
2082
- margin-block: 0;
2083
- }
2084
2040
 
2085
- .bi-field > * + * {
2086
- margin-top: var(--bic-field-content-spacing);
2087
- }
2041
+ &[data-dark="true"] {
2042
+ --bic-field-affix-color: var(--bi-neutral-30);
2043
+ --bic-field-background: var(--bi-neutral-95);
2044
+ --bic-field-background-hover: var(--bi-states-hover-light);
2045
+ --bic-field-background-press: var(--bi-states-press-light);
2046
+ --bic-field-background-readonly: var(--bi-neutral-50);
2047
+ --bic-field-border-color-hover: var(--bi-neutral-25);
2048
+ --bic-field-disabled-color: var(--bi-neutral-40);
2049
+ --bic-field-description-color: var(--bi-neutral-15);
2050
+ --bic-field-label-color: var(--bi-basic-white);
2051
+ --bic-field-label-required-color: var(--bi-secondary-50);
2052
+ --bic-field-focus-outline-color: var(--bi-primary-30);
2053
+ --bic-field-focus-shadow-color: var(--bi-neutral-95);
2054
+ }
2088
2055
 
2089
- .bi-field .bi-field--description {
2090
- color: var(--bic-field-description-color);
2091
- font: var(--bi-font-body-small);
2092
- line-height: 1.15;
2093
- }
2056
+ & > * {
2057
+ margin-block: 0;
2058
+ }
2094
2059
 
2095
- .bi-field .bi-input:where(:not([hidden])) {
2096
- display: block;
2097
- }
2060
+ & > * + * {
2061
+ margin-top: var(--bic-field-content-spacing);
2062
+ }
2098
2063
 
2099
- .bi-field:has(.bi-input[aria-invalid="true"]) {
2100
- --bic-field-border-color: var(--bic-field-border-color-invalid);
2101
- }
2064
+ & .bi-field--description {
2065
+ color: var(--bic-field-description-color);
2066
+ font: var(--bi-font-body-small);
2067
+ line-height: 1.15;
2068
+ }
2102
2069
 
2103
- .bi-field:has([aria-disabled="true"]:not([role="option"][aria-disabled="true"]), :disabled:not(option)) > * {
2104
- cursor: not-allowed;
2105
- --bic-field-label-color: var(--bic-field-disabled-color);
2106
- --bic-field-description-color: var(--bic-field-disabled-color);
2107
- --bic-field-affix-color: var(--bic-field-disabled-color);
2108
- --bic-input-toggle-background: var(--bic-field-disabled-color);
2109
- }
2070
+ & .bi-input:where(:not([hidden])) {
2071
+ display: block;
2072
+ }
2110
2073
 
2111
- .bi-field[data-fullwidth="true"] {
2112
- width: 100%;
2113
- }
2074
+ &:has(.bi-input[aria-invalid="true"]) {
2075
+ --bic-field-border-color: var(--bic-field-border-color-invalid);
2076
+ }
2114
2077
 
2115
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) {
2116
- border-radius: var(--bi-radius-medium);
2117
- gap: 0 var(--bi-scale-3x);
2118
- width: fit-content;
2119
- padding: var(--bi-scale-2x) var(--bi-scale-3x);
2120
- grid-template-columns: auto 1fr;
2121
- grid-template-areas: "input content";
2122
- align-items: center;
2123
- }
2078
+ &:has([aria-disabled="true"]:not([role="option"][aria-disabled="true"]), :disabled:not(option)) > * {
2079
+ cursor: not-allowed;
2080
+ --bic-field-label-color: var(--bic-field-disabled-color);
2081
+ --bic-field-description-color: var(--bic-field-disabled-color);
2082
+ --bic-field-affix-color: var(--bic-field-disabled-color);
2083
+ --bic-input-toggle-background: var(--bic-field-disabled-color);
2084
+ }
2124
2085
 
2125
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):not([hidden]) {
2126
- display: grid;
2127
- }
2086
+ &[data-fullwidth="true"] {
2087
+ width: 100%;
2088
+ }
2128
2089
 
2129
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"]))[data-fullwidth="true"] {
2130
- width: 100%;
2131
- }
2090
+ &:has(.bi-input:is([type="radio"], [type="checkbox"])) {
2091
+ border-radius: var(--bi-radius-medium);
2092
+ gap: 0 var(--bi-scale-3x);
2093
+ width: fit-content;
2094
+ padding: var(--bi-scale-2x) var(--bi-scale-3x);
2095
+ grid-template-columns: auto 1fr;
2096
+ grid-template-areas: "input content";
2097
+ align-items: center;
2098
+
2099
+ &:not([hidden]) {
2100
+ display: grid;
2101
+ }
2132
2102
 
2133
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input[role="switch"]) {
2134
- border-radius: var(--bi-scale-24x);
2135
- padding: var(--bi-scale-1x) var(--bi-scale-2x);
2136
- }
2103
+ &[data-fullwidth="true"] {
2104
+ width: 100%;
2105
+ }
2137
2106
 
2138
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input[role="switch"]):has(.bi-label)[data-position="start"] {
2139
- padding-inline-end: var(--bi-scale-4x);
2140
- }
2107
+ &:has(.bi-input[role="switch"]) {
2108
+ border-radius: var(--bi-scale-24x);
2109
+ padding: var(--bi-scale-1x) var(--bi-scale-2x);
2141
2110
 
2142
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input[role="switch"]):has(.bi-label)[data-position="end"] {
2143
- padding-inline-start: var(--bi-scale-4x);
2144
- }
2111
+ &:has(.bi-label) {
2112
+ &[data-position="start"] {
2113
+ padding-inline-end: var(--bi-scale-4x);
2114
+ }
2145
2115
 
2146
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) > * {
2147
- grid-column: content;
2148
- margin-block: 0;
2149
- }
2116
+ &[data-position="end"] {
2117
+ padding-inline-start: var(--bi-scale-4x);
2118
+ }
2119
+ }
2120
+ }
2150
2121
 
2151
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) .bi-label {
2152
- margin: var(--bi-scale-0-50x) 0;
2153
- -webkit-user-select: none;
2154
- user-select: none;
2155
- font-size: 1rem;
2156
- line-height: 1.5;
2157
- }
2122
+ & > * {
2123
+ grid-column: content;
2124
+ margin-block: 0;
2125
+ }
2158
2126
 
2159
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])) .bi-input {
2160
- margin: var(--bi-scale-1x) auto;
2161
- grid-area: 1 / input;
2162
- align-self: flex-start;
2163
- }
2127
+ & .bi-label {
2128
+ margin: var(--bi-scale-0-50x) 0;
2129
+ -webkit-user-select: none;
2130
+ user-select: none;
2131
+ font-size: 1rem;
2132
+ line-height: 1.5;
2133
+ }
2164
2134
 
2165
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):is(label):not(:has([readonly], [aria-disabled="true"], :disabled)) {
2166
- cursor: pointer;
2167
- }
2135
+ & .bi-input {
2136
+ margin: var(--bi-scale-1x) auto;
2137
+ grid-area: 1 / input;
2138
+ align-self: flex-start;
2139
+ }
2168
2140
 
2169
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(input:only-child) {
2170
- gap: 0;
2171
- }
2141
+ &:is(label):not(:has([readonly], [aria-disabled="true"], :disabled)) {
2142
+ cursor: pointer;
2143
+ }
2172
2144
 
2173
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):hover:not(:has(a:hover), :has([aria-disabled="true"], :disabled)) {
2174
- background: var(--_bi--hover, var(--bic-field-background-hover));
2175
- }
2145
+ &:has(input:only-child) {
2146
+ gap: 0;
2147
+ }
2176
2148
 
2177
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):hover:not(:has(a:hover), :has([aria-disabled="true"], :disabled)) * {
2178
- --_bi--hover: ;
2179
- }
2149
+ &:hover:not(:has(a:hover), :has([aria-disabled="true"], :disabled)) {
2150
+ background: var(--_bi--hover, var(--bic-field-background-hover));
2180
2151
 
2181
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):active:not(:has(a:active), :has([aria-disabled="true"], :disabled)) {
2182
- background: var(--_bi--hover, var(--bic-field-background-press));
2183
- }
2152
+ & * {
2153
+ --_bi--hover: ;
2154
+ }
2155
+ }
2184
2156
 
2185
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):active:not(:has(a:active), :has([aria-disabled="true"], :disabled)) * {
2186
- --_bi--hover: ;
2187
- }
2157
+ &:active:not(:has(a:active), :has([aria-disabled="true"], :disabled)) {
2158
+ background: var(--_bi--hover, var(--bic-field-background-press));
2188
2159
 
2189
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input:focus-visible) {
2190
- box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-field-focus-shadow-color));
2191
- outline: var(--_bi--focus, 3px solid var(--bic-field-focus-outline-color));
2192
- outline-offset: var(--_bi--focus, 2px);
2193
- }
2160
+ & * {
2161
+ --_bi--hover: ;
2162
+ }
2163
+ }
2194
2164
 
2195
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"])):has(.bi-input:focus-visible) * {
2196
- --_bi--focus: ;
2197
- }
2165
+ &:has(.bi-input:focus-visible) {
2166
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-field-focus-shadow-color));
2167
+ outline: var(--_bi--focus, 3px solid var(--bic-field-focus-outline-color));
2168
+ outline-offset: var(--_bi--focus, 2px);
2198
2169
 
2199
- .bi-field:has(.bi-input:is([type="radio"], [type="checkbox"]))[data-position="end"] {
2200
- grid-template-columns: 1fr auto;
2201
- grid-template-areas: "content input";
2202
- }
2170
+ & * {
2171
+ --_bi--focus: ;
2172
+ }
2173
+ }
2203
2174
 
2204
- .bi-field .bi-field--affixes {
2205
- background: var(--bic-field-background);
2206
- border-radius: var(--bi-radius-medium);
2207
- box-sizing: border-box;
2208
- white-space: nowrap;
2209
- max-width: 100%;
2210
- box-shadow: var(--bic-field-box-shadow);
2211
- }
2175
+ &[data-position="end"] {
2176
+ grid-template-columns: 1fr auto;
2177
+ grid-template-areas: "content input";
2178
+ }
2179
+ }
2212
2180
 
2213
- .bi-field .bi-field--affixes .bi-input {
2214
- --bic-input-background: ;
2215
- --bic-input-box-shadow: ;
2216
- flex: auto;
2217
- }
2181
+ & .bi-field--affixes {
2182
+ background: var(--bic-field-background);
2183
+ border-radius: var(--bi-radius-medium);
2184
+ box-sizing: border-box;
2185
+ white-space: nowrap;
2186
+ max-width: 100%;
2187
+ box-shadow: var(--bic-field-box-shadow);
2188
+
2189
+ & .bi-input {
2190
+ --bic-input-background: ;
2191
+ --bic-input-box-shadow: ;
2192
+ flex: auto;
2193
+ }
2218
2194
 
2219
- .bi-field .bi-field--affixes:not([hidden]) {
2220
- display: flex;
2221
- }
2195
+ &:not([hidden]) {
2196
+ display: flex;
2197
+ }
2222
2198
 
2223
- .bi-field .bi-field--affixes:has(.bi-input[size]) {
2224
- width: fit-content;
2225
- }
2199
+ &:has(.bi-input[size]) {
2200
+ width: fit-content;
2201
+ }
2226
2202
 
2227
- .bi-field .bi-field--affixes:hover {
2228
- box-shadow: var(--_bi--hover, var(--bic-field-box-shadow-hover));
2229
- }
2203
+ &:hover {
2204
+ box-shadow: var(--_bi--hover, var(--bic-field-box-shadow-hover));
2230
2205
 
2231
- .bi-field .bi-field--affixes:hover * {
2232
- --_bi--hover: ;
2233
- }
2206
+ & * {
2207
+ --_bi--hover: ;
2208
+ }
2209
+ }
2234
2210
 
2235
- .bi-field .bi-field--affixes:has(.bi-input:focus-visible) {
2236
- outline: var(--_bi--focus, 3px solid var(--bic-field-focus-outline-color));
2237
- outline-offset: 0;
2238
- box-shadow: var(--_bi--focus, 0px 0px 20px var(--bi-scale-1-5x) #0000000d,
2211
+ &:has(.bi-input:focus-visible) {
2212
+ outline: var(--_bi--focus, 3px solid var(--bic-field-focus-outline-color));
2213
+ outline-offset: 0;
2214
+ box-shadow: var(--_bi--focus, 0px 0px 20px var(--bi-scale-1-5x) #0000000d,
2239
2215
  0px 0px 10px 0px #0000000d);
2240
- }
2241
-
2242
- .bi-field .bi-field--affixes:has(.bi-input:focus-visible) * {
2243
- --_bi--focus: ;
2244
- }
2245
-
2246
- .bi-field .bi-field--affixes .bi-field--affix {
2247
- padding-inline: var(--bic-field-padding-inline);
2248
- color: var(--bic-field-affix-color);
2249
- flex-shrink: 0;
2250
- align-items: center;
2251
- }
2252
2216
 
2253
- .bi-field .bi-field--affixes .bi-field--affix:not([hidden]) {
2254
- display: flex;
2255
- }
2256
-
2257
- .bi-field .bi-field--affixes .bi-field--affix:first-child {
2258
- border-inline-end: 0;
2259
- border-start-start-radius: inherit;
2260
- border-end-start-radius: inherit;
2261
- padding-inline-end: 0;
2262
- }
2217
+ & * {
2218
+ --_bi--focus: ;
2219
+ }
2220
+ }
2263
2221
 
2264
- .bi-field .bi-field--affixes .bi-field--affix:last-child {
2265
- border-inline-start: 0;
2266
- border-start-end-radius: inherit;
2267
- border-end-end-radius: inherit;
2268
- padding-inline-start: 0;
2222
+ & .bi-field--affix {
2223
+ padding-inline: var(--bic-field-padding-inline);
2224
+ color: var(--bic-field-affix-color);
2225
+ flex-shrink: 0;
2226
+ align-items: center;
2227
+
2228
+ &:not([hidden]) {
2229
+ display: flex;
2230
+ }
2231
+
2232
+ &:first-child {
2233
+ border-inline-end: 0;
2234
+ border-start-start-radius: inherit;
2235
+ border-end-start-radius: inherit;
2236
+ padding-inline-end: 0;
2237
+ }
2238
+
2239
+ &:last-child {
2240
+ border-inline-start: 0;
2241
+ border-start-end-radius: inherit;
2242
+ border-end-end-radius: inherit;
2243
+ padding-inline-start: 0;
2244
+ }
2245
+ }
2246
+ }
2269
2247
  }
2270
2248
 
2271
2249
  .bi-fieldset {
2272
2250
  --bic-fieldset-color: var(--bi-neutral-95);
2273
2251
  --bic-fieldset-description-color: var(--bi-neutral-60);
2274
- }
2275
2252
 
2276
- .bi-fieldset[data-dark="true"] {
2277
- --bic-fieldset-color: var(--bi-basic-white);
2278
- --bic-fieldset-description-color: var(--bi-neutral-15);
2279
- }
2253
+ &[data-dark="true"] {
2254
+ --bic-fieldset-color: var(--bi-basic-white);
2255
+ --bic-fieldset-description-color: var(--bi-neutral-15);
2256
+ }
2280
2257
 
2281
- .bi-fieldset {
2282
2258
  border: 0;
2283
2259
  min-width: 0;
2284
2260
  margin: 0;
2285
2261
  padding: 0;
2286
- }
2287
2262
 
2288
- .bi-fieldset > legend {
2289
- color: var(--bic-fieldset-color);
2290
- padding: 0;
2291
- font-size: 1rem;
2292
- }
2263
+ & > legend {
2264
+ color: var(--bic-fieldset-color);
2265
+ padding: 0;
2266
+ font-size: 1rem;
2267
+ }
2293
2268
 
2294
- .bi-fieldset > * + * {
2295
- margin-block-start: var(--bi-scale-1x);
2296
- }
2269
+ & > * + * {
2270
+ margin-block-start: var(--bi-scale-1x);
2271
+ }
2297
2272
 
2298
- .bi-fieldset > legend + p {
2299
- margin-block: var(--bi-scale-1x) 0;
2300
- color: var(--bic-fieldset-description-color);
2301
- font: var(--bi-font-body-large);
2302
- }
2273
+ & > legend + p {
2274
+ margin-block: var(--bi-scale-1x) 0;
2275
+ color: var(--bic-fieldset-description-color);
2276
+ font: var(--bi-font-body-large);
2277
+ }
2303
2278
 
2304
- .bi-fieldset:disabled > legend, .bi-fieldset:disabled > legend + p {
2305
- opacity: var(--ds-opacity-disabled);
2279
+ &:disabled > legend, &:disabled > legend + p {
2280
+ opacity: var(--ds-opacity-disabled);
2281
+ }
2306
2282
  }
2307
2283
 
2308
2284
  .bi-filter-group {
@@ -2316,118 +2292,116 @@ body:has(.bi-dialog:modal) {
2316
2292
  --bic-filter-group-text-color: var(--bi-neutral-90);
2317
2293
  --bic-filter-focus-shadow-color: var(--bi-basic-white);
2318
2294
  --bic-filter-focus-outline-color: var(--bi-primary-50);
2319
- }
2320
2295
 
2321
- .bi-filter-group[data-dark="true"] {
2322
- --bic-filter-group-background: var(--bi-neutral-90);
2323
- --bic-filter-group-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
2296
+ &[data-dark="true"] {
2297
+ --bic-filter-group-background: var(--bi-neutral-90);
2298
+ --bic-filter-group-background-hover: linear-gradient(0deg, var(--bi-states-hover-light) 0%, var(--bi-states-hover-light) 100%),
2324
2299
  var(--bic-filter-group-background);
2325
- --bic-filter-group-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
2300
+ --bic-filter-group-background-press: linear-gradient(0deg, var(--bi-states-press-light) 0%, var(--bi-states-press-light) 100%),
2326
2301
  var(--bic-filter-group-background);
2327
- --bic-filter-group-background-expanded: var(--bi-neutral-80);
2328
- --bic-filter-group-border-color: var(--bi-neutral-70);
2329
- --bic-filter-group-text-color: var(--bi-basic-white);
2330
- --bic-filter-focus-shadow-color: var(--bi-neutral-95);
2331
- --bic-filter-focus-outline-color: var(--bi-primary-30);
2332
- }
2302
+ --bic-filter-group-background-expanded: var(--bi-neutral-80);
2303
+ --bic-filter-group-border-color: var(--bi-neutral-70);
2304
+ --bic-filter-group-text-color: var(--bi-basic-white);
2305
+ --bic-filter-focus-shadow-color: var(--bi-neutral-95);
2306
+ --bic-filter-focus-outline-color: var(--bi-primary-30);
2307
+ }
2333
2308
 
2334
- .bi-filter-group {
2335
2309
  flex-direction: column;
2336
2310
  display: flex;
2337
- }
2338
-
2339
- .bi-filter-group > button {
2340
- border: none;
2341
- border-bottom: var(--bi-scale-0-25x) solid var(--bic-filter-group-border-color);
2342
- height: var(--bi-scale-12x);
2343
- color: var(--bic-filter-group-text-color);
2344
- align-items: center;
2345
- gap: calc(var(--bi-scale-2x) + var(--bi-scale-0-50x));
2346
- width: 100%;
2347
- padding: var(--bi-scale-2x) calc(var(--bi-scale-2x) + var(--bi-scale-0-50x));
2348
- background: var(--bic-filter-group-background);
2349
- cursor: pointer;
2350
- border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
2351
- -webkit-user-select: none;
2352
- user-select: none;
2353
- flex-direction: row;
2354
- display: flex;
2355
- }
2356
2311
 
2357
- @media (hover: hover) and (pointer: fine) {
2358
- .bi-filter-group > button:hover {
2359
- background: var(--bic-filter-group-background-hover);
2360
- }
2361
- }
2312
+ & > button {
2313
+ border: none;
2314
+ border-bottom: var(--bi-scale-0-25x) solid var(--bic-filter-group-border-color);
2315
+ height: var(--bi-scale-12x);
2316
+ color: var(--bic-filter-group-text-color);
2317
+ align-items: center;
2318
+ gap: calc(var(--bi-scale-2x) + var(--bi-scale-0-50x));
2319
+ width: 100%;
2320
+ padding: var(--bi-scale-2x) calc(var(--bi-scale-2x) + var(--bi-scale-0-50x));
2321
+ background: var(--bic-filter-group-background);
2322
+ cursor: pointer;
2323
+ border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
2324
+ -webkit-user-select: none;
2325
+ user-select: none;
2326
+ flex-direction: row;
2327
+ display: flex;
2328
+
2329
+ @media (hover: hover) and (pointer: fine) {
2330
+ &:hover {
2331
+ background: var(--bic-filter-group-background-hover);
2332
+ }
2333
+ }
2362
2334
 
2363
- .bi-filter-group > button:active {
2364
- background: var(--bic-filter-group-background-press);
2365
- }
2335
+ &:active {
2336
+ background: var(--bic-filter-group-background-press);
2337
+ }
2366
2338
 
2367
- .bi-filter-group > button:focus-visible {
2368
- box-shadow: 0 0 0 4.5px var(--bic-filter-focus-shadow-color);
2369
- outline: 3px solid var(--bic-filter-focus-outline-color);
2370
- outline-offset: 3px;
2371
- border-radius: var(--bi-radius-small);
2372
- }
2339
+ &:focus-visible {
2340
+ box-shadow: 0 0 0 4.5px var(--bic-filter-focus-shadow-color);
2341
+ outline: 3px solid var(--bic-filter-focus-outline-color);
2342
+ outline-offset: 3px;
2343
+ border-radius: var(--bi-radius-small);
2344
+ }
2373
2345
 
2374
- .bi-filter-group > button > svg {
2375
- width: var(--bi-scale-6x);
2376
- height: var(--bi-scale-6x);
2377
- font-size: var(--bi-icon-medium);
2378
- }
2346
+ & > svg {
2347
+ width: var(--bi-scale-6x);
2348
+ height: var(--bi-scale-6x);
2349
+ font-size: var(--bi-icon-medium);
2350
+ }
2379
2351
 
2380
- .bi-filter-group > button > h3 {
2381
- text-align: left;
2382
- font: var(--bi-font-title-bold-xs);
2383
- flex: 1;
2384
- margin: 0;
2385
- }
2352
+ & > h3 {
2353
+ text-align: left;
2354
+ font: var(--bi-font-title-bold-xs);
2355
+ flex: 1;
2356
+ margin: 0;
2357
+ }
2358
+ }
2386
2359
 
2387
- .bi-filter-group > div {
2388
- gap: var(--bi-scale-2x);
2389
- padding: var(--bi-scale-2x) 0 var(--bi-scale-8x);
2390
- flex-direction: column;
2391
- display: none;
2392
- }
2360
+ & > div {
2361
+ gap: var(--bi-scale-2x);
2362
+ padding: var(--bi-scale-2x) 0 var(--bi-scale-8x);
2363
+ flex-direction: column;
2364
+ display: none;
2393
2365
 
2394
- .bi-filter-group > div > .bi-field:has(.bi-input[type="checkbox"]) {
2395
- width: 100%;
2396
- }
2366
+ & > .bi-field:has(.bi-input[type="checkbox"]) {
2367
+ width: 100%;
2368
+ }
2369
+ }
2397
2370
 
2398
- .bi-filter-group:last-of-type > button {
2399
- border-radius: var(--bi-radius-small);
2400
- border-bottom-color: #0000;
2401
- }
2371
+ &:last-of-type {
2372
+ & > button {
2373
+ border-radius: var(--bi-radius-small);
2374
+ border-bottom-color: #0000;
2375
+ }
2402
2376
 
2403
- .bi-filter-group:last-of-type > div {
2404
- padding: var(--bi-scale-2x) 0;
2405
- }
2377
+ & > div {
2378
+ padding: var(--bi-scale-2x) 0;
2379
+ }
2380
+ }
2406
2381
 
2407
- .bi-filter-group[data-expanded="true"] {
2408
- --bic-filter-group-background: var(--bic-filter-group-background-expanded);
2409
- }
2382
+ &[data-expanded="true"] {
2383
+ --bic-filter-group-background: var(--bic-filter-group-background-expanded);
2410
2384
 
2411
- .bi-filter-group[data-expanded="true"] > button {
2412
- border-radius: var(--bi-radius-small);
2413
- border-bottom-color: #0000;
2414
- }
2385
+ & > button {
2386
+ border-radius: var(--bi-radius-small);
2387
+ border-bottom-color: #0000;
2388
+ }
2415
2389
 
2416
- .bi-filter-group[data-expanded="true"] > div {
2417
- display: flex;
2390
+ & > div {
2391
+ display: flex;
2392
+ }
2393
+ }
2418
2394
  }
2419
2395
 
2420
2396
  .bi-footer {
2421
2397
  --bic-footer-color: var(--bi-basic-key);
2422
2398
  --bic-footer-background: var(--bi-basic-white);
2423
- }
2424
2399
 
2425
- .bi-footer[data-dark="true"] {
2426
- --bic-footer-color: var(--bi-basic-white);
2427
- --bic-footer-background: var(--bi-primary-95);
2428
- }
2400
+ &[data-dark="true"] {
2401
+ --bic-footer-color: var(--bi-basic-white);
2402
+ --bic-footer-background: var(--bi-primary-95);
2403
+ }
2429
2404
 
2430
- .bi-footer {
2431
2405
  width: 100%;
2432
2406
  color: var(--bic-footer-color);
2433
2407
  background-color: var(--bic-footer-background);
@@ -2441,208 +2415,196 @@ body:has(.bi-dialog:modal) {
2441
2415
  width: 100%;
2442
2416
  margin-top: -1px;
2443
2417
  display: flex;
2444
- }
2445
-
2446
- .bi-footer .bi-footer--links-container {
2447
- gap: var(--bi-scale-4x) var(--bi-scale-14x);
2448
- flex-wrap: wrap;
2449
- justify-content: center;
2450
- display: flex;
2451
- }
2452
-
2453
- @media (width < 768px) {
2454
- .bi-footer .bi-footer--links-container {
2455
- flex-direction: column;
2456
- }
2457
- }
2458
-
2459
- .bi-footer .bi-footer--links-container .bi-footer--links {
2460
- min-height: 44px;
2461
- font: var(--bi-font-label-large);
2462
- flex-direction: row;
2463
- justify-content: center;
2464
- align-items: center;
2465
- margin: auto;
2466
- display: flex;
2467
- }
2468
-
2469
- @media (width < 768px) {
2470
- .bi-footer .bi-footer--links-container .bi-footer--links {
2471
- flex-direction: column;
2472
- }
2473
- }
2474
-
2475
- .bi-footer .bi-footer--links-container .bi-footer--links > p {
2476
- margin: 0 var(--bi-scale-0-50x) 0 0;
2477
- font-weight: 300;
2478
- }
2479
2418
 
2480
- @media (width < 768px) {
2481
- .bi-footer .bi-footer--links-container .bi-footer--links > p {
2482
- margin: var(--bi-scale-3x) 0;
2483
- }
2484
- }
2419
+ & .bi-footer--links-container {
2420
+ gap: var(--bi-scale-4x) var(--bi-scale-14x);
2421
+ flex-wrap: wrap;
2422
+ justify-content: center;
2423
+ display: flex;
2485
2424
 
2486
- .bi-footer .bi-footer--links-container .bi-footer--links > div {
2487
- justify-content: center;
2488
- align-items: center;
2489
- gap: var(--bi-scale-3x) var(--bi-scale-10x);
2490
- white-space: nowrap;
2491
- flex-direction: row;
2492
- width: 100%;
2493
- display: flex;
2494
- }
2425
+ @media (width < 768px) {
2426
+ flex-direction: column;
2427
+ }
2495
2428
 
2496
- @media (width < 768px) {
2497
- .bi-footer .bi-footer--links-container .bi-footer--links > div {
2498
- flex-direction: column;
2429
+ & .bi-footer--links {
2430
+ min-height: 44px;
2431
+ font: var(--bi-font-label-large);
2432
+ flex-direction: row;
2433
+ justify-content: center;
2434
+ align-items: center;
2435
+ margin: auto;
2436
+ display: flex;
2437
+
2438
+ @media (width < 768px) {
2439
+ flex-direction: column;
2440
+ }
2441
+
2442
+ & > p {
2443
+ margin: 0 var(--bi-scale-0-50x) 0 0;
2444
+ font-weight: 300;
2445
+
2446
+ @media (width < 768px) {
2447
+ margin: var(--bi-scale-3x) 0;
2448
+ }
2449
+ }
2450
+
2451
+ & > div {
2452
+ justify-content: center;
2453
+ align-items: center;
2454
+ gap: var(--bi-scale-3x) var(--bi-scale-10x);
2455
+ white-space: nowrap;
2456
+ flex-direction: row;
2457
+ width: 100%;
2458
+ display: flex;
2459
+
2460
+ @media (width < 768px) {
2461
+ flex-direction: column;
2462
+ }
2463
+ }
2464
+ }
2499
2465
  }
2500
- }
2501
2466
 
2502
- .bi-footer .bi-footer--accreditations {
2503
- justify-content: center;
2504
- align-items: center;
2505
- gap: var(--bi-scale-12x);
2506
- flex-wrap: wrap;
2507
- min-height: 58px;
2508
- display: flex;
2509
- }
2467
+ & .bi-footer--accreditations {
2468
+ justify-content: center;
2469
+ align-items: center;
2470
+ gap: var(--bi-scale-12x);
2471
+ flex-wrap: wrap;
2472
+ min-height: 58px;
2473
+ display: flex;
2510
2474
 
2511
- @media (width < 600px) {
2512
- .bi-footer .bi-footer--accreditations {
2513
- gap: var(--bi-scale-2x) var(--bi-scale-1x);
2514
- }
2515
- }
2475
+ @media (width < 600px) {
2476
+ gap: var(--bi-scale-2x) var(--bi-scale-1x);
2477
+ }
2516
2478
 
2517
- .bi-footer .bi-footer--accreditations .bi-footer--aacsb, .bi-footer .bi-footer--accreditations .bi-footer--amba, .bi-footer .bi-footer--accreditations .bi-footer--equis {
2518
- background-position: center;
2519
- background-repeat: no-repeat;
2520
- background-size: contain;
2521
- height: 58px;
2522
- display: block;
2523
- }
2479
+ & .bi-footer--aacsb, & .bi-footer--amba, & .bi-footer--equis {
2480
+ background-position: center;
2481
+ background-repeat: no-repeat;
2482
+ background-size: contain;
2483
+ height: 58px;
2484
+ display: block;
2485
+ }
2524
2486
 
2525
- .bi-footer .bi-footer--accreditations .bi-footer--aacsb {
2526
- background-image: url("./assets/accreditations/aacsb.svg");
2527
- width: 127px;
2528
- }
2487
+ & .bi-footer--aacsb {
2488
+ background-image: url("./assets/accreditations/aacsb.svg");
2489
+ width: 127px;
2529
2490
 
2530
- .bi-footer .bi-footer--accreditations .bi-footer--aacsb:is([data-dark="true"] .bi-footer--aacsb) {
2531
- background-image: url("./assets/accreditations/aacsb-neg.svg");
2532
- }
2491
+ &:is([data-dark="true"] .bi-footer--aacsb) {
2492
+ background-image: url("./assets/accreditations/aacsb-neg.svg");
2493
+ }
2494
+ }
2533
2495
 
2534
- .bi-footer .bi-footer--accreditations .bi-footer--amba {
2535
- background-image: url("./assets/accreditations/amba.svg");
2536
- width: 122px;
2537
- }
2496
+ & .bi-footer--amba {
2497
+ background-image: url("./assets/accreditations/amba.svg");
2498
+ width: 122px;
2538
2499
 
2539
- .bi-footer .bi-footer--accreditations .bi-footer--amba:is([data-dark="true"] .bi-footer--amba) {
2540
- background-image: url("./assets/accreditations/amba-neg.svg");
2541
- }
2500
+ &:is([data-dark="true"] .bi-footer--amba) {
2501
+ background-image: url("./assets/accreditations/amba-neg.svg");
2502
+ }
2503
+ }
2542
2504
 
2543
- .bi-footer .bi-footer--accreditations .bi-footer--equis {
2544
- background-image: url("./assets/accreditations/equis.svg");
2545
- width: 104px;
2546
- }
2505
+ & .bi-footer--equis {
2506
+ background-image: url("./assets/accreditations/equis.svg");
2507
+ width: 104px;
2547
2508
 
2548
- .bi-footer .bi-footer--accreditations .bi-footer--equis:is([data-dark="true"] .bi-footer--equis) {
2549
- background-image: url("./assets/accreditations/equis-neg.svg");
2550
- }
2509
+ &:is([data-dark="true"] .bi-footer--equis) {
2510
+ background-image: url("./assets/accreditations/equis-neg.svg");
2511
+ }
2512
+ }
2513
+ }
2551
2514
 
2552
- .bi-footer .bi-footer--socials {
2553
- justify-content: center;
2554
- align-items: center;
2555
- gap: var(--bi-scale-8x);
2556
- flex-wrap: wrap;
2557
- display: flex;
2558
- }
2515
+ & .bi-footer--socials {
2516
+ justify-content: center;
2517
+ align-items: center;
2518
+ gap: var(--bi-scale-8x);
2519
+ flex-wrap: wrap;
2520
+ display: flex;
2559
2521
 
2560
- @media (width < 600px) {
2561
- .bi-footer .bi-footer--socials {
2562
- gap: var(--bi-scale-2x);
2522
+ @media (width < 600px) {
2523
+ gap: var(--bi-scale-2x);
2524
+ }
2525
+ }
2526
+
2527
+ & .bi-footer--copyright {
2528
+ text-align: center;
2529
+ font: var(--bi-font-body-large);
2530
+ font-weight: var(--bi-font-weight-regular);
2531
+ margin: 0;
2563
2532
  }
2564
- }
2565
-
2566
- .bi-footer .bi-footer--copyright {
2567
- text-align: center;
2568
- font: var(--bi-font-body-large);
2569
- font-weight: var(--bi-font-weight-regular);
2570
- margin: 0;
2571
2533
  }
2572
2534
 
2573
2535
  svg {
2574
2536
  --bic-icon-size: inherit;
2575
2537
  font-size: var(--bic-icon-size);
2576
2538
  display: inline-block;
2577
- }
2578
2539
 
2579
- svg[data-size="2xl"] {
2580
- --bic-icon-size: var(--bi-icon-2xl) !important;
2581
- }
2540
+ &[data-size="2xl"] {
2541
+ --bic-icon-size: var(--bi-icon-2xl) !important;
2542
+ }
2582
2543
 
2583
- svg[data-size="xl"] {
2584
- --bic-icon-size: var(--bi-icon-xl) !important;
2585
- }
2544
+ &[data-size="xl"] {
2545
+ --bic-icon-size: var(--bi-icon-xl) !important;
2546
+ }
2586
2547
 
2587
- svg[data-size="large"] {
2588
- --bic-icon-size: var(--bi-icon-large) !important;
2589
- }
2548
+ &[data-size="large"] {
2549
+ --bic-icon-size: var(--bi-icon-large) !important;
2550
+ }
2590
2551
 
2591
- svg[data-size="medium"] {
2592
- --bic-icon-size: var(--bi-icon-medium) !important;
2593
- }
2552
+ &[data-size="medium"] {
2553
+ --bic-icon-size: var(--bi-icon-medium) !important;
2554
+ }
2594
2555
 
2595
- svg[data-size="small"] {
2596
- --bic-icon-size: var(--bi-icon-small) !important;
2597
- }
2556
+ &[data-size="small"] {
2557
+ --bic-icon-size: var(--bi-icon-small) !important;
2558
+ }
2598
2559
 
2599
- svg[data-color="inherit"] {
2600
- color: inherit;
2601
- }
2560
+ &[data-color="inherit"] {
2561
+ color: inherit;
2562
+ }
2602
2563
 
2603
- svg[data-color="primary"] {
2604
- color: #01417b;
2605
- }
2564
+ &[data-color="primary"] {
2565
+ color: #01417b;
2566
+ }
2606
2567
 
2607
- svg[data-color="gray"] {
2608
- color: #1c1b1b;
2609
- }
2568
+ &[data-color="gray"] {
2569
+ color: #1c1b1b;
2570
+ }
2610
2571
 
2611
- svg[data-color="black"] {
2612
- color: var(--bi-basic-key);
2613
- }
2572
+ &[data-color="black"] {
2573
+ color: var(--bi-basic-key);
2574
+ }
2614
2575
 
2615
- svg[data-color="white"] {
2616
- color: var(--bi-basic-white);
2576
+ &[data-color="white"] {
2577
+ color: var(--bi-basic-white);
2578
+ }
2617
2579
  }
2618
2580
 
2619
2581
  .bi-label {
2620
2582
  --bic-label-color: var(--bic-field-label-color, var(--bi-neutral-95));
2621
2583
  --bic-label-required-color: var(--bic-field-label-required-color, var(--bi-primary-50));
2622
- }
2623
2584
 
2624
- .bi-label[data-dark="true"] {
2625
- --bic-label-color: var(--bic-field-label-color, var(--bi-basic-white));
2626
- --bic-label-required-color: var(--bic-field-label-required-color, var(--bi-secondary-50));
2627
- }
2585
+ &[data-dark="true"] {
2586
+ --bic-label-color: var(--bic-field-label-color, var(--bi-basic-white));
2587
+ --bic-label-required-color: var(--bic-field-label-required-color, var(--bi-secondary-50));
2588
+ }
2628
2589
 
2629
- .bi-label {
2630
2590
  color: var(--bic-label-color);
2631
2591
  font: var(--bi-font-label-medium);
2632
- }
2633
2592
 
2634
- .bi-label[data-weight="medium"] {
2635
- font-weight: var(--bi-font-weight-regular);
2636
- }
2593
+ &[data-weight="medium"] {
2594
+ font-weight: var(--bi-font-weight-regular);
2595
+ }
2637
2596
 
2638
- .bi-label[data-weight="regular"] {
2639
- font-weight: 300;
2640
- }
2597
+ &[data-weight="regular"] {
2598
+ font-weight: 300;
2599
+ }
2641
2600
 
2642
- .bi-label:has( ~ .bi-input:required, ~ .bi-field--affixes > .bi-input:required):before {
2643
- content: "*";
2644
- color: var(--bic-label-required-color);
2645
- padding-inline-end: var(--bi-scale-0-25x);
2601
+ &:has( ~ .bi-input:required, ~ .bi-field--affixes > .bi-input:required) {
2602
+ &:before {
2603
+ content: "*";
2604
+ color: var(--bic-label-required-color);
2605
+ padding-inline-end: var(--bi-scale-0-25x);
2606
+ }
2607
+ }
2646
2608
  }
2647
2609
 
2648
2610
  .bi-link {
@@ -2660,64 +2622,64 @@ svg[data-color="white"] {
2660
2622
  text-decoration-thickness: var(--bic-link-text-decoration-thickness);
2661
2623
  text-underline-offset: .25em;
2662
2624
  outline: none;
2663
- }
2664
-
2665
- .bi-link :is(img, svg) {
2666
- vertical-align: middle;
2667
- }
2668
2625
 
2669
- .bi-link[data-dark="true"] {
2670
- --bic-link-background-active: var(--bi-primary-80);
2671
- --bic-link-color-active: var(--bi-primary-30);
2672
- --bic-link-color-hover: var(--bi-primary-30);
2673
- --bic-link-color: var(--bi-primary-40);
2674
- --bic-link-focus-shadow-color: var(--bi-neutral-95);
2675
- --bic-link-focus-outline-color: var(--bi-primary-30);
2676
- }
2626
+ & :is(img, svg) {
2627
+ vertical-align: middle;
2628
+ }
2677
2629
 
2678
- .bi-link[data-color="neutral"] {
2679
- --bic-link-background-active: var(--bi-neutral-10);
2680
- --bic-link-color-active: var(--bi-neutral-100);
2681
- --bic-link-color-hover: var(--bi-neutral-100);
2682
- --bic-link-color: var(--bi-neutral-90);
2683
- }
2630
+ &[data-dark="true"] {
2631
+ --bic-link-background-active: var(--bi-primary-80);
2632
+ --bic-link-color-active: var(--bi-primary-30);
2633
+ --bic-link-color-hover: var(--bi-primary-30);
2634
+ --bic-link-color: var(--bi-primary-40);
2635
+ --bic-link-focus-shadow-color: var(--bi-neutral-95);
2636
+ --bic-link-focus-outline-color: var(--bi-primary-30);
2637
+ }
2684
2638
 
2685
- .bi-link[data-color="neutral"][data-dark="true"] {
2686
- --bic-link-background-active: var(--bi-neutral-90);
2687
- --bic-link-color-active: var(--bi-neutral-15);
2688
- --bic-link-color-hover: var(--bi-neutral-15);
2689
- --bic-link-color: var(--bi-neutral-5);
2690
- }
2639
+ &[data-color="neutral"] {
2640
+ --bic-link-background-active: var(--bi-neutral-10);
2641
+ --bic-link-color-active: var(--bi-neutral-100);
2642
+ --bic-link-color-hover: var(--bi-neutral-100);
2643
+ --bic-link-color: var(--bi-neutral-90);
2644
+
2645
+ &[data-dark="true"] {
2646
+ --bic-link-background-active: var(--bi-neutral-90);
2647
+ --bic-link-color-active: var(--bi-neutral-15);
2648
+ --bic-link-color-hover: var(--bi-neutral-15);
2649
+ --bic-link-color: var(--bi-neutral-5);
2650
+ }
2651
+ }
2691
2652
 
2692
- .bi-link[data-underline="hover"]:not(:hover) {
2693
- text-decoration: none;
2694
- }
2653
+ &[data-underline="hover"]:not(:hover) {
2654
+ text-decoration: none;
2655
+ }
2695
2656
 
2696
- .bi-link:visited {
2697
- color: var(--bic-link-color);
2698
- }
2657
+ &:visited {
2658
+ color: var(--bic-link-color);
2659
+ }
2699
2660
 
2700
- @media (hover: hover) and (pointer: fine) {
2701
- .bi-link:hover {
2702
- color: var(--bic-link-color-hover);
2703
- --bic-link-text-decoration-thickness: var(--bic-link-text-decoration-thickness--hover);
2661
+ @media (hover: hover) and (pointer: fine) {
2662
+ &:hover {
2663
+ color: var(--bic-link-color-hover);
2664
+ --bic-link-text-decoration-thickness: var(--bic-link-text-decoration-thickness--hover);
2665
+ }
2704
2666
  }
2705
- }
2706
2667
 
2707
- .bi-link:focus-visible {
2708
- box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-link-focus-shadow-color), var(--bic-button-box-shadow));
2709
- outline: var(--_bi--focus, 3px solid var(--bic-link-focus-outline-color));
2710
- outline-offset: var(--_bi--focus, 2px);
2711
- border-radius: var(--bi-radius-small);
2712
- }
2668
+ &:focus-visible {
2669
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px var(--bic-link-focus-shadow-color), var(--bic-button-box-shadow));
2670
+ outline: var(--_bi--focus, 3px solid var(--bic-link-focus-outline-color));
2671
+ outline-offset: var(--_bi--focus, 2px);
2672
+ border-radius: var(--bi-radius-small);
2713
2673
 
2714
- .bi-link:focus-visible * {
2715
- --_bi--focus: ;
2716
- }
2674
+ & * {
2675
+ --_bi--focus: ;
2676
+ }
2677
+ }
2717
2678
 
2718
- .bi-link:active {
2719
- background: var(--bic-link-background-active);
2720
- color: var(--bic-link-color-active);
2679
+ &:active {
2680
+ background: var(--bic-link-background-active);
2681
+ color: var(--bic-link-color-active);
2682
+ }
2721
2683
  }
2722
2684
 
2723
2685
  [data-bi-pride="true"] {
@@ -2741,51 +2703,49 @@ svg[data-color="white"] {
2741
2703
  background-size: contain;
2742
2704
  justify-content: center;
2743
2705
  display: flex;
2744
- }
2745
-
2746
- .bi-logo[data-dark="true"] {
2747
- --bic-logo-international-vertical: var(--bic-logo-pride-dark-international-vertical, url("./assets/logos/vertical-dark.svg"));
2748
- --bic-logo-international: var(--bic-logo-pride-dark-international, url("./assets/logos/international-dark.svg"));
2749
- --bic-logo-default: var(--bic-logo-pride-dark-default, url("./assets/logos/dark.svg"));
2750
- }
2751
2706
 
2752
- .bi-logo[data-size="xs"] {
2753
- --bic-logo-height: var(--bi-scale-6x);
2754
- }
2707
+ &[data-dark="true"] {
2708
+ --bic-logo-international-vertical: var(--bic-logo-pride-dark-international-vertical, url("./assets/logos/vertical-dark.svg"));
2709
+ --bic-logo-international: var(--bic-logo-pride-dark-international, url("./assets/logos/international-dark.svg"));
2710
+ --bic-logo-default: var(--bic-logo-pride-dark-default, url("./assets/logos/dark.svg"));
2711
+ }
2755
2712
 
2756
- .bi-logo[data-size="small"] {
2757
- --bic-logo-height: var(--bi-scale-8x);
2758
- }
2713
+ &[data-size="xs"] {
2714
+ --bic-logo-height: var(--bi-scale-6x);
2715
+ }
2759
2716
 
2760
- .bi-logo[data-size="medium"] {
2761
- --bic-logo-height: var(--bi-scale-11x);
2762
- }
2717
+ &[data-size="small"] {
2718
+ --bic-logo-height: var(--bi-scale-8x);
2719
+ }
2763
2720
 
2764
- .bi-logo[data-size="large"] {
2765
- --bic-logo-height: var(--bi-scale-24x);
2766
- }
2721
+ &[data-size="medium"] {
2722
+ --bic-logo-height: var(--bi-scale-11x);
2723
+ }
2767
2724
 
2768
- .bi-logo[data-size="xl"] {
2769
- --bic-logo-height: var(--bi-scale-36x);
2770
- }
2725
+ &[data-size="large"] {
2726
+ --bic-logo-height: var(--bi-scale-24x);
2727
+ }
2771
2728
 
2772
- .bi-logo[data-size="xxl"] {
2773
- --bic-logo-height: var(--bi-scale-48x);
2774
- }
2729
+ &[data-size="xl"] {
2730
+ --bic-logo-height: var(--bi-scale-36x);
2731
+ }
2775
2732
 
2776
- @media (width >= 795px) {
2777
- .bi-logo[data-international="true"][data-vertical="true"] {
2778
- background-image: var(--bic-logo-international-vertical);
2779
- aspect-ratio: .974318;
2733
+ &[data-size="xxl"] {
2734
+ --bic-logo-height: var(--bi-scale-48x);
2780
2735
  }
2781
2736
 
2782
- .bi-logo[data-international="true"] {
2783
- background-image: var(--bic-logo-international);
2784
- aspect-ratio: 2.8125;
2737
+ @media (width >= 795px) {
2738
+ &[data-international="true"] {
2739
+ &[data-vertical="true"] {
2740
+ background-image: var(--bic-logo-international-vertical);
2741
+ aspect-ratio: .974318;
2742
+ }
2743
+
2744
+ background-image: var(--bic-logo-international);
2745
+ aspect-ratio: 2.8125;
2746
+ }
2785
2747
  }
2786
- }
2787
2748
 
2788
- .bi-logo {
2789
2749
  background-image: var(--bic-logo-default);
2790
2750
  }
2791
2751
 
@@ -2807,95 +2767,94 @@ svg[data-color="white"] {
2807
2767
  width: 100%;
2808
2768
  color: var(--bic-navbar-color);
2809
2769
  display: flex;
2810
- }
2811
2770
 
2812
- .bi-navbar[data-dark="true"] {
2813
- --bic-navbar-background-color: var(--bi-primary-95);
2814
- --bic-navbar-color: var(--bi-basic-white);
2815
- }
2771
+ &[data-dark="true"] {
2772
+ --bic-navbar-background-color: var(--bi-primary-95);
2773
+ --bic-navbar-color: var(--bi-basic-white);
2774
+ }
2816
2775
 
2817
- .bi-navbar > header {
2818
- height: var(--bi-layout-navbar-height);
2819
- align-items: center;
2820
- gap: var(--bi-scale-6x);
2821
- width: 100%;
2822
- padding: 0 var(--bi-scale-6x);
2823
- background-color: inherit;
2824
- color: inherit;
2825
- display: flex;
2826
- }
2776
+ & > header {
2777
+ height: var(--bi-layout-navbar-height);
2778
+ align-items: center;
2779
+ gap: var(--bi-scale-6x);
2780
+ width: 100%;
2781
+ padding: 0 var(--bi-scale-6x);
2782
+ background-color: inherit;
2783
+ color: inherit;
2784
+ z-index: 130;
2785
+ display: flex;
2786
+
2787
+ @media (width < 768px) {
2788
+ padding: 0 var(--bi-scale-4x);
2789
+ }
2827
2790
 
2828
- @media (width < 768px) {
2829
- .bi-navbar > header {
2830
- padding: 0 var(--bi-scale-4x);
2831
- }
2832
- }
2791
+ @media (prefers-reduced-motion: no-preference) {
2792
+ transition: transform .2s ease-in-out;
2793
+ }
2833
2794
 
2834
- @media (prefers-reduced-motion: no-preference) {
2835
- .bi-navbar > header {
2836
- transition: transform .2s ease-in-out;
2795
+ & > :first-child {
2796
+ margin-right: auto;
2797
+ }
2837
2798
  }
2838
- }
2839
-
2840
- .bi-navbar > header > :first-child {
2841
- margin-right: auto;
2842
- }
2843
2799
 
2844
- .bi-navbar[data-fixed="true"] > header {
2845
- z-index: 130;
2846
- position: fixed;
2847
- top: 0;
2848
- left: 0;
2849
- right: 0;
2850
- }
2800
+ &[data-fixed="true"] {
2801
+ & > header {
2802
+ position: fixed;
2803
+ top: 0;
2804
+ left: 0;
2805
+ right: 0;
2806
+ }
2807
+ }
2851
2808
 
2852
- .bi-navbar[data-fixed="true"][data-transparent="true"] {
2853
- height: 0;
2854
- animation-name: bi-navbar-transparent-reveal;
2855
- animation-timing-function: linear;
2856
- animation-fill-mode: both;
2857
- animation-timeline: scroll();
2858
- animation-range: 0px var(--bi-layout-navbar-height);
2859
- }
2809
+ &:not([data-fixed="true"])[data-transparent="true"] {
2810
+ --bic-navbar-background-color: transparent;
2811
+ height: 0;
2812
+ }
2860
2813
 
2861
- @media (prefers-reduced-motion: reduce) {
2862
- .bi-navbar[data-fixed="true"][data-transparent="true"] {
2863
- animation-timing-function: step-end;
2814
+ &[data-fixed="true"][data-transparent="true"] {
2815
+ height: 0;
2816
+ animation-name: bi-navbar-transparent-reveal;
2817
+ animation-timing-function: linear;
2818
+ animation-fill-mode: both;
2819
+ animation-timeline: scroll();
2820
+ animation-range: 0px var(--bi-layout-navbar-height);
2821
+
2822
+ @media (prefers-reduced-motion: reduce) {
2823
+ animation-timing-function: step-end;
2824
+ }
2864
2825
  }
2865
2826
  }
2866
2827
 
2867
2828
  .bi-sub-navbar--wrapper {
2868
2829
  height: var(--bi-layout-navbar-height);
2869
2830
  position: relative;
2870
- }
2871
-
2872
- .bi-sub-navbar--wrapper .bi-sub-navbar {
2873
- --bic-sub-navbar-background-color: var(--bi-basic-white);
2874
- --bic-sub-navbar-color: var(--bi-basic-key);
2875
- --bic-sub-navbar-border-color: var(--bi-neutral-15);
2876
- height: var(--bi-layout-navbar-height);
2877
- background-color: var(--bic-sub-navbar-background-color);
2878
- border-bottom: 1px solid var(--bic-sub-navbar-border-color);
2879
- width: 100%;
2880
- position: absolute;
2881
- top: 0;
2882
- left: 0;
2883
- }
2884
2831
 
2885
- .bi-sub-navbar--wrapper .bi-sub-navbar[data-dark="true"] {
2886
- --bic-sub-navbar-background-color: var(--bi-primary-95);
2887
- --bic-sub-navbar-color: var(--bi-basic-white);
2888
- --bic-sub-navbar-border-color: var(--bi-neutral-70);
2889
- }
2832
+ & .bi-sub-navbar {
2833
+ --bic-sub-navbar-background-color: var(--bi-basic-white);
2834
+ --bic-sub-navbar-color: var(--bi-basic-key);
2835
+ --bic-sub-navbar-border-color: var(--bi-neutral-15);
2836
+ height: var(--bi-layout-navbar-height);
2837
+ background-color: var(--bic-sub-navbar-background-color);
2838
+ border-bottom: 1px solid var(--bic-sub-navbar-border-color);
2839
+ width: 100%;
2840
+ position: absolute;
2841
+ top: 0;
2842
+ left: 0;
2843
+
2844
+ &[data-dark="true"] {
2845
+ --bic-sub-navbar-background-color: var(--bi-primary-95);
2846
+ --bic-sub-navbar-color: var(--bi-basic-white);
2847
+ --bic-sub-navbar-border-color: var(--bi-neutral-70);
2848
+ }
2890
2849
 
2891
- .bi-sub-navbar--wrapper .bi-sub-navbar[data-fixed="true"] {
2892
- z-index: 120;
2893
- position: fixed;
2894
- }
2850
+ &[data-fixed="true"] {
2851
+ z-index: 120;
2852
+ position: fixed;
2895
2853
 
2896
- @media (prefers-reduced-motion: no-preference) {
2897
- .bi-sub-navbar--wrapper .bi-sub-navbar[data-fixed="true"] {
2898
- transition: top .2s ease-in-out;
2854
+ @media (prefers-reduced-motion: no-preference) {
2855
+ transition: top .2s ease-in-out;
2856
+ }
2857
+ }
2899
2858
  }
2900
2859
  }
2901
2860
 
@@ -2903,50 +2862,56 @@ svg[data-color="white"] {
2903
2862
  --bic-pagination-gap: var(--bi-scale-2x);
2904
2863
  --bic-pagination-color: var(--bi-basic-key);
2905
2864
  --bic-pagination-selected-background: var(--bi-primary-5);
2906
- }
2907
-
2908
- .bi-pagination[data-dark="true"] {
2909
- --bic-pagination-color: var(--bi-basic-white);
2910
- --bic-pagination-selected-background: var(--bi-primary-80);
2911
- }
2912
-
2913
- .bi-pagination :is(ol, ul) {
2914
- color: var(--bic-pagination-color);
2915
- gap: var(--bic-pagination-gap);
2916
- flex-wrap: wrap;
2917
- align-items: center;
2918
- width: fit-content;
2919
- margin: 0;
2920
- padding: 0;
2921
- list-style: none;
2922
- display: flex;
2923
- }
2924
-
2925
- .bi-pagination :is(ol, ul) > li:empty:before {
2926
- content: "...";
2927
- min-width: var(--bi-scale-11x);
2928
- text-align: center;
2929
- display: block;
2930
- }
2931
2865
 
2932
- .bi-pagination :is(ol, ul) > li > .bi-button {
2933
- --bic-button-font-size: 1rem;
2934
- }
2866
+ &[data-dark="true"] {
2867
+ --bic-pagination-color: var(--bi-basic-white);
2868
+ --bic-pagination-selected-background: var(--bi-primary-80);
2869
+ }
2935
2870
 
2936
- .bi-pagination :is(ol, ul) > li > .bi-button[aria-current="page"] {
2937
- background-color: var(--bic-pagination-selected-background);
2871
+ & :is(ol, ul) {
2872
+ color: var(--bic-pagination-color);
2873
+ gap: var(--bic-pagination-gap);
2874
+ flex-wrap: wrap;
2875
+ align-items: center;
2876
+ width: fit-content;
2877
+ margin: 0;
2878
+ padding: 0;
2879
+ list-style: none;
2880
+ display: flex;
2881
+
2882
+ & > li {
2883
+ &:empty:before {
2884
+ content: "...";
2885
+ min-width: var(--bi-scale-11x);
2886
+ text-align: center;
2887
+ display: block;
2888
+ }
2889
+
2890
+ & > .bi-button {
2891
+ --bic-button-font-size: 1rem;
2892
+
2893
+ &[aria-current="page"] {
2894
+ background-color: var(--bic-pagination-selected-background);
2895
+ }
2896
+ }
2897
+ }
2898
+ }
2938
2899
  }
2939
2900
 
2940
- .bi-search:has(:focus-visible) .bi-field--affix:first-child {
2941
- color: var(--bi-primary-50);
2942
- }
2901
+ .bi-search {
2902
+ &:has(:focus-visible) {
2903
+ & .bi-field--affix:first-child {
2904
+ color: var(--bi-primary-50);
2905
+ }
2906
+ }
2943
2907
 
2944
- .bi-search .bi-field--affix:last-child {
2945
- --bic-field-padding-inline: 0;
2946
- }
2908
+ & .bi-field--affix:last-child {
2909
+ --bic-field-padding-inline: 0;
2910
+ }
2947
2911
 
2948
- .bi-search:has(.bi-input:is(:read-only, :disabled, [aria-disabled="true"]), .bi-input:placeholder-shown) button[type="reset"] {
2949
- display: none;
2912
+ &:has(.bi-input:is(:read-only, :disabled, [aria-disabled="true"]), .bi-input:placeholder-shown) button[type="reset"] {
2913
+ display: none;
2914
+ }
2950
2915
  }
2951
2916
 
2952
2917
  .bi-skip-link {
@@ -2965,20 +2930,18 @@ svg[data-color="white"] {
2965
2930
  position: absolute;
2966
2931
  left: 50%;
2967
2932
  transform: translate(-50%, -110%);
2968
- }
2969
2933
 
2970
- @media (prefers-reduced-motion: reduce) {
2971
- .bi-skip-link {
2934
+ @media (prefers-reduced-motion: reduce) {
2972
2935
  transition: none;
2973
2936
  }
2974
- }
2975
2937
 
2976
- .bi-skip-link:focus {
2977
- transform: translate(-50%, var(--bi-scale-2x));
2978
- border-radius: var(--bi-radius-medium);
2979
- outline-offset: 2px;
2980
- outline: var(--bi-stroke-thick) solid var(--bi-primary-50);
2981
- box-shadow: 0 0 0 var(--bi-stroke-thick) var(--bi-basic-white);
2938
+ &:focus {
2939
+ transform: translate(-50%, var(--bi-scale-2x));
2940
+ border-radius: var(--bi-radius-medium);
2941
+ outline-offset: 2px;
2942
+ outline: var(--bi-stroke-thick) solid var(--bi-primary-50);
2943
+ box-shadow: 0 0 0 var(--bi-stroke-thick) var(--bi-basic-white);
2944
+ }
2982
2945
  }
2983
2946
 
2984
2947
  .bi-spinner {
@@ -2991,42 +2954,39 @@ svg[data-color="white"] {
2991
2954
  height: 1em;
2992
2955
  animation: 1s linear infinite bi-spinner;
2993
2956
  display: inline-block;
2994
- -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 4px), #000 0);
2995
2957
  mask: radial-gradient(farthest-side, #0000 calc(100% - 4px), #000 0);
2996
- }
2997
2958
 
2998
- @media (prefers-reduced-motion: reduce) {
2999
- .bi-spinner {
2959
+ @media (prefers-reduced-motion: reduce) {
3000
2960
  animation-duration: 6s;
3001
2961
  }
3002
- }
3003
2962
 
3004
- .bi-spinner[data-color="inherit"] {
3005
- --bic-spinner-color: currentColor;
3006
- }
2963
+ &[data-color="inherit"] {
2964
+ --bic-spinner-color: currentColor;
2965
+ }
3007
2966
 
3008
- .bi-spinner[data-color="black"] {
3009
- --bic-spinner-color: var(--bi-basic-key);
3010
- }
2967
+ &[data-color="black"] {
2968
+ --bic-spinner-color: var(--bi-basic-key);
2969
+ }
3011
2970
 
3012
- .bi-spinner[data-size="2xl"] {
3013
- font-size: var(--bi-scale-12x);
3014
- }
2971
+ &[data-size="2xl"] {
2972
+ font-size: var(--bi-scale-12x);
2973
+ }
3015
2974
 
3016
- .bi-spinner[data-size="xl"] {
3017
- font-size: var(--bi-scale-10x);
3018
- }
2975
+ &[data-size="xl"] {
2976
+ font-size: var(--bi-scale-10x);
2977
+ }
3019
2978
 
3020
- .bi-spinner[data-size="large"] {
3021
- font-size: var(--bi-scale-8x);
3022
- }
2979
+ &[data-size="large"] {
2980
+ font-size: var(--bi-scale-8x);
2981
+ }
3023
2982
 
3024
- .bi-spinner[data-size="medium"] {
3025
- font-size: var(--bi-scale-6x);
3026
- }
2983
+ &[data-size="medium"] {
2984
+ font-size: var(--bi-scale-6x);
2985
+ }
3027
2986
 
3028
- .bi-spinner[data-size="small"] {
3029
- font-size: var(--bi-scale-5x);
2987
+ &[data-size="small"] {
2988
+ font-size: var(--bi-scale-5x);
2989
+ }
3030
2990
  }
3031
2991
 
3032
2992
  @keyframes bi-spinner {
@@ -3038,10 +2998,8 @@ svg[data-color="white"] {
3038
2998
  .bi-sticky-header {
3039
2999
  z-index: 100;
3040
3000
  position: sticky;
3041
- }
3042
3001
 
3043
- @media (prefers-reduced-motion: no-preference) {
3044
- .bi-sticky-header {
3002
+ @media (prefers-reduced-motion: no-preference) {
3045
3003
  transition: top .2s ease-in-out;
3046
3004
  }
3047
3005
  }
@@ -3055,130 +3013,126 @@ svg[data-color="white"] {
3055
3013
  --bic-tabs-panel-padding: var(--bi-scale-4x) var(--bi-scale-5x);
3056
3014
  --bic-tabs-focus-shadow-color: var(--bi-basic-white);
3057
3015
  --bic-tabs-focus-outline-color: var(--bi-primary-50);
3058
- }
3059
3016
 
3060
- .bi-tabs[data-dark="true"] {
3061
- --bic-tabs-tab-color: var(--bi-neutral-5);
3062
- --bic-tabs-tab-color-selected: var(--bi-primary-30);
3063
- --bic-tabs-tab-background-hover: var(--bi-states-hover-light);
3064
- --bic-tabs-tab-background-press: var(--bi-states-press-light);
3065
- --bic-tabs-focus-shadow-color: var(--bi-neutral-95);
3066
- --bic-tabs-focus-outline-color: var(--bi-primary-30);
3067
- }
3017
+ &[data-dark="true"] {
3018
+ --bic-tabs-tab-color: var(--bi-neutral-5);
3019
+ --bic-tabs-tab-color-selected: var(--bi-primary-30);
3020
+ --bic-tabs-tab-background-hover: var(--bi-states-hover-light);
3021
+ --bic-tabs-tab-background-press: var(--bi-states-press-light);
3022
+ --bic-tabs-focus-shadow-color: var(--bi-neutral-95);
3023
+ --bic-tabs-focus-outline-color: var(--bi-primary-30);
3024
+ }
3068
3025
 
3069
- .bi-tabs {
3070
3026
  flex-direction: column;
3071
3027
  display: flex;
3072
3028
  overflow: hidden;
3073
- }
3074
-
3075
- .bi-tabs :is([role="tablist"], ds-tablist, nav) {
3076
- scrollbar-width: none;
3077
- flex-direction: row;
3078
- flex-shrink: 0;
3079
- position: relative;
3080
- overflow-x: auto;
3081
- }
3082
-
3083
- .bi-tabs :is([role="tablist"], ds-tablist, nav):not([hidden]) {
3084
- display: flex;
3085
- }
3086
-
3087
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a) {
3088
- font: var(--bic-tabs-tab-font);
3089
- border-radius: var(--bi-radius-medium);
3090
- box-sizing: border-box;
3091
- color: var(--bic-tabs-tab-color);
3092
- cursor: pointer;
3093
- align-items: center;
3094
- gap: var(--bi-scale-1x);
3095
- padding: .625rem var(--bi-scale-6x);
3096
- text-align: center;
3097
- white-space: nowrap;
3098
- background: none;
3099
- border: 0;
3100
- flex-direction: row;
3101
- justify-content: center;
3102
- margin: 0;
3103
- line-height: 1.5;
3104
- text-decoration: none;
3105
- transition: color .2s ease-in-out;
3106
- position: relative;
3107
- }
3108
-
3109
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):not([hidden]) {
3110
- display: flex;
3111
- }
3112
-
3113
- @media (hover: hover) and (pointer: fine) {
3114
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):hover {
3115
- background: var(--bic-tabs-tab-background-hover);
3116
- }
3117
- }
3118
-
3119
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):active {
3120
- background: var(--bic-tabs-tab-background-press);
3121
- }
3122
-
3123
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):not(:focus-visible) {
3124
- border-bottom-right-radius: 0;
3125
- border-bottom-left-radius: 0;
3126
- }
3127
-
3128
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):focus-visible {
3129
- box-shadow: var(--_bi--focus, 0 0 0 4.5px inset var(--bic-tabs-focus-shadow-color));
3130
- outline: var(--_bi--focus, 3px solid var(--bic-tabs-focus-outline-color));
3131
- outline-offset: var(--_bi--focus, -3px);
3132
- }
3133
-
3134
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):focus-visible:after {
3135
- bottom: 3px;
3136
- }
3137
3029
 
3138
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a) :where(img, svg) {
3139
- font-size: var(--bi-icon-medium);
3140
- flex-shrink: 0;
3141
- }
3030
+ & :is([role="tablist"], ds-tablist, nav) {
3031
+ scrollbar-width: none;
3032
+ flex-direction: row;
3033
+ flex-shrink: 0;
3034
+ position: relative;
3035
+ overflow-x: auto;
3142
3036
 
3143
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):after {
3144
- background: var(--bic-tabs-tab-color-selected);
3145
- content: "";
3146
- border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
3147
- width: 0;
3148
- height: 3px;
3149
- transition: width .2s ease-in-out;
3150
- display: block;
3151
- position: absolute;
3152
- bottom: 0;
3153
- left: 50%;
3154
- transform: translateX(-50%);
3155
- }
3037
+ &:not([hidden]) {
3038
+ display: flex;
3039
+ }
3156
3040
 
3157
- @media (prefers-reduced-motion: reduce) {
3158
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a) {
3159
- transition: none;
3041
+ & > :is([role="tab"], ds-tab, a) {
3042
+ font: var(--bic-tabs-tab-font);
3043
+ border-radius: var(--bi-radius-medium);
3044
+ box-sizing: border-box;
3045
+ color: var(--bic-tabs-tab-color);
3046
+ cursor: pointer;
3047
+ align-items: center;
3048
+ gap: var(--bi-scale-1x);
3049
+ padding: .625rem var(--bi-scale-6x);
3050
+ text-align: center;
3051
+ white-space: nowrap;
3052
+ background: none;
3053
+ border: 0;
3054
+ flex-direction: row;
3055
+ justify-content: center;
3056
+ margin: 0;
3057
+ line-height: 1.5;
3058
+ text-decoration: none;
3059
+ transition: color .2s ease-in-out;
3060
+ position: relative;
3061
+
3062
+ &:not([hidden]) {
3063
+ display: flex;
3064
+ }
3065
+
3066
+ @media (hover: hover) and (pointer: fine) {
3067
+ &:hover {
3068
+ background: var(--bic-tabs-tab-background-hover);
3069
+ }
3070
+ }
3071
+
3072
+ &:active {
3073
+ background: var(--bic-tabs-tab-background-press);
3074
+ }
3075
+
3076
+ &:not(:focus-visible) {
3077
+ border-bottom-right-radius: 0;
3078
+ border-bottom-left-radius: 0;
3079
+ }
3080
+
3081
+ &:focus-visible {
3082
+ box-shadow: var(--_bi--focus, 0 0 0 4.5px inset var(--bic-tabs-focus-shadow-color));
3083
+ outline: var(--_bi--focus, 3px solid var(--bic-tabs-focus-outline-color));
3084
+ outline-offset: var(--_bi--focus, -3px);
3085
+
3086
+ &:after {
3087
+ bottom: 3px;
3088
+ }
3089
+ }
3090
+
3091
+ & :where(img, svg) {
3092
+ font-size: var(--bi-icon-medium);
3093
+ flex-shrink: 0;
3094
+ }
3095
+
3096
+ &:after {
3097
+ background: var(--bic-tabs-tab-color-selected);
3098
+ content: "";
3099
+ border-radius: var(--bi-radius-small) var(--bi-radius-small) 0 0;
3100
+ width: 0;
3101
+ height: 3px;
3102
+ transition: width .2s ease-in-out;
3103
+ display: block;
3104
+ position: absolute;
3105
+ bottom: 0;
3106
+ left: 50%;
3107
+ transform: translateX(-50%);
3108
+ }
3109
+
3110
+ @media (prefers-reduced-motion: reduce) {
3111
+ transition: none;
3112
+
3113
+ &:after {
3114
+ transition: none;
3115
+ }
3116
+ }
3117
+
3118
+ &[aria-selected="true"], &[aria-current="page"] {
3119
+ color: var(--bic-tabs-tab-color-selected);
3120
+
3121
+ &:after {
3122
+ width: calc(100% - var(--bi-scale-6x));
3123
+ }
3124
+ }
3125
+ }
3160
3126
  }
3161
3127
 
3162
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a):after {
3163
- transition: none;
3128
+ & :is([role="tabpanel"], ds-tabpanel) {
3129
+ padding: var(--bic-tabs-panel-padding);
3130
+ color: var(--bic-tabs-tab-color);
3131
+ outline: none;
3132
+ flex-grow: 1;
3164
3133
  }
3165
3134
  }
3166
3135
 
3167
- .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a)[aria-selected="true"], .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a)[aria-current="page"] {
3168
- color: var(--bic-tabs-tab-color-selected);
3169
- }
3170
-
3171
- :is(.bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a)[aria-selected="true"], .bi-tabs :is([role="tablist"], ds-tablist, nav) > :is([role="tab"], ds-tab, a)[aria-current="page"]):after {
3172
- width: calc(100% - var(--bi-scale-6x));
3173
- }
3174
-
3175
- .bi-tabs :is([role="tabpanel"], ds-tabpanel) {
3176
- padding: var(--bic-tabs-panel-padding);
3177
- color: var(--bic-tabs-tab-color);
3178
- outline: none;
3179
- flex-grow: 1;
3180
- }
3181
-
3182
3136
  .bi-tooltip {
3183
3137
  --_ds-floating: var(--bic-tooltip-placement);
3184
3138
  --bic-tooltip-background: var(--bi-neutral-85);
@@ -3199,42 +3153,42 @@ svg[data-color="white"] {
3199
3153
  position: absolute;
3200
3154
  inset: 0 auto auto 0;
3201
3155
  overflow: visible;
3202
- }
3203
3156
 
3204
- .bi-tooltip:after {
3205
- content: "";
3206
- box-sizing: border-box;
3207
- width: 0;
3208
- height: 0;
3209
- position: absolute;
3210
- top: 100%;
3211
- left: 50%;
3212
- }
3157
+ &:after {
3158
+ content: "";
3159
+ box-sizing: border-box;
3160
+ width: 0;
3161
+ height: 0;
3162
+ position: absolute;
3163
+ top: 100%;
3164
+ left: 50%;
3165
+ }
3213
3166
 
3214
- .bi-tooltip[data-floating="top"]:after, .bi-tooltip[data-floating="bottom"]:after {
3215
- width: 100%;
3216
- height: var(--bic-tooltip-shift-size);
3217
- top: 100%;
3218
- left: 0;
3219
- }
3167
+ &[data-floating="top"]:after, &[data-floating="bottom"]:after {
3168
+ width: 100%;
3169
+ height: var(--bic-tooltip-shift-size);
3170
+ top: 100%;
3171
+ left: 0;
3172
+ }
3220
3173
 
3221
- .bi-tooltip[data-floating="left"]:after, .bi-tooltip[data-floating="right"]:after {
3222
- width: var(--bic-tooltip-shift-size);
3223
- height: 100%;
3224
- top: 0;
3225
- left: 100%;
3226
- }
3174
+ &[data-floating="left"]:after, &[data-floating="right"]:after {
3175
+ width: var(--bic-tooltip-shift-size);
3176
+ height: 100%;
3177
+ top: 0;
3178
+ left: 100%;
3179
+ }
3227
3180
 
3228
- .bi-tooltip[data-floating="bottom"]:after {
3229
- top: calc(var(--bic-tooltip-shift-size) * -1);
3230
- }
3181
+ &[data-floating="bottom"]:after {
3182
+ top: calc(var(--bic-tooltip-shift-size) * -1);
3183
+ }
3231
3184
 
3232
- .bi-tooltip[data-floating="right"]:after {
3233
- left: calc(var(--bic-tooltip-shift-size) * -1);
3234
- }
3185
+ &[data-floating="right"]:after {
3186
+ left: calc(var(--bic-tooltip-shift-size) * -1);
3187
+ }
3235
3188
 
3236
- .bi-tooltip:not([popover]) {
3237
- display: none;
3189
+ &:not([popover]) {
3190
+ display: none;
3191
+ }
3238
3192
  }
3239
3193
 
3240
3194
  @keyframes bi-tooltip-fade-in {
@@ -3255,47 +3209,57 @@ svg[data-color="white"] {
3255
3209
  font: var(--bi-font-label-medium);
3256
3210
  margin: 0;
3257
3211
  position: relative;
3258
- }
3259
3212
 
3260
- .bi-validation-message:has( > svg) {
3261
- padding-inline-start: calc(var(--bic-validation-message-icon-size) + var(--bic-validation-message-padding) * 2);
3262
- }
3213
+ &:has( > svg) {
3214
+ padding-inline-start: calc(var(--bic-validation-message-icon-size) + var(--bic-validation-message-padding) * 2);
3215
+ }
3263
3216
 
3264
- .bi-validation-message > svg {
3265
- font-size: var(--bic-validation-message-icon-size);
3266
- top: var(--bic-validation-message-padding);
3267
- left: var(--bic-validation-message-padding);
3268
- position: absolute;
3217
+ & > svg {
3218
+ font-size: var(--bic-validation-message-icon-size);
3219
+ top: var(--bic-validation-message-padding);
3220
+ left: var(--bic-validation-message-padding);
3221
+ position: absolute;
3222
+ }
3269
3223
  }
3270
3224
 
3271
- :is(html:has(.bi-navbar), html:has(.bi-sub-navbar)) {
3272
- scroll-padding-top: var(--bi-layout-navbar-height);
3273
- }
3225
+ html {
3226
+ &:has(.bi-navbar), &:has(.bi-sub-navbar) {
3227
+ scroll-padding-top: var(--bi-layout-navbar-height);
3228
+ }
3274
3229
 
3275
- html .bi-sticky-header {
3276
- top: 0;
3277
- }
3230
+ & .bi-sticky-header {
3231
+ top: 0;
3232
+ }
3278
3233
 
3279
- html:has(.bi-navbar[data-fixed="true"]) .bi-sticky-header {
3280
- top: var(--bi-layout-navbar-height);
3281
- }
3234
+ &:has(.bi-navbar[data-fixed="true"]) {
3235
+ & .bi-sticky-header {
3236
+ top: var(--bi-layout-navbar-height);
3237
+ }
3238
+ }
3282
3239
 
3283
- html:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="down"]) .bi-navbar > header {
3284
- transform: translateY(-100%);
3285
- }
3240
+ &:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="down"]) {
3241
+ & .bi-navbar > header {
3242
+ transform: translateY(-100%);
3243
+ }
3286
3244
 
3287
- html:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="down"]) .bi-sub-navbar {
3288
- top: 0;
3289
- }
3245
+ & .bi-sub-navbar {
3246
+ top: 0;
3247
+ }
3248
+ }
3290
3249
 
3291
- html:has(.bi-navbar[data-fixed="true"]):has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) .bi-navbar > header {
3292
- transform: translateY(0);
3293
- }
3250
+ &:has(.bi-navbar[data-fixed="true"]) {
3251
+ &:has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) {
3252
+ & .bi-navbar > header {
3253
+ transform: translateY(0);
3254
+ }
3294
3255
 
3295
- html:has(.bi-navbar[data-fixed="true"]):has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) .bi-sub-navbar {
3296
- top: var(--bi-layout-navbar-height);
3297
- }
3256
+ & .bi-sub-navbar {
3257
+ top: var(--bi-layout-navbar-height);
3258
+ }
3298
3259
 
3299
- html:has(.bi-navbar[data-fixed="true"]):has(.bi-sub-navbar[data-fixed="true"][data-scroll-dir="up"]) .bi-sticky-header {
3300
- top: calc(var(--bi-layout-navbar-height) + var(--bi-layout-navbar-height));
3260
+ & .bi-sticky-header {
3261
+ top: calc(var(--bi-layout-navbar-height) + var(--bi-layout-navbar-height));
3262
+ }
3263
+ }
3264
+ }
3301
3265
  }