wagtail-enap-designsystem 1.2.1.174__py3-none-any.whl → 1.2.1.176__py3-none-any.whl

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.

Potentially problematic release.


This version of wagtail-enap-designsystem might be problematic. Click here for more details.

Files changed (20) hide show
  1. enap_designsystem/blocks/html_blocks.py +142 -27
  2. enap_designsystem/migrations/0445_alter_areaaluno_body_alter_cursoeadpage_curso_and_more.py +70889 -0
  3. enap_designsystem/migrations/0446_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +55314 -0
  4. enap_designsystem/migrations/0447_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +55294 -0
  5. enap_designsystem/models.py +1 -0
  6. enap_designsystem/static/enap_designsystem/blocks/banner.css +1 -1
  7. enap_designsystem/static/enap_designsystem/blocks/btn.css +11 -5
  8. enap_designsystem/static/enap_designsystem/blocks/capsulas.css +662 -690
  9. enap_designsystem/static/enap_designsystem/blocks/carousel_images.css +0 -2
  10. enap_designsystem/static/enap_designsystem/blocks/suap/suap_courses_block.css +1 -0
  11. enap_designsystem/templates/enap_designsystem/blocks/card_block.html +4 -2
  12. enap_designsystem/templates/enap_designsystem/blocks/suap/apisuap_courses_block.html +224 -208
  13. enap_designsystem/templates/enap_designsystem/blocks/texto_imagem.html +1 -1
  14. enap_designsystem/templates/enap_designsystem/pages/capsula_index_page.html +67 -755
  15. enap_designsystem/templates/enap_designsystem/pages/quiz_rota_page.html +425 -389
  16. {wagtail_enap_designsystem-1.2.1.174.dist-info → wagtail_enap_designsystem-1.2.1.176.dist-info}/METADATA +1 -1
  17. {wagtail_enap_designsystem-1.2.1.174.dist-info → wagtail_enap_designsystem-1.2.1.176.dist-info}/RECORD +20 -17
  18. {wagtail_enap_designsystem-1.2.1.174.dist-info → wagtail_enap_designsystem-1.2.1.176.dist-info}/WHEEL +0 -0
  19. {wagtail_enap_designsystem-1.2.1.174.dist-info → wagtail_enap_designsystem-1.2.1.176.dist-info}/licenses/LICENSE +0 -0
  20. {wagtail_enap_designsystem-1.2.1.174.dist-info → wagtail_enap_designsystem-1.2.1.176.dist-info}/top_level.txt +0 -0
@@ -1,707 +1,679 @@
1
- /* static/css/capsulas.css */
2
-
3
- :root {
4
- --color-primary: #1e40af;
5
- --color-primary-hover: #1e3a8a;
6
- --color-danger: #dc2626;
7
- --color-success: #16a34a;
8
- --color-gray-50: #f9fafb;
9
- --color-gray-100: #f3f4f6;
10
- --color-gray-200: #e5e7eb;
11
- --color-gray-300: #d1d5db;
12
- --color-gray-600: #4b5563;
13
- --color-gray-700: #374151;
14
- --color-gray-900: #111827;
15
- }
16
-
17
1
  /* ============================================ */
18
- /* LAYOUT PRINCIPAL - LISTAGEM */
2
+ /* Capsulas index */
19
3
  /* ============================================ */
20
-
21
- .capsulas-container {
22
- display: grid;
23
- grid-template-columns: 280px 1fr;
24
- gap: 2rem;
25
- max-width: 1400px;
26
- margin: 0 auto;
27
- padding: 2rem 1rem;
28
- }
29
-
30
- @media (max-width: 968px) {
31
- .capsulas-container {
32
- grid-template-columns: 1fr;
4
+
5
+ :root {
6
+ --primary: #0c5a5a;
7
+ --primary-dark: #094444;
8
+ --primary-light: #0f7070;
9
+ --gray-50: #f9fafb;
10
+ --gray-100: #f3f4f6;
11
+ --gray-200: #e5e7eb;
12
+ --gray-300: #d1d5db;
13
+ --gray-400: #9ca3af;
14
+ --gray-500: #6b7280;
15
+ --gray-600: #4b5563;
16
+ --gray-700: #374151;
17
+ --gray-800: #1f2937;
18
+ --gray-900: #111827;
19
+ --blue-50: #eff6ff;
20
+ --blue-100: #dbeafe;
21
+ --blue-200: #bfdbfe;
22
+ --blue-600: #2563eb;
23
+ --red-50: #fef2f2;
24
+ --red-100: #fecaca;
25
+ --red-600: #dc2626;
26
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
27
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
28
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
29
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
30
+ --radius-sm: 6px;
31
+ --radius-md: 8px;
32
+ --radius-lg: 12px;
33
+ --radius-xl: 16px;
33
34
  }
34
35
 
35
- .filtros-sidebar {
36
- order: 2;
36
+ /* ============================================ */
37
+ /* LAYOUT PRINCIPAL */
38
+ /* ============================================ */
39
+
40
+ .acessibilidade-container-page {
41
+ background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
42
+ min-height: 100vh;
37
43
  }
38
44
 
39
- .resultados-main {
40
- order: 1;
45
+ .acessibilidade-conteudo-container {
46
+ max-width: 1400px;
47
+ margin: 0 auto;
48
+ padding: 2.5rem 1.5rem;
49
+ display: grid;
50
+ grid-template-columns: 360px 1fr;
51
+ gap: 2.5rem;
41
52
  }
42
- }
43
-
44
- /* ============================================ */
45
- /* SIDEBAR DE FILTROS */
46
- /* ============================================ */
47
-
48
- .filtros-sidebar {
49
- position: sticky;
50
- top: 2rem;
51
- height: fit-content;
52
- background: var(--color-gray-50);
53
- border-radius: 8px;
54
- padding: 1.5rem;
55
- }
56
-
57
- .filtros-header {
58
- display: flex;
59
- justify-content: space-between;
60
- align-items: center;
61
- margin-bottom: 1.5rem;
62
- padding-bottom: 1rem;
63
- border-bottom: 2px solid var(--color-gray-200);
64
- }
65
-
66
- /* static/css/capsulas.css - CONTINUAÇÃO */
67
-
68
- .filtros-titulo {
69
- font-size: 1.25rem;
70
- font-weight: 600;
71
- margin: 0;
72
- color: var(--color-gray-900);
73
- }
74
-
75
- .btn-limpar-filtros {
76
- font-size: 0.875rem;
77
- color: var(--color-danger);
78
- text-decoration: none;
79
- font-weight: 500;
80
- }
81
-
82
- .btn-limpar-filtros:hover {
83
- text-decoration: underline;
84
- }
85
-
86
- /* Grupos de filtro */
87
- .filtro-grupo {
88
- border: none;
89
- padding: 0;
90
- margin: 0 0 1.5rem;
91
- }
92
-
93
- .filtro-grupo-titulo {
94
- margin: 0;
95
- padding: 0;
96
- }
97
-
98
- .filtro-toggle {
99
- width: 100%;
100
- display: flex;
101
- justify-content: space-between;
102
- align-items: center;
103
- background: none;
104
- border: none;
105
- padding: 0.75rem 0;
106
- font-size: 1rem;
107
- font-weight: 600;
108
- color: var(--color-gray-900);
109
- cursor: pointer;
110
- text-align: left;
111
- }
112
-
113
- .filtro-toggle:hover {
114
- color: var(--color-primary);
115
- }
116
-
117
- .filtro-toggle:focus {
118
- outline: 2px solid var(--color-primary);
119
- outline-offset: 2px;
120
- border-radius: 4px;
121
- }
122
-
123
- .toggle-icon {
124
- transition: transform 0.2s ease;
125
- flex-shrink: 0;
126
- }
127
-
128
- .filtro-toggle[aria-expanded="false"] .toggle-icon {
129
- transform: rotate(-90deg);
130
- }
131
-
132
- /* Opções de filtro */
133
- .filtro-opcoes {
134
- padding: 0.5rem 0;
135
- }
136
-
137
- .filtro-opcoes[hidden] {
138
- display: none;
139
- }
140
-
141
- /* Checkboxes */
142
- .filtro-checkbox {
143
- display: flex;
144
- align-items: center;
145
- gap: 0.5rem;
146
- padding: 0.5rem 0;
147
- cursor: pointer;
148
- font-size: 0.9375rem;
149
- }
150
-
151
- .filtro-checkbox:hover {
152
- background: var(--color-gray-100);
153
- margin: 0 -0.5rem;
154
- padding-left: 0.5rem;
155
- padding-right: 0.5rem;
156
- border-radius: 4px;
157
- }
158
-
159
- .filtro-checkbox input[type="checkbox"] {
160
- width: 18px;
161
- height: 18px;
162
- cursor: pointer;
163
- flex-shrink: 0;
164
- }
165
-
166
- .checkbox-label {
167
- flex: 1;
168
- }
169
-
170
- .checkbox-count {
171
- color: var(--color-gray-600);
172
- font-size: 0.875rem;
173
- }
174
-
175
- /* Radio buttons */
176
- .filtro-radio {
177
- display: flex;
178
- align-items: center;
179
- gap: 0.5rem;
180
- padding: 0.5rem 0;
181
- cursor: pointer;
182
- }
183
-
184
- .filtro-radio:hover {
185
- background: var(--color-gray-100);
186
- margin: 0 -0.5rem;
187
- padding-left: 0.5rem;
188
- padding-right: 0.5rem;
189
- border-radius: 4px;
190
- }
191
-
192
- .filtro-radio input[type="radio"] {
193
- width: 18px;
194
- height: 18px;
195
- cursor: pointer;
196
- flex-shrink: 0;
197
- }
198
-
199
- /* ============================================ */
200
- /* ÁREA DE RESULTADOS */
201
- /* ============================================ */
202
-
203
- .resultados-main {
204
- min-width: 0;
205
- }
206
-
207
- .resultados-header {
208
- margin-bottom: 2rem;
209
- }
210
-
211
- .resultados-header h1 {
212
- font-size: 2rem;
213
- font-weight: 700;
214
- color: var(--color-gray-900);
215
- margin-bottom: 1rem;
216
- }
217
-
218
- .intro-text {
219
- color: var(--color-gray-700);
220
- margin-bottom: 1rem;
221
- }
222
-
223
- .resultados-count {
224
- font-size: 1rem;
225
- color: var(--color-gray-600);
226
- font-weight: 500;
227
- }
228
-
229
- /* Grid de cápsulas */
230
- .capsulas-grid {
231
- display: grid;
232
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
233
- gap: 1.5rem;
234
- }
235
-
236
- .capsula-card {
237
- background: white;
238
- border: 1px solid var(--color-gray-200);
239
- border-radius: 8px;
240
- transition: all 0.2s ease;
241
- overflow: hidden;
242
- }
243
-
244
- .capsula-card:hover {
245
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
246
- border-color: var(--color-primary);
247
- }
248
-
249
- .capsula-card-link {
250
- display: block;
251
- text-decoration: none;
252
- color: inherit;
253
- }
254
-
255
- .capsula-card-content {
256
- padding: 1.5rem;
257
- }
258
-
259
- .capsula-badge {
260
- display: inline-block;
261
- padding: 0.25rem 0.75rem;
262
- border-radius: 4px;
263
- font-size: 0.75rem;
264
- font-weight: 600;
265
- letter-spacing: 0.5px;
266
- margin-bottom: 1rem;
267
- }
268
-
269
- .capsula-badge-obrigatorio {
270
- background: var(--color-danger);
271
- color: white;
272
- }
273
-
274
- .capsula-badge-recomendado {
275
- background: var(--color-primary);
276
- color: white;
277
- }
278
-
279
- .capsula-card-titulo {
280
- font-size: 1.25rem;
281
- font-weight: 600;
282
- color: var(--color-gray-900);
283
- margin-bottom: 0.75rem;
284
- line-height: 1.4;
285
- }
286
-
287
- .capsula-card-resumo {
288
- font-size: 0.9375rem;
289
- color: var(--color-gray-600);
290
- line-height: 1.6;
291
- margin-bottom: 1rem;
292
- }
293
-
294
- .capsula-card-footer {
295
- margin-top: auto;
296
- }
297
-
298
- .capsula-tags {
299
- display: flex;
300
- flex-wrap: wrap;
301
- gap: 0.5rem;
302
- }
303
-
304
- .capsula-tag {
305
- display: inline-block;
306
- padding: 0.25rem 0.625rem;
307
- background: var(--color-gray-100);
308
- border-radius: 4px;
309
- font-size: 0.8125rem;
310
- color: var(--color-gray-700);
311
- }
312
-
313
- .capsula-tag-mais {
314
- display: inline-block;
315
- padding: 0.25rem 0.625rem;
316
- background: var(--color-gray-200);
317
- border-radius: 4px;
318
- font-size: 0.8125rem;
319
- color: var(--color-gray-600);
320
- font-weight: 600;
321
- }
322
-
323
- /* Estado vazio */
324
- .resultados-vazio {
325
- text-align: center;
326
- padding: 4rem 2rem;
327
- color: var(--color-gray-600);
328
- }
329
-
330
- .vazio-icon {
331
- width: 64px;
332
- height: 64px;
333
- margin: 0 auto 1.5rem;
334
- color: var(--color-gray-300);
335
- }
336
-
337
- .resultados-vazio h2 {
338
- font-size: 1.5rem;
339
- color: var(--color-gray-700);
340
- margin-bottom: 0.5rem;
341
- }
342
-
343
- .resultados-vazio a {
344
- color: var(--color-primary);
345
- text-decoration: none;
346
- font-weight: 500;
347
- }
348
-
349
- .resultados-vazio a:hover {
350
- text-decoration: underline;
351
- }
352
-
353
- /* ============================================ */
354
- /* PÁGINA DA CÁPSULA INDIVIDUAL */
355
- /* ============================================ */
356
-
357
- .capsula-page {
358
- max-width: 900px;
359
- margin: 0 auto;
360
- padding: 2rem 1rem;
361
- }
362
-
363
- /* Breadcrumb */
364
- .breadcrumb {
365
- margin-bottom: 2rem;
366
- }
367
-
368
- .breadcrumb ol {
369
- display: flex;
370
- flex-wrap: wrap;
371
- gap: 0.5rem;
372
- list-style: none;
373
- padding: 0;
374
- margin: 0;
375
- font-size: 0.875rem;
376
- }
377
-
378
- .breadcrumb li {
379
- display: flex;
380
- align-items: center;
381
- }
382
-
383
- .breadcrumb li:not(:last-child)::after {
384
- content: "/";
385
- margin-left: 0.5rem;
386
- color: var(--color-gray-400);
387
- }
388
-
389
- .breadcrumb a {
390
- color: var(--color-primary);
391
- text-decoration: none;
392
- }
393
-
394
- .breadcrumb a:hover {
395
- text-decoration: underline;
396
- }
397
-
398
- .breadcrumb [aria-current="page"] {
399
- color: var(--color-gray-600);
400
- }
401
-
402
- /* Cabeçalho da cápsula */
403
- .capsula-header {
404
- margin-bottom: 3rem;
405
- padding-bottom: 2rem;
406
- border-bottom: 2px solid var(--color-gray-200);
407
- }
408
-
409
- .capsula-titulo {
410
- font-size: 2.5rem;
411
- font-weight: 700;
412
- color: var(--color-gray-900);
413
- margin-bottom: 1rem;
414
- line-height: 1.2;
415
- }
416
-
417
- .capsula-meta {
418
- display: flex;
419
- flex-wrap: wrap;
420
- gap: 1rem;
421
- align-items: center;
422
- margin-bottom: 1.5rem;
423
- }
424
-
425
- .badge {
426
- display: inline-block;
427
- padding: 0.375rem 0.75rem;
428
- border-radius: 4px;
429
- font-size: 0.875rem;
430
- font-weight: 600;
431
- text-transform: uppercase;
432
- }
433
-
434
- .badge-obrigatorio {
435
- background: var(--color-danger);
436
- color: white;
437
- }
438
-
439
- .badge-recomendado {
440
- background: var(--color-primary);
441
- color: white;
442
- }
443
-
444
- .capsula-data {
445
- font-size: 0.875rem;
446
- color: var(--color-gray-600);
447
- }
448
-
449
- /* Taxonomias */
450
- .capsula-taxonomias {
451
- display: flex;
452
- flex-direction: column;
453
- gap: 0.75rem;
454
- }
455
-
456
- .taxonomia-grupo {
457
- display: flex;
458
- flex-wrap: wrap;
459
- gap: 0.5rem;
460
- align-items: center;
461
- }
462
-
463
- .taxonomia-label {
464
- font-weight: 600;
465
- font-size: 0.875rem;
466
- color: var(--color-gray-600);
467
- }
468
-
469
- .tag {
470
- display: inline-block;
471
- padding: 0.25rem 0.75rem;
472
- background: var(--color-gray-100);
473
- border-radius: 4px;
474
- font-size: 0.875rem;
475
- color: var(--color-gray-700);
476
- }
477
-
478
- /* Seções de conteúdo */
479
- .secao-conteudo {
480
- margin-bottom: 3rem;
481
- }
482
-
483
- .secao-titulo {
484
- font-size: 1.75rem;
485
- font-weight: 600;
486
- color: var(--color-gray-900);
487
- margin-bottom: 1rem;
488
- padding-bottom: 0.5rem;
489
- border-bottom: 2px solid var(--color-gray-200);
490
- }
491
-
492
- .conteudo-expansivel {
493
- margin-top: 1rem;
494
- }
495
-
496
- .conteudo-resumo {
497
- line-height: 1.7;
498
- color: var(--color-gray-700);
499
- }
500
-
501
- .conteudo-resumo p {
502
- margin-bottom: 1rem;
503
- }
504
-
505
- .conteudo-detalhado {
506
- margin-top: 1rem;
507
- padding-top: 1rem;
508
- border-top: 1px dashed var(--color-gray-300);
509
- line-height: 1.7;
510
- color: var(--color-gray-700);
511
- }
512
-
513
- .conteudo-detalhado[hidden] {
514
- display: none;
515
- }
516
-
517
- .conteudo-detalhado p {
518
- margin-bottom: 1rem;
519
- }
520
-
521
- .conteudo-detalhado ul,
522
- .conteudo-detalhado ol {
523
- margin-left: 1.5rem;
524
- margin-bottom: 1rem;
525
- }
526
-
527
- .conteudo-detalhado li {
528
- margin-bottom: 0.5rem;
529
- }
530
-
531
- .conteudo-normas {
532
- line-height: 1.7;
533
- color: var(--color-gray-700);
534
- }
535
-
536
- /* Botão Leia Mais */
537
- .btn-leia-mais {
538
- display: inline-flex;
539
- align-items: center;
540
- gap: 0.5rem;
541
- margin-top: 1rem;
542
- padding: 0.625rem 1.25rem;
543
- background: var(--color-primary);
544
- color: white;
545
- border: none;
546
- border-radius: 6px;
547
- font-weight: 500;
548
- font-size: 0.9375rem;
549
- cursor: pointer;
550
- transition: all 0.2s ease;
551
- }
552
-
553
- .btn-leia-mais:hover {
554
- background: var(--color-primary-hover);
555
- }
556
-
557
- .btn-leia-mais:focus {
558
- outline: 2px solid var(--color-primary);
559
- outline-offset: 2px;
560
- }
561
-
562
- .btn-leia-mais .texto-recolher,
563
- .btn-leia-mais .texto-expandir {
564
- transition: opacity 0.2s;
565
- }
566
-
567
- .btn-leia-mais[aria-expanded="true"] .texto-expandir {
568
- display: none;
569
- }
570
-
571
- .btn-leia-mais[aria-expanded="true"] .texto-recolher {
572
- display: inline;
573
- }
574
-
575
- .btn-leia-mais[aria-expanded="false"] .texto-recolher {
576
- display: none;
577
- }
578
-
579
- .seta-icon {
580
- transition: transform 0.2s ease;
581
- }
582
-
583
- .btn-leia-mais[aria-expanded="true"] .seta-icon {
584
- transform: rotate(180deg);
585
- }
586
-
587
- /* Cápsulas relacionadas */
588
- .capsulas-relacionadas {
589
- margin-top: 4rem;
590
- padding-top: 2rem;
591
- border-top: 2px solid var(--color-gray-200);
592
- }
593
-
594
- .relacionadas-titulo {
595
- font-size: 1.5rem;
596
- font-weight: 600;
597
- color: var(--color-gray-900);
598
- margin-bottom: 1.5rem;
599
- }
600
-
601
- .relacionadas-grid {
602
- display: grid;
603
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
604
- gap: 1.5rem;
605
- }
606
-
607
- .capsula-card-mini {
608
- padding: 1.25rem;
609
- border: 1px solid var(--color-gray-200);
610
- border-radius: 6px;
611
- transition: all 0.2s ease;
612
- }
613
-
614
- .capsula-card-mini:hover {
615
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
616
- border-color: var(--color-primary);
617
- }
618
-
619
- .capsula-card-mini a {
620
- text-decoration: none;
621
- color: inherit;
622
- }
623
-
624
- .capsula-card-mini .capsula-card-titulo {
625
- font-size: 1.125rem;
626
- font-weight: 600;
627
- margin-bottom: 0.5rem;
628
- color: var(--color-gray-900);
629
- }
630
-
631
- .capsula-card-mini .capsula-card-resumo {
632
- font-size: 0.875rem;
633
- color: var(--color-gray-600);
634
- line-height: 1.5;
635
- }
636
-
637
- /* Ações da cápsula */
638
- .capsula-acoes {
639
- margin-top: 3rem;
640
- padding-top: 2rem;
641
- border-top: 1px solid var(--color-gray-200);
642
- }
643
-
644
- .btn-voltar {
645
- display: inline-flex;
646
- align-items: center;
647
- gap: 0.5rem;
648
- padding: 0.625rem 1.25rem;
649
- background: var(--color-gray-100);
650
- color: var(--color-gray-700);
651
- text-decoration: none;
652
- border-radius: 6px;
653
- font-weight: 500;
654
- transition: all 0.2s ease;
655
- }
656
-
657
- .btn-voltar:hover {
658
- background: var(--color-gray-200);
659
- }
660
-
661
- /* ============================================ */
662
- /* RESPONSIVIDADE */
663
- /* ============================================ */
664
-
665
- @media (max-width: 768px) {
666
- .capsula-titulo {
667
- font-size: 2rem;
53
+
54
+ @media (max-width: 968px) {
55
+ .acessibilidade-conteudo-container {
56
+ grid-template-columns: 1fr;
57
+ padding: 1.5rem 1rem;
58
+ gap: 1.5rem;
59
+ }
668
60
  }
669
61
 
670
- .secao-titulo {
671
- font-size: 1.5rem;
62
+ /* ============================================ */
63
+ /* SIDEBAR DE BUSCA E FILTROS */
64
+ /* ============================================ */
65
+
66
+ .filtros-lateral {
67
+ position: sticky;
68
+ top: 2rem;
69
+ height: fit-content;
672
70
  }
673
71
 
674
- .capsulas-grid {
675
- grid-template-columns: 1fr;
72
+ @media (max-width: 968px) {
73
+ .filtros-lateral {
74
+ position: static;
75
+ }
676
76
  }
677
77
 
678
- .relacionadas-grid {
679
- grid-template-columns: 1fr;
78
+ /* Campo de busca modernizado */
79
+ .pesquisa-campo-wrapper {
80
+ position: relative;
81
+ margin-bottom: 1.5rem;
82
+ }
83
+
84
+ .pesquisa-icone {
85
+ position: absolute;
86
+ left: 1rem;
87
+ top: 50%;
88
+ transform: translateY(-50%);
89
+ color: var(--gray-400);
90
+ width: 20px;
91
+ height: 20px;
92
+ transition: color 0.2s;
93
+ }
94
+
95
+ .pesquisa-campo {
96
+ width: 100%;
97
+ padding: 1rem 1rem 1rem 3rem;
98
+ border: 2px solid var(--gray-200);
99
+ border-radius: var(--radius-lg);
100
+ font-size: 0.9375rem;
101
+ background: white;
102
+ transition: all 0.2s ease;
103
+ box-shadow: var(--shadow-sm);
104
+ }
105
+
106
+ .pesquisa-campo:hover {
107
+ border-color: var(--gray-300);
108
+ }
109
+
110
+ .pesquisa-campo:focus {
111
+ outline: none;
112
+ border-color: var(--primary);
113
+ box-shadow: 0 0 0 3px rgba(12, 90, 90, 0.1);
114
+ }
115
+
116
+ .pesquisa-campo:focus + .pesquisa-icone {
117
+ color: var(--primary);
118
+ }
119
+
120
+ /* Container de filtros */
121
+ .opcoes-filtragem {
122
+ overflow: hidden;
123
+ }
124
+
125
+ .opcoes-filtragem-cabecalho {
126
+ padding: 1.25rem 1.5rem;
127
+ background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
128
+ border: none;
129
+ display: flex;
130
+ justify-content: space-between;
131
+ align-items: center;
132
+ cursor: pointer;
133
+ user-select: none;
134
+ transition: all 0.2s;
135
+ width: 100%;
136
+ }
137
+
138
+ .opcoes-filtragem-cabecalho:hover {
139
+ background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
140
+ }
141
+
142
+ .opcoes-filtragem-titulo {
143
+ display: flex;
144
+ align-items: center;
145
+ gap: 0.625rem;
146
+ font-weight: 600;
147
+ color: white;
148
+ font-size: 1.0625rem;
149
+ }
150
+
151
+ .filtragem-icone {
152
+ width: 22px;
153
+ height: 22px;
154
+ color: white;
155
+ }
156
+
157
+ .alternar-icone {
158
+ width: 20px;
159
+ height: 20px;
160
+ color: white;
161
+ transition: transform 0.3s ease;
162
+ }
163
+
164
+ .opcoes-filtragem-cabecalho[aria-expanded="false"] .alternar-icone {
165
+ transform: rotate(-90deg);
166
+ }
167
+
168
+ .filtragem-conteudo {
169
+ max-height: 600px;
170
+ overflow-y: auto;
171
+ scrollbar-width: thin;
172
+ scrollbar-color: var(--gray-300) var(--gray-100);
173
+ }
174
+
175
+ .filtragem-conteudo::-webkit-scrollbar {
176
+ width: 6px;
177
+ }
178
+
179
+ .filtragem-conteudo::-webkit-scrollbar-track {
180
+ background: var(--gray-100);
181
+ border-radius: 3px;
182
+ }
183
+
184
+ .filtragem-conteudo::-webkit-scrollbar-thumb {
185
+ background: var(--gray-300);
186
+ border-radius: 3px;
187
+ }
188
+
189
+ .filtragem-conteudo::-webkit-scrollbar-thumb:hover {
190
+ background: var(--gray-400);
191
+ }
192
+
193
+ .filtragem-conteudo[hidden] {
194
+ display: none;
195
+ }
196
+
197
+ /* ============================================ */
198
+ /* DROPDOWN MODERNIZADO */
199
+ /* ============================================ */
200
+
201
+ .categoria-filtro {
202
+ border: none;
203
+ padding: 0;
204
+ margin: 0 0 1.5rem;
205
+ }
206
+
207
+ .categoria-filtro:last-child {
208
+ margin-bottom: 0;
209
+ }
210
+
211
+ .categoria-dropdown {
212
+ border: 1px solid #C8D1E0;
213
+ border-radius: 1px solid #C8D1E0;
214
+ overflow: hidden;
215
+ transition: all 0.2s;
216
+ background: var(--gray-50);
217
+
218
+ }
219
+
220
+ .categoria-dropdown:hover {
221
+ border-color: var(--gray-300);
222
+ }
223
+
224
+ .categoria-dropdown.active {
225
+
226
+ }
227
+
228
+ .categoria-cabecalho {
229
+ padding: 0.875rem 1rem;
230
+ background: white;
231
+ border: none;
232
+ display: flex;
233
+ justify-content: space-between;
234
+ align-items: center;
235
+ cursor: pointer;
236
+ user-select: none;
237
+ width: 100%;
238
+ transition: all 0.2s;
239
+ }
240
+
241
+ .categoria-cabecalho:hover {
242
+ background: var(--gray-50);
243
+ }
244
+
245
+ .categoria-titulo {
246
+ font-size: 0.9375rem;
247
+ font-weight: 600;
248
+ color: var(--gray-800);
249
+ display: flex;
250
+ align-items: center;
251
+ gap: 0.5rem;
252
+ }
253
+
254
+ .seta-dropdown {
255
+ width: 16px;
256
+ height: 16px;
257
+ color: var(--gray-500);
258
+ transition: transform 0.3s ease;
259
+ }
260
+
261
+ .categoria-cabecalho[aria-expanded="true"] .seta-dropdown {
262
+ transform: rotate(180deg);
263
+ color: var(--primary);
264
+ }
265
+
266
+ .categoria-opcoes {
267
+ max-height: 0;
268
+ overflow: hidden;
269
+ transition: max-height 0.3s ease;
270
+ background: white;
271
+ }
272
+
273
+ .categoria-opcoes.open {
274
+ max-height: 400px;
275
+ border-top: 1px solid var(--gray-100);
276
+ padding: 0.75rem 0.5rem;
277
+ }
278
+
279
+ /* Checkbox customizado moderno */
280
+ .selecao-checkbox {
281
+ display: flex;
282
+ align-items: center;
283
+ cursor: pointer;
284
+ padding: 0.5rem 0.75rem;
285
+ border-radius: var(--radius-sm);
286
+ transition: all 0.2s;
287
+ margin: 0.125rem 0;
288
+ }
289
+
290
+ .selecao-checkbox:hover {
291
+ background: var(--gray-50);
292
+ }
293
+
294
+ .selecao-checkbox input[type="checkbox"] {
295
+ width: 18px;
296
+ height: 18px;
297
+ cursor: pointer;
298
+ margin-right: 0.75rem;
299
+ flex-shrink: 0;
300
+ accent-color: var(--primary);
301
+ border-radius: 4px;
302
+ }
303
+
304
+ .texto-checkbox {
305
+ font-size: 0.9375rem;
306
+ color: var(--gray-700);
307
+ transition: color 0.2s;
308
+ }
309
+
310
+ .selecao-checkbox:hover .texto-checkbox {
311
+ color: var(--primary);
312
+ }
313
+
314
+ .selecao-checkbox input[type="checkbox"]:checked + .texto-checkbox {
315
+ font-weight: 500;
316
+ color: var(--primary);
317
+ }
318
+
319
+ /* Badge de contagem */
320
+ .contador-badge {
321
+ display: inline-flex;
322
+ align-items: center;
323
+ justify-content: center;
324
+ min-width: 20px;
325
+ height: 20px;
326
+ padding: 0 0.375rem;
327
+ background: var(--primary);
328
+ color: white;
329
+ border-radius: 10px;
330
+ font-size: 0.6875rem;
331
+ font-weight: 600;
332
+ margin-left: auto;
333
+ }
334
+
335
+ /* ============================================ */
336
+ /* ÁREA DE RESULTADOS */
337
+ /* ============================================ */
338
+
339
+ .conteudo-principal {
340
+ min-width: 0;
341
+ }
342
+
343
+ .conteudo-cabecalho {
344
+ display: flex;
345
+ justify-content: space-between;
346
+ align-items: center;
347
+ margin-bottom: 2rem;
348
+ padding: 1.25rem 1.5rem;
349
+ background: white;
350
+ border-radius: var(--radius-lg);
351
+ box-shadow: var(--shadow-sm);
352
+ border: 2px solid var(--gray-200);
353
+ }
354
+
355
+ @media (max-width: 640px) {
356
+ .conteudo-cabecalho {
357
+ flex-direction: column;
358
+ gap: 1rem;
359
+ align-items: flex-start;
360
+ }
361
+ }
362
+
363
+ .conteudo-contador {
364
+ font-size: 1.25rem;
365
+ font-weight: 700;
366
+ color: var(--gray-800);
367
+ display: flex;
368
+ align-items: center;
369
+ gap: 0.5rem;
370
+ }
371
+
372
+ .conteudo-contador::before {
373
+ content: '';
374
+ width: 4px;
375
+ height: 24px;
376
+ background: linear-gradient(180deg, var(--primary) 0%, var(--primary-light) 100%);
377
+ border-radius: 2px;
378
+ }
379
+
380
+ .conteudo-ordenacao {
381
+ display: flex;
382
+ align-items: center;
383
+ gap: 0.625rem;
384
+ }
385
+
386
+ .ordenacao-texto {
387
+ font-size: 0.875rem;
388
+ color: var(--gray-600);
389
+ font-weight: 500;
390
+ }
391
+
392
+ .ordenacao-select {
393
+ padding: 0.625rem 2.25rem 0.625rem 0.875rem;
394
+ border: 2px solid var(--gray-200);
395
+ border-radius: var(--radius-md);
396
+ font-size: 0.9375rem;
397
+ background: white;
398
+ cursor: pointer;
399
+ appearance: none;
400
+ background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230c5a5a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
401
+ background-repeat: no-repeat;
402
+ background-position: right 0.75rem center;
403
+ transition: all 0.2s;
404
+ font-weight: 500;
405
+ }
406
+
407
+ .ordenacao-select:hover {
408
+ border-color: var(--gray-300);
409
+ }
410
+
411
+ .ordenacao-select:focus {
412
+ outline: none;
413
+ border-color: var(--primary);
414
+ box-shadow: 0 0 0 3px rgba(12, 90, 90, 0.1);
415
+ }
416
+
417
+ /* ============================================ */
418
+ /* GRID DE CÁPSULAS MODERNIZADO */
419
+ /* ============================================ */
420
+
421
+ .recursos-grid {
422
+ display: grid;
423
+ grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
424
+ gap: 1.75rem;
425
+ }
426
+
427
+ @media (max-width: 768px) {
428
+ .recursos-grid {
429
+ grid-template-columns: 1fr;
430
+ }
431
+ }
432
+
433
+ .recurso-card {
434
+ background: white;
435
+ border: 1px solid #C8D1E0;
436
+ border-radius: 20px;
437
+ padding: 2rem;
438
+ display: flex;
439
+ flex-direction: column;
440
+ position: relative;
441
+ overflow: hidden;
442
+ }
443
+
444
+
445
+ .recurso-card:hover {
446
+ color: #006969;
447
+ background-color: #EBEFF5;
448
+ }
449
+
450
+ .recurso-card:hover::before {
451
+ transform: scaleX(1);
452
+ }
453
+
454
+ .recurso-card-icone {
455
+ width: 56px;
456
+ height: 56px;
457
+ background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
458
+ border-radius: var(--radius-lg);
459
+ display: flex;
460
+ align-items: center;
461
+ justify-content: center;
462
+ margin-bottom: 1.25rem;
463
+ flex-shrink: 0;
464
+ box-shadow: 0 4px 12px rgba(12, 90, 90, 0.2);
465
+ }
466
+
467
+ .recurso-card-icone svg {
468
+ width: 28px;
469
+ height: 28px;
470
+ color: white;
471
+ }
472
+
473
+ .recurso-card-titulo {
474
+ font-size: 18px;
475
+ font-weight: 700;
476
+ color: #434A54;
477
+ margin-bottom: 0.875rem;
478
+ line-height: 1.4;
479
+ margin: 0;
480
+ }
481
+
482
+ .recurso-card-titulo a {
483
+ color: inherit;
484
+ text-decoration: none;
485
+ transition: color 0.2s;
486
+ }
487
+
488
+ .recurso-card-titulo a:hover {
489
+ color: var(--primary);
490
+ }
491
+
492
+ .recurso-card-descricao {
493
+ font-size: 16px;
494
+ color: #434A54;
495
+ line-height: 1.7;
496
+ margin-bottom: 1.5rem;
497
+ flex-grow: 1;
498
+ }
499
+
500
+ /* Tags de deficiência */
501
+ .recurso-tags-categoria {
502
+ display: flex;
503
+ flex-wrap: wrap;
504
+ gap: 0.5rem;
505
+ margin-bottom: 1rem;
506
+ }
507
+
508
+ .tag-categoria {
509
+ display: inline-flex;
510
+ align-items: center;
511
+ gap: 0.375rem;
512
+ padding: 0.375rem 0.75rem;
513
+ background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
514
+ border: 1px solid #bae6fd;
515
+ border-radius: var(--radius-xl);
516
+ font-size: 0.8125rem;
517
+ color: var(--primary);
518
+ font-weight: 500;
519
+ }
520
+
521
+ .tag-categoria-icone {
522
+ width: 14px;
523
+ height: 14px;
524
+ flex-shrink: 0;
525
+ }
526
+
527
+ /* Badge de prioridade */
528
+ .recurso-badge {
529
+ display: inline-flex;
530
+ align-items: center;
531
+ gap: 0.375rem;
532
+ padding: 0.375rem 0.875rem;
533
+ border-radius: var(--radius-xl);
534
+ font-size: 0.8125rem;
535
+ font-weight: 700;
536
+ margin-bottom: 1rem;
537
+ width: fit-content;
538
+ letter-spacing: 0.5px;
539
+ }
540
+
541
+ .recurso-badge-obrigatorio {
542
+ background: #FCF0F1;
543
+ color: #DF3E63;
544
+ border: 1px solid #DF3E63;
545
+ }
546
+
547
+ .recurso-badge-recomendado {
548
+ background: #E6EFFA;
549
+ color: #155BCB;
550
+ border: 1px solid #155BCB;
551
+ }
552
+
553
+ .badge-icone {
554
+ width: 14px;
555
+ height: 14px;
556
+ }
557
+
558
+ /* Tags de recurso */
559
+ .recurso-tags-tipo {
560
+ display: flex;
561
+ flex-wrap: wrap;
562
+ gap: 0.5rem;
563
+ margin-bottom: 1.5rem;
564
+ padding-top: 1.25rem;
565
+ border-top: 2px solid var(--gray-100);
566
+ }
567
+
568
+ .tag-tipo {
569
+ display: inline-flex;
570
+ align-items: center;
571
+ gap: 0.375rem;
572
+ padding: 0.375rem 0.75rem;
573
+ background: var(--gray-100);
574
+ border-radius: var(--radius-sm);
575
+ font-size: 0.8125rem;
576
+ color: var(--gray-700);
577
+ font-weight: 500;
578
+ transition: all 0.2s;
579
+ }
580
+
581
+ .tag-tipo:hover {
582
+ background: var(--gray-200);
583
+ }
584
+
585
+ .tag-tipo-icone {
586
+ width: 14px;
587
+ height: 14px;
588
+ }
589
+
590
+ /* Botão de ação modernizado */
591
+ .recurso-card-botao {
592
+ padding: 0.875rem 1.5rem;
593
+ background: #007D7A;
594
+ color: white;
595
+ border: none;
596
+ border-radius: 32px;
597
+ font-weight: 700;
598
+ font-size: 0.9375rem;
599
+ cursor: pointer;
600
+ transition: all 0.3s ease;
601
+ text-align: center;
602
+ text-decoration: none;
603
+ display: block;
604
+ box-shadow: 0 4px 12px rgba(12, 90, 90, 0.2);
605
+ position: relative;
606
+ overflow: hidden;
607
+ }
608
+
609
+ .recurso-card-botao::before {
610
+ content: '';
611
+ position: absolute;
612
+ top: 0;
613
+ left: -100%;
614
+ width: 100%;
615
+ height: 100%;
616
+ background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
617
+ transition: left 0.5s;
618
+ }
619
+
620
+ .recurso-card-botao:hover {
621
+ background: #006969;
622
+ color: white;
623
+ box-shadow: 0 6px 16px rgba(12, 90, 90, 0.3);
624
+ }
625
+
626
+ .recurso-card-botao:hover::before {
627
+ left: 100%;
680
628
  }
681
- }
682
-
683
- /* ============================================ */
684
- /* ACESSIBILIDADE */
685
- /* ============================================ */
686
629
 
687
- /* Foco visível */
688
- *:focus {
689
- outline: 2px solid var(--color-primary);
690
- outline-offset: 2px;
691
- }
630
+
631
+ .recurso-card-botao:focus {
632
+ outline: none;
633
+ box-shadow: 0 0 0 3px rgba(12, 90, 90, 0.2), 0 6px 16px rgba(12, 90, 90, 0.3);
634
+ }
635
+
636
+ /* Estado vazio */
637
+ .conteudo-vazio {
638
+ text-align: center;
639
+ padding: 5rem 2rem;
640
+ background: white;
641
+ border-radius: var(--radius-xl);
642
+ border: 2px dashed var(--gray-300);
643
+ }
644
+
645
+ .conteudo-vazio-icone {
646
+ width: 80px;
647
+ height: 80px;
648
+ margin: 0 auto 1.5rem;
649
+ color: var(--gray-300);
650
+ }
651
+
652
+ .conteudo-vazio h2 {
653
+ font-size: 1.75rem;
654
+ color: var(--gray-800);
655
+ margin-bottom: 0.75rem;
656
+ font-weight: 700;
657
+ }
658
+
659
+ .conteudo-vazio p {
660
+ color: var(--gray-600);
661
+ font-size: 1.0625rem;
662
+ }
663
+
664
+ .conteudo-vazio a {
665
+ color: var(--primary);
666
+ font-weight: 700;
667
+ text-decoration: none;
668
+ transition: color 0.2s;
669
+ }
670
+
671
+ .conteudo-vazio a:hover {
672
+ color: var(--primary-dark);
673
+ text-decoration: underline;
674
+ }
692
675
 
693
- /* Skip link (se necessário) */
694
- .skip-link {
695
- position: absolute;
696
- top: -40px;
697
- left: 0;
698
- background: var(--color-primary);
699
- color: white;
700
- padding: 8px;
701
- text-decoration: none;
702
- z-index: 100;
703
- }
704
676
 
705
- .skip-link:focus {
706
- top: 0;
707
- }
677
+ /* ============================================ */
678
+ /* Capsulas index */
679
+ /* ============================================ */