@cbnventures/docusaurus-preset-nova 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/build/package.json +8 -5
  2. package/build/src/lib/regex.d.ts +2 -0
  3. package/build/src/lib/regex.d.ts.map +1 -1
  4. package/build/src/lib/regex.js +47 -42
  5. package/build/src/lib/regex.js.map +1 -1
  6. package/build/src/lib/search/indexer.d.ts.map +1 -1
  7. package/build/src/lib/search/indexer.js +3 -1
  8. package/build/src/lib/search/indexer.js.map +1 -1
  9. package/build/src/lib/search/worker.js +4 -3
  10. package/build/src/lib/search/worker.js.map +1 -1
  11. package/build/src/lib/translations.d.ts.map +1 -1
  12. package/build/src/lib/translations.js +20 -14
  13. package/build/src/lib/translations.js.map +1 -1
  14. package/build/src/lib/use-navbar-active-item.d.ts.map +1 -1
  15. package/build/src/lib/use-navbar-active-item.js +12 -1
  16. package/build/src/lib/use-navbar-active-item.js.map +1 -1
  17. package/build/src/styles/presets/envoy/theme/Navbar/Bridge/style.css +39 -10
  18. package/build/src/styles/presets/envoy/theme/Navbar/Canopy/style.css +50 -11
  19. package/build/src/styles/presets/envoy/theme/Navbar/Compass/style.css +41 -11
  20. package/build/src/styles/presets/envoy/theme/Navbar/Monolith/style.css +20 -5
  21. package/build/src/styles/presets/envoy/theme/Navbar/More/style.css +4 -3
  22. package/build/src/styles/presets/envoy/theme/Navbar/style.css +13 -5
  23. package/build/src/styles/presets/foundry/theme/Navbar/Bridge/style.css +41 -11
  24. package/build/src/styles/presets/foundry/theme/Navbar/Canopy/style.css +40 -11
  25. package/build/src/styles/presets/foundry/theme/Navbar/Compass/style.css +41 -11
  26. package/build/src/styles/presets/foundry/theme/Navbar/Monolith/style.css +20 -5
  27. package/build/src/styles/presets/foundry/theme/Navbar/More/style.css +4 -3
  28. package/build/src/styles/presets/foundry/theme/Navbar/style.css +13 -5
  29. package/build/src/styles/presets/lantern/theme/Navbar/Bridge/style.css +37 -10
  30. package/build/src/styles/presets/lantern/theme/Navbar/Canopy/style.css +45 -12
  31. package/build/src/styles/presets/lantern/theme/Navbar/Compass/style.css +37 -11
  32. package/build/src/styles/presets/lantern/theme/Navbar/Monolith/style.css +23 -5
  33. package/build/src/styles/presets/lantern/theme/Navbar/More/style.css +4 -3
  34. package/build/src/styles/presets/lantern/theme/Navbar/style.css +13 -4
  35. package/build/src/styles/presets/marshal/theme/Navbar/Bridge/style.css +50 -10
  36. package/build/src/styles/presets/marshal/theme/Navbar/Canopy/style.css +41 -12
  37. package/build/src/styles/presets/marshal/theme/Navbar/Compass/style.css +41 -10
  38. package/build/src/styles/presets/marshal/theme/Navbar/Monolith/style.css +34 -3
  39. package/build/src/styles/presets/marshal/theme/Navbar/More/style.css +4 -3
  40. package/build/src/styles/presets/marshal/theme/Navbar/style.css +16 -5
  41. package/build/src/styles/presets/sample/theme/Navbar/Canopy/style.css +16 -0
  42. package/build/src/styles/presets/sentinel/theme/Navbar/Bridge/style.css +41 -11
  43. package/build/src/styles/presets/sentinel/theme/Navbar/Canopy/style.css +40 -11
  44. package/build/src/styles/presets/sentinel/theme/Navbar/Compass/style.css +41 -11
  45. package/build/src/styles/presets/sentinel/theme/Navbar/Monolith/style.css +20 -5
  46. package/build/src/styles/presets/sentinel/theme/Navbar/More/style.css +4 -3
  47. package/build/src/styles/presets/sentinel/theme/Navbar/style.css +14 -4
  48. package/build/src/styles/presets/signal/theme/Navbar/Bridge/style.css +36 -13
  49. package/build/src/styles/presets/signal/theme/Navbar/Canopy/style.css +28 -11
  50. package/build/src/styles/presets/signal/theme/Navbar/Compass/style.css +41 -12
  51. package/build/src/styles/presets/signal/theme/Navbar/Monolith/style.css +22 -5
  52. package/build/src/styles/presets/signal/theme/Navbar/style.css +19 -5
  53. package/build/src/styles/theme/Navbar/Bridge/style.css +33 -0
  54. package/build/src/styles/theme/Navbar/Canopy/style.css +33 -0
  55. package/build/src/styles/theme/Navbar/Compass/style.css +33 -0
  56. package/build/src/styles/theme/Navbar/Monolith/style.css +33 -0
  57. package/build/src/styles/theme/NavbarItem/style.css +68 -0
  58. package/build/src/tests/bin-git-tracked.test.d.ts +2 -0
  59. package/build/src/tests/bin-git-tracked.test.d.ts.map +1 -0
  60. package/build/src/tests/bin-git-tracked.test.js +43 -0
  61. package/build/src/tests/bin-git-tracked.test.js.map +1 -0
  62. package/build/src/tests/lib/search/worker.test.js +15 -0
  63. package/build/src/tests/lib/search/worker.test.js.map +1 -1
  64. package/build/src/tests/lib/translations.test.js +20 -20
  65. package/build/src/tests/lib/translations.test.js.map +1 -1
  66. package/build/src/tests/since-version.test.js +2 -1
  67. package/build/src/tests/since-version.test.js.map +1 -1
  68. package/build/src/theme/BlogArchivePage/index.js +1 -1
  69. package/build/src/theme/BlogArchivePage/index.js.map +1 -1
  70. package/build/src/theme/Navbar/Bridge/mobile-menu.d.ts.map +1 -1
  71. package/build/src/theme/Navbar/Bridge/mobile-menu.js +29 -1
  72. package/build/src/theme/Navbar/Bridge/mobile-menu.js.map +1 -1
  73. package/build/src/theme/Navbar/Canopy/mobile-menu.d.ts.map +1 -1
  74. package/build/src/theme/Navbar/Canopy/mobile-menu.js +29 -1
  75. package/build/src/theme/Navbar/Canopy/mobile-menu.js.map +1 -1
  76. package/build/src/theme/Navbar/Compass/mobile-menu.d.ts.map +1 -1
  77. package/build/src/theme/Navbar/Compass/mobile-menu.js +29 -1
  78. package/build/src/theme/Navbar/Compass/mobile-menu.js.map +1 -1
  79. package/build/src/theme/Navbar/Monolith/mobile-menu.d.ts.map +1 -1
  80. package/build/src/theme/Navbar/Monolith/mobile-menu.js +29 -1
  81. package/build/src/theme/Navbar/Monolith/mobile-menu.js.map +1 -1
  82. package/build/src/theme/NavbarItem/dropdown-navbar-item.d.ts.map +1 -1
  83. package/build/src/theme/NavbarItem/dropdown-navbar-item.js +14 -1
  84. package/build/src/theme/NavbarItem/dropdown-navbar-item.js.map +1 -1
  85. package/build/src/types/lib/search/indexer.d.ts +4 -0
  86. package/build/src/types/lib/search/worker.d.ts +7 -0
  87. package/build/src/types/lib/translations.d.ts +4 -0
  88. package/build/src/types/lib/use-navbar-active-item.d.ts +6 -0
  89. package/build/src/types/tests/bin-git-tracked.test.d.ts +52 -0
  90. package/build/src/types/tests/lib/search/worker.test.d.ts +13 -0
  91. package/build/src/types/theme/Navbar/Bridge/mobile-menu.d.ts +21 -5
  92. package/build/src/types/theme/Navbar/Canopy/mobile-menu.d.ts +21 -5
  93. package/build/src/types/theme/Navbar/Compass/mobile-menu.d.ts +23 -7
  94. package/build/src/types/theme/Navbar/Monolith/mobile-menu.d.ts +21 -5
  95. package/build/src/types/theme/NavbarItem/index.d.ts +12 -0
  96. package/nova-config.d.ts +14 -2
  97. package/nova-sidebars.d.ts +1 -0
  98. package/package.json +8 -5
  99. package/build/src/tests/demo-coverage.test.d.ts +0 -2
  100. package/build/src/tests/demo-coverage.test.d.ts.map +0 -1
  101. package/build/src/tests/demo-coverage.test.js +0 -178
  102. package/build/src/tests/demo-coverage.test.js.map +0 -1
  103. package/build/src/tests/demo-logo-override.test.d.ts +0 -2
  104. package/build/src/tests/demo-logo-override.test.d.ts.map +0 -1
  105. package/build/src/tests/demo-logo-override.test.js +0 -42
  106. package/build/src/tests/demo-logo-override.test.js.map +0 -1
  107. package/build/src/types/tests/demo-coverage.test.d.ts +0 -176
  108. package/build/src/types/tests/demo-logo-override.test.d.ts +0 -45
@@ -87,7 +87,8 @@
87
87
 
88
88
  .nova-navbar-bridge-items a,
89
89
  .nova-navbar-bridge-items button,
90
- .nova-navbar-bridge-items .nova-navbar-more-summary {
90
+ .nova-navbar-bridge-items .nova-navbar-more-summary,
91
+ .nova-navbar-bridge-items .nova-dropdown-summary {
91
92
  display: inline-flex;
92
93
  align-items: center;
93
94
  min-height: 2.25rem;
@@ -108,7 +109,10 @@
108
109
  .nova-navbar-bridge-items button:focus-visible,
109
110
  .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:hover,
110
111
  .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:focus-visible,
111
- .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary {
112
+ .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary,
113
+ .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:hover,
114
+ .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:focus-visible,
115
+ .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active)[open] > .nova-dropdown-summary {
112
116
  color: var(--nova-color-primary-600);
113
117
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 94%);
114
118
  text-decoration: none;
@@ -116,7 +120,8 @@
116
120
 
117
121
  [data-theme="dark"] .nova-navbar-bridge-items a,
118
122
  [data-theme="dark"] .nova-navbar-bridge-items button,
119
- [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more-summary {
123
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more-summary,
124
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown-summary {
120
125
  color: var(--nova-color-text-muted);
121
126
  }
122
127
 
@@ -126,7 +131,10 @@
126
131
  [data-theme="dark"] .nova-navbar-bridge-items button:focus-visible,
127
132
  [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:hover,
128
133
  [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:focus-visible,
129
- [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary {
134
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary,
135
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:hover,
136
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:focus-visible,
137
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active)[open] > .nova-dropdown-summary {
130
138
  color: var(--nova-color-primary-400);
131
139
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 88%);
132
140
  }
@@ -138,7 +146,8 @@
138
146
  .nova-navbar-bridge-items a[aria-current="page"],
139
147
  .nova-navbar-bridge-items a.navbar__link--active,
140
148
  .nova-navbar-bridge-items .nova-navbar-more:has(a[aria-current="page"]) > .nova-navbar-more-summary,
141
- .nova-navbar-bridge-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary {
149
+ .nova-navbar-bridge-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary,
150
+ .nova-navbar-bridge-items .nova-dropdown--active > .nova-dropdown-summary {
142
151
  font-weight: 600;
143
152
  color: var(--nova-color-primary-600);
144
153
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 90%);
@@ -147,7 +156,8 @@
147
156
  [data-theme="dark"] .nova-navbar-bridge-items a[aria-current="page"],
148
157
  [data-theme="dark"] .nova-navbar-bridge-items a.navbar__link--active,
149
158
  [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:has(a[aria-current="page"]) > .nova-navbar-more-summary,
150
- [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary {
159
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary,
160
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown--active > .nova-dropdown-summary {
151
161
  color: var(--nova-color-primary-400);
152
162
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 84%);
153
163
  }
@@ -334,7 +344,8 @@
334
344
  gap: 0.125rem;
335
345
  }
336
346
 
337
- .nova-navbar-bridge-menu-item {
347
+ .nova-navbar-bridge-menu-item,
348
+ .nova-navbar-bridge-menu-dropdown-summary {
338
349
  gap: 0.75rem;
339
350
  font-family: var(--nova-font-body);
340
351
  font-size: 1rem;
@@ -347,17 +358,22 @@
347
358
  }
348
359
 
349
360
  .nova-navbar-bridge-menu-item:hover,
350
- .nova-navbar-bridge-menu-item:focus-visible {
361
+ .nova-navbar-bridge-menu-item:focus-visible,
362
+ .nova-navbar-bridge-menu-dropdown-summary:hover,
363
+ .nova-navbar-bridge-menu-dropdown-summary:focus-visible {
351
364
  color: var(--nova-color-primary-600);
352
365
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 94%);
353
366
  }
354
367
 
355
- [data-theme="dark"] .nova-navbar-bridge-menu-item {
368
+ [data-theme="dark"] .nova-navbar-bridge-menu-item,
369
+ [data-theme="dark"] .nova-navbar-bridge-menu-dropdown-summary {
356
370
  color: var(--nova-color-text-muted);
357
371
  }
358
372
 
359
373
  [data-theme="dark"] .nova-navbar-bridge-menu-item:hover,
360
- [data-theme="dark"] .nova-navbar-bridge-menu-item:focus-visible {
374
+ [data-theme="dark"] .nova-navbar-bridge-menu-item:focus-visible,
375
+ [data-theme="dark"] .nova-navbar-bridge-menu-dropdown-summary:hover,
376
+ [data-theme="dark"] .nova-navbar-bridge-menu-dropdown-summary:focus-visible {
361
377
  color: var(--nova-color-primary-400);
362
378
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 90%);
363
379
  }
@@ -385,3 +401,16 @@
385
401
  animation: envoy-fade-in-up 400ms var(--nova-motion-easing) forwards;
386
402
  animation-delay: calc(var(--nova-item-index, 0) * 50ms + 50ms);
387
403
  }
404
+
405
+ /* ============================
406
+ * 12. Mobile Menu - Dropdown Spacing
407
+ * ============================ */
408
+
409
+ .nova-navbar-bridge-menu-dropdown[open] > .nova-navbar-bridge-menu-dropdown-summary {
410
+ margin-bottom: 0.125rem;
411
+ }
412
+
413
+ .nova-navbar-bridge-menu-dropdown-children {
414
+ gap: 0.125rem;
415
+ padding-inline-start: 1.75rem;
416
+ }
@@ -72,7 +72,8 @@
72
72
  }
73
73
 
74
74
  .nova-navbar-canopy-items a,
75
- .nova-navbar-canopy-items .nova-navbar-more-summary {
75
+ .nova-navbar-canopy-items .nova-navbar-more-summary,
76
+ .nova-navbar-canopy-items .nova-dropdown-summary {
76
77
  min-height: 2.25rem;
77
78
  font-size: 0.875rem;
78
79
  font-weight: 500;
@@ -88,14 +89,18 @@
88
89
  .nova-navbar-canopy-items a:not(.navbar__link--active):not([aria-current="page"]):focus-visible,
89
90
  .nova-navbar-canopy-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:hover,
90
91
  .nova-navbar-canopy-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:focus-visible,
91
- .nova-navbar-canopy-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary {
92
+ .nova-navbar-canopy-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary,
93
+ .nova-navbar-canopy-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:hover,
94
+ .nova-navbar-canopy-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:focus-visible,
95
+ .nova-navbar-canopy-items .nova-dropdown:not(.nova-dropdown--active)[open] > .nova-dropdown-summary {
92
96
  color: var(--nova-color-primary-600);
93
97
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 94%);
94
98
  text-decoration: none;
95
99
  }
96
100
 
97
101
  [data-theme="dark"] .nova-navbar-canopy-items a,
98
- [data-theme="dark"] .nova-navbar-canopy-items .nova-navbar-more-summary {
102
+ [data-theme="dark"] .nova-navbar-canopy-items .nova-navbar-more-summary,
103
+ [data-theme="dark"] .nova-navbar-canopy-items .nova-dropdown-summary {
99
104
  color: var(--nova-color-text-muted);
100
105
  }
101
106
 
@@ -103,7 +108,10 @@
103
108
  [data-theme="dark"] .nova-navbar-canopy-items a:not(.navbar__link--active):not([aria-current="page"]):focus-visible,
104
109
  [data-theme="dark"] .nova-navbar-canopy-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:hover,
105
110
  [data-theme="dark"] .nova-navbar-canopy-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:focus-visible,
106
- [data-theme="dark"] .nova-navbar-canopy-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary {
111
+ [data-theme="dark"] .nova-navbar-canopy-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary,
112
+ [data-theme="dark"] .nova-navbar-canopy-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:hover,
113
+ [data-theme="dark"] .nova-navbar-canopy-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:focus-visible,
114
+ [data-theme="dark"] .nova-navbar-canopy-items .nova-dropdown:not(.nova-dropdown--active)[open] > .nova-dropdown-summary {
107
115
  color: var(--nova-color-primary-400);
108
116
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 88%);
109
117
  }
@@ -115,7 +123,8 @@
115
123
  .nova-navbar-canopy-items a[aria-current="page"],
116
124
  .nova-navbar-canopy-items a.navbar__link--active,
117
125
  .nova-navbar-canopy-items .nova-navbar-more:has(a[aria-current="page"]) > .nova-navbar-more-summary,
118
- .nova-navbar-canopy-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary {
126
+ .nova-navbar-canopy-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary,
127
+ .nova-navbar-canopy-items .nova-dropdown--active > .nova-dropdown-summary {
119
128
  font-weight: 600;
120
129
  color: var(--nova-color-primary-600);
121
130
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 90%);
@@ -124,7 +133,8 @@
124
133
  [data-theme="dark"] .nova-navbar-canopy-items a[aria-current="page"],
125
134
  [data-theme="dark"] .nova-navbar-canopy-items a.navbar__link--active,
126
135
  [data-theme="dark"] .nova-navbar-canopy-items .nova-navbar-more:has(a[aria-current="page"]) > .nova-navbar-more-summary,
127
- [data-theme="dark"] .nova-navbar-canopy-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary {
136
+ [data-theme="dark"] .nova-navbar-canopy-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary,
137
+ [data-theme="dark"] .nova-navbar-canopy-items .nova-dropdown--active > .nova-dropdown-summary {
128
138
  color: var(--nova-color-primary-400);
129
139
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 84%);
130
140
  }
@@ -331,7 +341,8 @@
331
341
  gap: 0.5rem;
332
342
  }
333
343
 
334
- .nova-navbar-canopy-menu-item {
344
+ .nova-navbar-canopy-menu-item,
345
+ .nova-navbar-canopy-menu-dropdown-summary {
335
346
  flex-direction: column;
336
347
  justify-content: center;
337
348
  padding: 1.25rem 1rem;
@@ -350,20 +361,25 @@
350
361
  }
351
362
 
352
363
  .nova-navbar-canopy-menu-item:hover,
353
- .nova-navbar-canopy-menu-item:focus-visible {
364
+ .nova-navbar-canopy-menu-item:focus-visible,
365
+ .nova-navbar-canopy-menu-dropdown-summary:hover,
366
+ .nova-navbar-canopy-menu-dropdown-summary:focus-visible {
354
367
  color: var(--nova-color-primary-600);
355
368
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 92%);
356
369
  border-color: var(--nova-color-primary-300);
357
370
  }
358
371
 
359
- [data-theme="dark"] .nova-navbar-canopy-menu-item {
372
+ [data-theme="dark"] .nova-navbar-canopy-menu-item,
373
+ [data-theme="dark"] .nova-navbar-canopy-menu-dropdown-summary {
360
374
  color: var(--nova-color-text-muted);
361
375
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 94%);
362
376
  border-color: var(--nova-envoy-border);
363
377
  }
364
378
 
365
379
  [data-theme="dark"] .nova-navbar-canopy-menu-item:hover,
366
- [data-theme="dark"] .nova-navbar-canopy-menu-item:focus-visible {
380
+ [data-theme="dark"] .nova-navbar-canopy-menu-item:focus-visible,
381
+ [data-theme="dark"] .nova-navbar-canopy-menu-dropdown-summary:hover,
382
+ [data-theme="dark"] .nova-navbar-canopy-menu-dropdown-summary:focus-visible {
367
383
  color: var(--nova-color-primary-400);
368
384
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 88%);
369
385
  border-color: var(--nova-color-primary-600);
@@ -379,6 +395,16 @@
379
395
  color: var(--nova-color-primary-400);
380
396
  }
381
397
 
398
+ .nova-navbar-canopy-menu-item svg,
399
+ .nova-navbar-canopy-menu-dropdown-summary svg {
400
+ color: var(--nova-color-primary-600);
401
+ }
402
+
403
+ [data-theme="dark"] .nova-navbar-canopy-menu-item svg,
404
+ [data-theme="dark"] .nova-navbar-canopy-menu-dropdown-summary svg {
405
+ color: var(--nova-color-primary-400);
406
+ }
407
+
382
408
  /* ============================
383
409
  * 12. Mobile Menu - Panel Fade + Item Staggered Reveal
384
410
  *
@@ -391,9 +417,22 @@
391
417
  animation: envoy-fade-in-up var(--nova-motion-duration) var(--nova-motion-easing);
392
418
  }
393
419
 
394
- .nova-navbar-canopy-menu-item {
420
+ .nova-navbar-canopy-menu-item,
421
+ .nova-navbar-canopy-menu-dropdown {
395
422
  opacity: 0;
396
423
 
397
424
  animation: envoy-fade-in-up 400ms var(--nova-motion-easing) forwards;
398
425
  animation-delay: calc(var(--nova-item-index, 0) * 50ms + 50ms);
399
426
  }
427
+
428
+ /* ============================
429
+ * 13. Mobile Menu - Dropdown Spacing
430
+ * ============================ */
431
+
432
+ .nova-navbar-canopy-menu-dropdown[open] > .nova-navbar-canopy-menu-dropdown-summary {
433
+ margin-bottom: 0.5rem;
434
+ }
435
+
436
+ .nova-navbar-canopy-menu-dropdown-children {
437
+ gap: 0.5rem;
438
+ }
@@ -90,7 +90,8 @@
90
90
  }
91
91
 
92
92
  .nova-navbar-compass-items a,
93
- .nova-navbar-compass-items .nova-navbar-more-summary {
93
+ .nova-navbar-compass-items .nova-navbar-more-summary,
94
+ .nova-navbar-compass-items .nova-dropdown-summary {
94
95
  min-height: 2.25rem;
95
96
  padding: 0.375rem 0.75rem;
96
97
 
@@ -108,7 +109,10 @@
108
109
  .nova-navbar-compass-items a:not(.navbar__link--active):not([aria-current="page"]):focus-visible,
109
110
  .nova-navbar-compass-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:hover,
110
111
  .nova-navbar-compass-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:focus-visible,
111
- .nova-navbar-compass-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary {
112
+ .nova-navbar-compass-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary,
113
+ .nova-navbar-compass-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:hover,
114
+ .nova-navbar-compass-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:focus-visible,
115
+ .nova-navbar-compass-items .nova-dropdown:not(.nova-dropdown--active)[open] > .nova-dropdown-summary {
112
116
  color: var(--nova-color-primary-600);
113
117
 
114
118
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 94%);
@@ -117,7 +121,8 @@
117
121
  }
118
122
 
119
123
  [data-theme="dark"] .nova-navbar-compass-items a,
120
- [data-theme="dark"] .nova-navbar-compass-items .nova-navbar-more-summary {
124
+ [data-theme="dark"] .nova-navbar-compass-items .nova-navbar-more-summary,
125
+ [data-theme="dark"] .nova-navbar-compass-items .nova-dropdown-summary {
121
126
  color: var(--nova-color-text-muted);
122
127
  }
123
128
 
@@ -125,7 +130,10 @@
125
130
  [data-theme="dark"] .nova-navbar-compass-items a:not(.navbar__link--active):not([aria-current="page"]):focus-visible,
126
131
  [data-theme="dark"] .nova-navbar-compass-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:hover,
127
132
  [data-theme="dark"] .nova-navbar-compass-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:focus-visible,
128
- [data-theme="dark"] .nova-navbar-compass-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary {
133
+ [data-theme="dark"] .nova-navbar-compass-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary,
134
+ [data-theme="dark"] .nova-navbar-compass-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:hover,
135
+ [data-theme="dark"] .nova-navbar-compass-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:focus-visible,
136
+ [data-theme="dark"] .nova-navbar-compass-items .nova-dropdown:not(.nova-dropdown--active)[open] > .nova-dropdown-summary {
129
137
  color: var(--nova-color-primary-400);
130
138
 
131
139
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 88%);
@@ -138,7 +146,8 @@
138
146
  .nova-navbar-compass-items a[aria-current="page"],
139
147
  .nova-navbar-compass-items a.navbar__link--active,
140
148
  .nova-navbar-compass-items .nova-navbar-more:has(a[aria-current="page"]) > .nova-navbar-more-summary,
141
- .nova-navbar-compass-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary {
149
+ .nova-navbar-compass-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary,
150
+ .nova-navbar-compass-items .nova-dropdown--active > .nova-dropdown-summary {
142
151
  font-weight: 600;
143
152
  color: var(--nova-color-primary-600);
144
153
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 90%);
@@ -147,7 +156,8 @@
147
156
  [data-theme="dark"] .nova-navbar-compass-items a[aria-current="page"],
148
157
  [data-theme="dark"] .nova-navbar-compass-items a.navbar__link--active,
149
158
  [data-theme="dark"] .nova-navbar-compass-items .nova-navbar-more:has(a[aria-current="page"]) > .nova-navbar-more-summary,
150
- [data-theme="dark"] .nova-navbar-compass-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary {
159
+ [data-theme="dark"] .nova-navbar-compass-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary,
160
+ [data-theme="dark"] .nova-navbar-compass-items .nova-dropdown--active > .nova-dropdown-summary {
151
161
  color: var(--nova-color-primary-400);
152
162
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 84%);
153
163
  }
@@ -360,7 +370,8 @@
360
370
  gap: 0.125rem;
361
371
  }
362
372
 
363
- .nova-navbar-compass-menu-item {
373
+ .nova-navbar-compass-menu-item,
374
+ .nova-navbar-compass-menu-dropdown-summary {
364
375
  gap: 0.75rem;
365
376
 
366
377
  font-family: var(--nova-font-body);
@@ -376,18 +387,23 @@
376
387
  }
377
388
 
378
389
  .nova-navbar-compass-menu-item:hover,
379
- .nova-navbar-compass-menu-item:focus-visible {
390
+ .nova-navbar-compass-menu-item:focus-visible,
391
+ .nova-navbar-compass-menu-dropdown-summary:hover,
392
+ .nova-navbar-compass-menu-dropdown-summary:focus-visible {
380
393
  color: var(--nova-color-primary-600);
381
394
 
382
395
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 94%);
383
396
  }
384
397
 
385
- [data-theme="dark"] .nova-navbar-compass-menu-item {
398
+ [data-theme="dark"] .nova-navbar-compass-menu-item,
399
+ [data-theme="dark"] .nova-navbar-compass-menu-dropdown-summary {
386
400
  color: var(--nova-color-text-muted);
387
401
  }
388
402
 
389
403
  [data-theme="dark"] .nova-navbar-compass-menu-item:hover,
390
- [data-theme="dark"] .nova-navbar-compass-menu-item:focus-visible {
404
+ [data-theme="dark"] .nova-navbar-compass-menu-item:focus-visible,
405
+ [data-theme="dark"] .nova-navbar-compass-menu-dropdown-summary:hover,
406
+ [data-theme="dark"] .nova-navbar-compass-menu-dropdown-summary:focus-visible {
391
407
  color: var(--nova-color-primary-400);
392
408
 
393
409
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 90%);
@@ -418,9 +434,23 @@
418
434
  animation-delay: 0ms;
419
435
  }
420
436
 
421
- .nova-navbar-compass-menu-item {
437
+ .nova-navbar-compass-menu-item,
438
+ .nova-navbar-compass-menu-dropdown {
422
439
  opacity: 0;
423
440
 
424
441
  animation: envoy-fade-in-up 400ms var(--nova-motion-easing) forwards;
425
442
  animation-delay: calc(var(--nova-item-index, 0) * 50ms + 50ms);
426
443
  }
444
+
445
+ /* ============================
446
+ * 14. Mobile Menu - Dropdown Spacing
447
+ * ============================ */
448
+
449
+ .nova-navbar-compass-menu-dropdown[open] > .nova-navbar-compass-menu-dropdown-summary {
450
+ margin-bottom: 0.125rem;
451
+ }
452
+
453
+ .nova-navbar-compass-menu-dropdown-children {
454
+ gap: 0.125rem;
455
+ padding-inline-start: 1.75rem;
456
+ }
@@ -212,7 +212,8 @@
212
212
  gap: 0.125rem;
213
213
  }
214
214
 
215
- .nova-navbar-monolith-menu-item {
215
+ .nova-navbar-monolith-menu-item,
216
+ .nova-navbar-monolith-menu-dropdown-summary {
216
217
  gap: 0.75rem;
217
218
  font-family: var(--nova-font-body);
218
219
  font-size: 1rem;
@@ -225,17 +226,22 @@
225
226
  }
226
227
 
227
228
  .nova-navbar-monolith-menu-item:hover,
228
- .nova-navbar-monolith-menu-item:focus-visible {
229
+ .nova-navbar-monolith-menu-item:focus-visible,
230
+ .nova-navbar-monolith-menu-dropdown-summary:hover,
231
+ .nova-navbar-monolith-menu-dropdown-summary:focus-visible {
229
232
  color: var(--nova-color-primary-600);
230
233
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 94%);
231
234
  }
232
235
 
233
- [data-theme="dark"] .nova-navbar-monolith-menu-item {
236
+ [data-theme="dark"] .nova-navbar-monolith-menu-item,
237
+ [data-theme="dark"] .nova-navbar-monolith-menu-dropdown-summary {
234
238
  color: var(--nova-color-text-muted);
235
239
  }
236
240
 
237
241
  [data-theme="dark"] .nova-navbar-monolith-menu-item:hover,
238
- [data-theme="dark"] .nova-navbar-monolith-menu-item:focus-visible {
242
+ [data-theme="dark"] .nova-navbar-monolith-menu-item:focus-visible,
243
+ [data-theme="dark"] .nova-navbar-monolith-menu-dropdown-summary:hover,
244
+ [data-theme="dark"] .nova-navbar-monolith-menu-dropdown-summary:focus-visible {
239
245
  color: var(--nova-color-primary-400);
240
246
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 90%);
241
247
  }
@@ -257,8 +263,17 @@
257
263
  * declares `motion.staggeredReveals: true`.
258
264
  * ============================ */
259
265
 
260
- .nova-navbar-monolith-menu-item {
266
+ .nova-navbar-monolith-menu-item,
267
+ .nova-navbar-monolith-menu-dropdown {
261
268
  opacity: 0;
262
269
  animation: envoy-fade-in-up 400ms var(--nova-motion-easing) forwards;
263
270
  animation-delay: calc(var(--nova-item-index, 0) * 50ms + 50ms);
264
271
  }
272
+
273
+ /* ============================
274
+ * 10. Mobile Menu - Dropdown Children
275
+ * ============================ */
276
+
277
+ .nova-navbar-monolith-menu-dropdown-children {
278
+ padding-inline-start: 1.75rem;
279
+ }
@@ -2,9 +2,10 @@
2
2
  * Envoy - `Navbar/More` theme overlay.
3
3
  *
4
4
  * The popover menu, item link, and active-item styling are grouped with
5
- * `.nova-locale-dropdown-menu` / `.nova-version-dropdown-menu` in this
6
- * preset's `Navbar/style.css` so all three navbar dropdowns share one
7
- * surface treatment. No per-component overrides needed here.
5
+ * `.nova-locale-dropdown-menu` / `.nova-version-dropdown-menu` /
6
+ * `.nova-dropdown-menu` in this preset's `Navbar/style.css` so all four
7
+ * navbar dropdowns share one surface treatment. No per-component
8
+ * overrides needed here.
8
9
  *
9
10
  * @since 0.18.0
10
11
  */
@@ -63,6 +63,7 @@
63
63
  Extra block padding gives items breathing room inside the rounded corners. */
64
64
  .nova-locale-dropdown-menu,
65
65
  .nova-version-dropdown-menu,
66
+ .nova-dropdown-menu,
66
67
  .nova-navbar-more-menu {
67
68
  padding: 0.5rem 0;
68
69
 
@@ -77,6 +78,7 @@
77
78
 
78
79
  [data-theme="dark"] .nova-locale-dropdown-menu,
79
80
  [data-theme="dark"] .nova-version-dropdown-menu,
81
+ [data-theme="dark"] .nova-dropdown-menu,
80
82
  [data-theme="dark"] .nova-navbar-more-menu {
81
83
  background: var(--nova-envoy-surface);
82
84
  border-color: var(--nova-envoy-border);
@@ -84,13 +86,14 @@
84
86
  }
85
87
 
86
88
  /* Item link - padding + hover styling.
87
- `display: block` + `border-radius: 0` defend the More popover items
88
- from the variant nav-item cluster rule (`.nova-navbar-{variant}-items a`)
89
- which would otherwise leak inline-flex + rounded corners onto items
90
- rendered inside the popover. No-op for locale/version where no variant
91
- rule competes. */
89
+ `display: block` + `border-radius: 0` defend the More and generic
90
+ dropdown popover items from the variant nav-item cluster rule
91
+ (`.nova-navbar-{variant}-items a`) which would otherwise leak
92
+ inline-flex + rounded corners onto items rendered inside the popover.
93
+ No-op for locale/version where no variant rule competes. */
92
94
  .nova-locale-dropdown-item-link,
93
95
  .nova-version-dropdown-item-link,
96
+ .nova-dropdown-menu .nova-dropdown-item a,
94
97
  .nova-navbar-more-menu .nova-navbar-more-item a {
95
98
  display: block;
96
99
  padding: 0.5rem 0.75rem;
@@ -109,6 +112,8 @@
109
112
  .nova-locale-dropdown-item:not(.nova-locale-dropdown-item--active) > .nova-locale-dropdown-item-link:focus-visible,
110
113
  .nova-version-dropdown-item:not(.nova-version-dropdown-item--active) > .nova-version-dropdown-item-link:hover,
111
114
  .nova-version-dropdown-item:not(.nova-version-dropdown-item--active) > .nova-version-dropdown-item-link:focus-visible,
115
+ .nova-dropdown-menu .nova-dropdown-item a:not(.navbar__link--active):not([aria-current="page"]):hover,
116
+ .nova-dropdown-menu .nova-dropdown-item a:not(.navbar__link--active):not([aria-current="page"]):focus-visible,
112
117
  .nova-navbar-more-menu .nova-navbar-more-item a:not(.navbar__link--active):not([aria-current="page"]):hover,
113
118
  .nova-navbar-more-menu .nova-navbar-more-item a:not(.navbar__link--active):not([aria-current="page"]):focus-visible {
114
119
  color: var(--nova-color-primary-600);
@@ -117,6 +122,7 @@
117
122
 
118
123
  [data-theme="dark"] .nova-locale-dropdown-item-link,
119
124
  [data-theme="dark"] .nova-version-dropdown-item-link,
125
+ [data-theme="dark"] .nova-dropdown-menu .nova-dropdown-item a,
120
126
  [data-theme="dark"] .nova-navbar-more-menu .nova-navbar-more-item a {
121
127
  color: var(--nova-color-text-muted);
122
128
  }
@@ -125,6 +131,8 @@
125
131
  [data-theme="dark"] .nova-locale-dropdown-item:not(.nova-locale-dropdown-item--active) > .nova-locale-dropdown-item-link:focus-visible,
126
132
  [data-theme="dark"] .nova-version-dropdown-item:not(.nova-version-dropdown-item--active) > .nova-version-dropdown-item-link:hover,
127
133
  [data-theme="dark"] .nova-version-dropdown-item:not(.nova-version-dropdown-item--active) > .nova-version-dropdown-item-link:focus-visible,
134
+ [data-theme="dark"] .nova-dropdown-menu .nova-dropdown-item a:not(.navbar__link--active):not([aria-current="page"]):hover,
135
+ [data-theme="dark"] .nova-dropdown-menu .nova-dropdown-item a:not(.navbar__link--active):not([aria-current="page"]):focus-visible,
128
136
  [data-theme="dark"] .nova-navbar-more-menu .nova-navbar-more-item a:not(.navbar__link--active):not([aria-current="page"]):hover,
129
137
  [data-theme="dark"] .nova-navbar-more-menu .nova-navbar-more-item a:not(.navbar__link--active):not([aria-current="page"]):focus-visible {
130
138
  color: var(--nova-color-primary-400);
@@ -90,7 +90,8 @@
90
90
 
91
91
  .nova-navbar-bridge-items a,
92
92
  .nova-navbar-bridge-items button,
93
- .nova-navbar-bridge-items .nova-navbar-more-summary {
93
+ .nova-navbar-bridge-items .nova-navbar-more-summary,
94
+ .nova-navbar-bridge-items .nova-dropdown-summary {
94
95
  display: inline-flex;
95
96
  align-items: center;
96
97
  min-height: 2.25rem;
@@ -111,7 +112,10 @@
111
112
  .nova-navbar-bridge-items button:focus-visible,
112
113
  .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:hover,
113
114
  .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:focus-visible,
114
- .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary {
115
+ .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary,
116
+ .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:hover,
117
+ .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:focus-visible,
118
+ .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active)[open] > .nova-dropdown-summary {
115
119
  color: var(--nova-color-primary-600);
116
120
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 95%);
117
121
  text-decoration: none;
@@ -119,7 +123,8 @@
119
123
 
120
124
  [data-theme="dark"] .nova-navbar-bridge-items a,
121
125
  [data-theme="dark"] .nova-navbar-bridge-items button,
122
- [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more-summary {
126
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more-summary,
127
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown-summary {
123
128
  color: var(--nova-color-text-muted);
124
129
  }
125
130
 
@@ -129,7 +134,10 @@
129
134
  [data-theme="dark"] .nova-navbar-bridge-items button:focus-visible,
130
135
  [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:hover,
131
136
  [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"])) > .nova-navbar-more-summary:focus-visible,
132
- [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary {
137
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:not(:has(a.navbar__link--active)):not(:has(a[aria-current="page"]))[open] > .nova-navbar-more-summary,
138
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:hover,
139
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active) > .nova-dropdown-summary:focus-visible,
140
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown:not(.nova-dropdown--active)[open] > .nova-dropdown-summary {
133
141
  color: var(--nova-color-primary-400);
134
142
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 90%);
135
143
  }
@@ -145,7 +153,8 @@
145
153
  .nova-navbar-bridge-items a[aria-current="page"],
146
154
  .nova-navbar-bridge-items a.navbar__link--active,
147
155
  .nova-navbar-bridge-items .nova-navbar-more:has(a[aria-current="page"]) > .nova-navbar-more-summary,
148
- .nova-navbar-bridge-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary {
156
+ .nova-navbar-bridge-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary,
157
+ .nova-navbar-bridge-items .nova-dropdown--active > .nova-dropdown-summary {
149
158
  font-weight: 600;
150
159
  color: var(--nova-color-primary-600);
151
160
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 92%);
@@ -154,7 +163,8 @@
154
163
  [data-theme="dark"] .nova-navbar-bridge-items a[aria-current="page"],
155
164
  [data-theme="dark"] .nova-navbar-bridge-items a.navbar__link--active,
156
165
  [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:has(a[aria-current="page"]) > .nova-navbar-more-summary,
157
- [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary {
166
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-navbar-more:has(a.navbar__link--active) > .nova-navbar-more-summary,
167
+ [data-theme="dark"] .nova-navbar-bridge-items .nova-dropdown--active > .nova-dropdown-summary {
158
168
  color: var(--nova-color-primary-400);
159
169
  background-color: color-mix(in srgb, var(--nova-color-primary-500), transparent 85%);
160
170
  }
@@ -350,7 +360,8 @@
350
360
  gap: 0.125rem;
351
361
  }
352
362
 
353
- .nova-navbar-bridge-menu-item {
363
+ .nova-navbar-bridge-menu-item,
364
+ .nova-navbar-bridge-menu-dropdown-summary {
354
365
  gap: 0.75rem;
355
366
 
356
367
  font-family: var(--nova-font-body);
@@ -366,18 +377,23 @@
366
377
  }
367
378
 
368
379
  .nova-navbar-bridge-menu-item:hover,
369
- .nova-navbar-bridge-menu-item:focus-visible {
380
+ .nova-navbar-bridge-menu-item:focus-visible,
381
+ .nova-navbar-bridge-menu-dropdown-summary:hover,
382
+ .nova-navbar-bridge-menu-dropdown-summary:focus-visible {
370
383
  color: var(--nova-color-primary-600);
371
384
 
372
385
  background-color: var(--nova-color-surface-raised);
373
386
  }
374
387
 
375
- [data-theme="dark"] .nova-navbar-bridge-menu-item {
388
+ [data-theme="dark"] .nova-navbar-bridge-menu-item,
389
+ [data-theme="dark"] .nova-navbar-bridge-menu-dropdown-summary {
376
390
  color: var(--nova-color-text);
377
391
  }
378
392
 
379
393
  [data-theme="dark"] .nova-navbar-bridge-menu-item:hover,
380
- [data-theme="dark"] .nova-navbar-bridge-menu-item:focus-visible {
394
+ [data-theme="dark"] .nova-navbar-bridge-menu-item:focus-visible,
395
+ [data-theme="dark"] .nova-navbar-bridge-menu-dropdown-summary:hover,
396
+ [data-theme="dark"] .nova-navbar-bridge-menu-dropdown-summary:focus-visible {
381
397
  color: var(--nova-color-primary-400);
382
398
 
383
399
  background-color: rgba(255, 255, 255, 0.06);
@@ -402,9 +418,23 @@
402
418
  * align with the system motion scale.
403
419
  * ============================ */
404
420
 
405
- .nova-navbar-bridge-menu-item {
421
+ .nova-navbar-bridge-menu-item,
422
+ .nova-navbar-bridge-menu-dropdown {
406
423
  opacity: 0;
407
424
 
408
425
  animation: foundry-blur-in var(--nova-motion-duration) var(--nova-motion-easing) forwards;
409
426
  animation-delay: calc(var(--nova-item-index, 0) * 50ms + 50ms);
410
427
  }
428
+
429
+ /* ============================
430
+ * 13. Mobile Menu - Dropdown Spacing
431
+ * ============================ */
432
+
433
+ .nova-navbar-bridge-menu-dropdown[open] > .nova-navbar-bridge-menu-dropdown-summary {
434
+ margin-bottom: 0.125rem;
435
+ }
436
+
437
+ .nova-navbar-bridge-menu-dropdown-children {
438
+ gap: 0.125rem;
439
+ padding-inline-start: 1.75rem;
440
+ }