wagtail-enap-designsystem 1.2.1.204__py3-none-any.whl → 1.2.1.205__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.
Files changed (17) hide show
  1. enap_designsystem/migrations/0475_alter_areaaluno_body_alter_cursoeadpage_curso_and_more.py +65052 -0
  2. enap_designsystem/migrations/0476_rotapage_capsulaordemrota.py +253 -0
  3. enap_designsystem/models.py +438 -195
  4. enap_designsystem/static/enap_designsystem/blocks/capsulas.css +3507 -52
  5. enap_designsystem/templates/admin/exportar_respostas.html +0 -9
  6. enap_designsystem/templates/enap_designsystem/blocks/formulario_snippet.html +0 -6
  7. enap_designsystem/templates/enap_designsystem/blocks/material_externo_block.html +211 -0
  8. enap_designsystem/templates/enap_designsystem/form_templates/form_report.html +0 -10
  9. enap_designsystem/templates/enap_designsystem/form_templates/submission_detail.html +0 -9
  10. enap_designsystem/templates/enap_designsystem/gerador_rotas_page.html +287 -0
  11. enap_designsystem/templates/enap_designsystem/pages/capsula_index_page.html +563 -464
  12. enap_designsystem/templates/enap_designsystem/rota_page.html +560 -0
  13. {wagtail_enap_designsystem-1.2.1.204.dist-info → wagtail_enap_designsystem-1.2.1.205.dist-info}/METADATA +1 -1
  14. {wagtail_enap_designsystem-1.2.1.204.dist-info → wagtail_enap_designsystem-1.2.1.205.dist-info}/RECORD +17 -12
  15. {wagtail_enap_designsystem-1.2.1.204.dist-info → wagtail_enap_designsystem-1.2.1.205.dist-info}/WHEEL +0 -0
  16. {wagtail_enap_designsystem-1.2.1.204.dist-info → wagtail_enap_designsystem-1.2.1.205.dist-info}/licenses/LICENSE +0 -0
  17. {wagtail_enap_designsystem-1.2.1.204.dist-info → wagtail_enap_designsystem-1.2.1.205.dist-info}/top_level.txt +0 -0
@@ -278,21 +278,6 @@
278
278
  margin-top: 3rem;
279
279
  }
280
280
 
281
- .btn {
282
- display: inline-flex;
283
- align-items: center;
284
- gap: 8px;
285
- padding: 0.8rem 1.5rem;
286
- border-radius: 6px;
287
- text-decoration: none;
288
- font-weight: 600;
289
- transition: all 0.2s ease;
290
- cursor: pointer;
291
- border: none;
292
- font-family: inherit;
293
- font-size: 1rem;
294
- }
295
-
296
281
 
297
282
  /* Responsividade */
298
283
  @media (max-width: 768px) {
@@ -657,14 +642,7 @@
657
642
  display: flex;
658
643
  align-items: center;
659
644
  }
660
-
661
- /* Estilização moderna dos checkboxes */
662
- .checkbox-item input[type="checkbox"] {
663
- position: absolute;
664
- opacity: 0;
665
- width: 0;
666
- height: 0;
667
- }
645
+
668
646
 
669
647
  .checkbox-label {
670
648
  position: relative;
@@ -690,22 +668,7 @@
690
668
  transition: all 0.15s ease;
691
669
  }
692
670
 
693
- .checkbox-item input[type="checkbox"]:checked + .checkbox-label:before {
694
- background-color: #024248;
695
- border-color: var(--primary-color);
696
- }
697
-
698
- .checkbox-item input[type="checkbox"]:checked + .checkbox-label:after {
699
- content: '';
700
- position: absolute;
701
- left: 0.35rem;
702
- top: 0.45rem;
703
- width: 0.35rem;
704
- height: 0.6rem;
705
- border: solid white;
706
- border-width: 0 2px 2px 0;
707
- transform: rotate(45deg);
708
- }
671
+
709
672
 
710
673
  .checkbox-item:hover .checkbox-label:before {
711
674
  border-color: var(--primary-color);
@@ -2397,6 +2360,16 @@
2397
2360
  position: relative;
2398
2361
  overflow: hidden;
2399
2362
  }
2363
+
2364
+ .card-rota {
2365
+ background-color: var(--cor-fundo);
2366
+ border-radius: var(--borda-raio-grande);
2367
+ box-shadow: var(--sombra-suave);
2368
+ overflow: hidden;
2369
+ transition: var(--transicao-media);
2370
+ border: 1px solid rgba(0, 0, 0, 0.05);
2371
+ margin-bottom: var(--espacamento-grande);
2372
+ }
2400
2373
 
2401
2374
  .recurso-card-botao::before {
2402
2375
  content: '';
@@ -3376,12 +3349,14 @@ nav a:hover, nav a:focus {
3376
3349
  }
3377
3350
 
3378
3351
  .capsulas-sidebar {
3379
- position: static;
3352
+ position: fixed;
3380
3353
  width: 100%;
3381
3354
  border-right: none;
3382
3355
  border-bottom: 1px solid #dee2e6;
3383
3356
  padding-bottom: 1rem;
3384
3357
  margin-bottom: 1rem;
3358
+ top: 90vh;
3359
+ background-color: white;
3385
3360
  }
3386
3361
  }
3387
3362
 
@@ -3442,10 +3417,11 @@ nav a:hover, nav a:focus {
3442
3417
  }
3443
3418
 
3444
3419
  .capsulas-index-link.active {
3445
- background-color: #e7f1ff;
3446
- border-left-color: #025257;
3420
+ background-color: #024248;
3447
3421
  font-weight: 600;
3448
- color: #025257;
3422
+ color: white;
3423
+ border-radius: 20px;
3424
+ border-left: none;
3449
3425
  }
3450
3426
 
3451
3427
  /* ============================================
@@ -3741,16 +3717,3495 @@ summary:focus,
3741
3717
  height: 45px;
3742
3718
  font-size: 1rem;
3743
3719
  }
3720
+
3721
+ .capsulas-sidebar {
3722
+ position: fixed;
3723
+ width: 100%;
3724
+ padding: 1rem 0 1rem 1rem;
3725
+ top: 90vh;
3726
+ background-color: #d1ecf1;
3727
+ z-index: 9999;
3728
+ box-shadow:1px solid #dee2e6 ;
3729
+ }
3744
3730
  }
3745
3731
 
3746
- @media print {
3747
- .capsulas-sidebar,
3748
- .capsulas-back-to-top,
3749
- .capsulas-header-bar {
3750
- display: none;
3751
- }
3732
+
3733
+
3734
+
3735
+
3736
+
3737
+ /* Sistema de Cápsulas de Acessibilidade - Rota page
3738
+ */
3739
+
3740
+ :root {
3741
+ /* Cores principais */
3742
+ --cor-primaria: #024248;
3743
+ --cor-primaria-clara: rgba(2, 66, 72, 0.8);
3744
+ --cor-primaria-muito-clara: rgba(2, 66, 72, 0.1);
3745
+ --cor-secundaria: #EBEFF5;
3746
+ --cor-fundo: #FFFFFF;
3747
+ --cor-texto: #212B36;
3748
+ --cor-texto-secundario: #637381;
3749
+ --cor-texto-invertido: #FFFFFF;
3752
3750
 
3753
- .capsulas-layout {
3754
- grid-template-columns: 1fr;
3751
+ /* Cores de apoio */
3752
+ --cor-amarelo: #FFB100;
3753
+ --cor-verde: #36B37E;
3754
+ --cor-azul: #2684FF;
3755
+ --cor-roxo: #9D7BDA;
3756
+
3757
+ /* Cores de estado */
3758
+ --cor-foco: #0066CC;
3759
+ --cor-erro: #CF2A2A;
3760
+ --cor-sucesso: #287D3C;
3761
+
3762
+ /* Espaçamentos */
3763
+ --espacamento-xs: 0.25rem;
3764
+ --espacamento-pequeno: 0.5rem;
3765
+ --espacamento-medio: 1rem;
3766
+ --espacamento-grande: 1.5rem;
3767
+ --espacamento-xl: 2rem;
3768
+ --espacamento-xxl: 3rem;
3769
+
3770
+ /* Bordas e sombras */
3771
+ --borda-raio-sm: 4px;
3772
+ --borda-raio: 8px;
3773
+ --borda-raio-grande: 12px;
3774
+ --borda-raio-xl: 20px;
3775
+ --sombra-suave: 0 2px 8px rgba(0, 0, 0, 0.05);
3776
+ --sombra-media: 0 8px 16px rgba(0, 0, 0, 0.08);
3777
+ --sombra-forte: 0 12px 24px rgba(0, 0, 0, 0.12);
3778
+
3779
+ /* Transições */
3780
+ --transicao-rapida: 0.2s ease-in-out;
3781
+ --transicao-media: 0.3s ease-in-out;
3782
+
3783
+ /* Tipografia */
3784
+ --fonte-principal: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', sans-serif;
3785
+ --fonte-tamanho-base: 16px;
3786
+ --fonte-tamanho-pequeno: 0.875rem;
3787
+ --fonte-tamanho-medio: 1rem;
3788
+ --fonte-tamanho-grande: 1.25rem;
3789
+ --fonte-tamanho-xl: 1.5rem;
3790
+ --fonte-tamanho-xxl: 2rem;
3791
+ --linha-altura: 1.6;
3792
+ }
3793
+
3794
+
3795
+ .container {
3796
+ max-width: 1280px;
3797
+ margin: 0 auto;
3798
+ padding: 0 var(--espacamento-medio);
3799
+ }
3800
+
3801
+ /* Acessibilidade - Foco */
3802
+ :focus {
3803
+ outline: 3px solid var(--cor-foco);
3804
+ outline-offset: 2px;
3805
+ }
3806
+
3807
+ /* Cards e Layout moderno */
3808
+ .card {
3809
+ background-color: var(--cor-fundo);
3810
+ border-radius: var(--borda-raio-grande);
3811
+ box-shadow: var(--sombra-suave);
3812
+ overflow: hidden;
3813
+ transition: var(--transicao-media);
3814
+ border: 1px solid rgba(0, 0, 0, 0.05);
3815
+ margin-bottom: var(--espacamento-grande);
3816
+ }
3817
+
3818
+ .card:hover {
3819
+ box-shadow: var(--sombra-media);
3820
+ transform: translateY(-2px);
3821
+ }
3822
+
3823
+ .card-header {
3824
+ padding: var(--espacamento-grande);
3825
+ border-bottom: 1px solid var(--cor-secundaria);
3826
+ }
3827
+
3828
+ .card-body-rota {
3829
+ padding: var(--espacamento-grande);
3830
+ }
3831
+
3832
+ .fa-universal-access {
3833
+ color: var(--cor-primaria);
3834
+ font-size: 60px;
3835
+ margin-bottom: 10px;
3836
+ }
3837
+
3838
+ .card-footer {
3839
+ padding: var(--espacamento-grande);
3840
+ border-top: 1px solid var(--cor-secundaria);
3841
+ }
3842
+
3843
+ /* Layout da página principal */
3844
+ .main-layout {
3845
+ display: grid;
3846
+ grid-template-columns: 68px 1fr;
3847
+ min-height: 100vh;
3848
+ }
3849
+
3850
+ .main-content-capsulas {
3851
+ padding: var(--espacamento-xl);
3852
+ background-color: #EBEFF5;
3853
+ min-height: 100vh;
3854
+ }
3855
+
3856
+ /* Cabeçalho principal */
3857
+ .main-header {
3858
+ background-color: var(--cor-fundo);
3859
+ box-shadow: var(--sombra-suave);
3860
+ padding: var(--espacamento-grande);
3861
+ display: flex;
3862
+ align-items: center;
3863
+ justify-content: space-between;
3864
+ position: sticky;
3865
+ top: 0;
3866
+ z-index: 100;
3867
+ border-radius: var(--borda-raio-grande);
3868
+ margin-bottom: var(--espacamento-grande);
3869
+ }
3870
+
3871
+ .main-header__title {
3872
+ font-size: var(--fonte-tamanho-xl);
3873
+ font-weight: 700;
3874
+ color: var(--cor-texto);
3875
+ margin: 0;
3876
+ }
3877
+
3878
+ .main-header__actions {
3879
+ display: flex;
3880
+ align-items: center;
3881
+ gap: var(--espacamento-medio);
3882
+ }
3883
+
3884
+ /* Barra lateral */
3885
+ .sidebar {
3886
+ background-color: var(--cor-fundo);
3887
+ border-right: 1px solid rgba(0, 0, 0, 0.05);
3888
+ padding: var(--espacamento-grande) 0;
3889
+ height: 100vh;
3890
+ position: sticky;
3891
+ top: 0;
3892
+ overflow-y: auto;
3893
+ }
3894
+
3895
+ .sidebar__header {
3896
+ padding: 0 var(--espacamento-grande);
3897
+ margin-bottom: var(--espacamento-grande);
3898
+ }
3899
+
3900
+ .sidebar__logo {
3901
+ height: 40px;
3902
+ }
3903
+
3904
+ .sidebar__nav {
3905
+ margin-top: var(--espacamento-xl);
3906
+ }
3907
+
3908
+ .sidebar__nav-group {
3909
+ margin-bottom: var(--espacamento-grande);
3910
+ }
3911
+
3912
+ .sidebar__nav-title {
3913
+ color: var(--cor-texto-secundario);
3914
+ font-size: var(--fonte-tamanho-pequeno);
3915
+ font-weight: 600;
3916
+ text-transform: uppercase;
3917
+ letter-spacing: 0.5px;
3918
+ padding: 0 var(--espacamento-grande);
3919
+ margin-bottom: var(--espacamento-pequeno);
3920
+ }
3921
+
3922
+ .sidebar__nav-item {
3923
+ display: flex;
3924
+ align-items: center;
3925
+ padding: var(--espacamento-pequeno) var(--espacamento-grande);
3926
+ color: var(--cor-texto);
3927
+ text-decoration: none;
3928
+ font-weight: 500;
3929
+ border-left: 3px solid transparent;
3930
+ transition: var(--transicao-rapida);
3931
+ position: relative;
3932
+ gap: var(--espacamento-pequeno);
3933
+ }
3934
+
3935
+ .sidebar__nav-item svg {
3936
+ width: 18px;
3937
+ height: 18px;
3938
+ opacity: 0.7;
3939
+ flex-shrink: 0;
3940
+ }
3941
+
3942
+ .sidebar__nav-item:hover {
3943
+ background-color: var(--cor-secundaria);
3944
+ color: var(--cor-primaria);
3945
+ }
3946
+
3947
+ .sidebar__nav-item:hover svg {
3948
+ opacity: 1;
3949
+ }
3950
+
3951
+ .sidebar__nav-item.active {
3952
+ border-left-color: var(--cor-primaria);
3953
+ background-color: var(--cor-primaria-muito-clara);
3954
+ color: var(--cor-primaria);
3955
+ font-weight: 600;
3956
+ }
3957
+
3958
+ .sidebar__nav-item.active svg {
3959
+ opacity: 1;
3960
+ color: var(--cor-primaria);
3961
+ }
3962
+
3963
+
3964
+
3965
+ .btn-icon {
3966
+ display: inline-flex;
3967
+ align-items: center;
3968
+ justify-content: center;
3969
+ width: 36px;
3970
+ height: 36px;
3971
+ border-radius: var(--borda-raio);
3972
+ border: 1px solid transparent;
3973
+ cursor: pointer;
3974
+ transition: var(--transicao-rapida);
3975
+ color: var(--cor-texto);
3976
+ background-color: transparent;
3977
+ position: relative;
3978
+ overflow: hidden;
3979
+ }
3980
+
3981
+ .btn-icon:hover {
3982
+ background-color: var(--cor-secundaria);
3983
+ color: var(--cor-primaria);
3984
+ }
3985
+
3986
+ .btn-icon:active::after {
3987
+ content: '';
3988
+ position: absolute;
3989
+ top: 50%;
3990
+ left: 50%;
3991
+ width: 5px;
3992
+ height: 5px;
3993
+ background-color: rgba(2, 66, 72, 0.2);
3994
+ opacity: 1;
3995
+ border-radius: 100%;
3996
+ transform: scale(20, 20) translate(-50%, -50%);
3997
+ transform-origin: 50% 50%;
3998
+ transition: transform 0.3s, opacity 0.3s;
3999
+ }
4000
+
4001
+ /* Badges */
4002
+ .badge {
4003
+ display: inline-flex;
4004
+ align-items: center;
4005
+ padding: 0.25rem 0.5rem;
4006
+ font-size: 0.75rem;
4007
+ font-weight: 600;
4008
+ border-radius: 20px;
4009
+ text-transform: uppercase;
4010
+ letter-spacing: 0.5px;
4011
+ line-height: 1;
4012
+ }
4013
+
4014
+ .badge-primary {
4015
+ background-color: var(--cor-primaria-muito-clara);
4016
+ color: var(--cor-primaria);
4017
+ }
4018
+
4019
+ /* Tabs modernas */
4020
+ .tabs {
4021
+ display: flex;
4022
+ border-bottom: 1px solid var(--cor-secundaria);
4023
+ margin-bottom: var(--espacamento-grande);
4024
+ overflow-x: auto;
4025
+ scrollbar-width: thin;
4026
+ scrollbar-color: var(--cor-primaria) var(--cor-secundaria);
4027
+ }
4028
+
4029
+ .tabs::-webkit-scrollbar {
4030
+ height: 4px;
4031
+ }
4032
+
4033
+ .tabs::-webkit-scrollbar-track {
4034
+ background: var(--cor-secundaria);
4035
+ }
4036
+
4037
+ .tabs::-webkit-scrollbar-thumb {
4038
+ background-color: var(--cor-primaria);
4039
+ border-radius: 4px;
4040
+ }
4041
+
4042
+ .tabs__item {
4043
+ padding: var(--espacamento-medio) var(--espacamento-grande);
4044
+ font-weight: 500;
4045
+ color: var(--cor-texto-secundario);
4046
+ position: relative;
4047
+ cursor: pointer;
4048
+ transition: var(--transicao-rapida);
4049
+ white-space: nowrap;
4050
+ }
4051
+
4052
+ .tabs__item:hover {
4053
+ color: var(--cor-primaria);
4054
+ }
4055
+
4056
+ .tabs__item.active {
4057
+ color: var(--cor-primaria);
4058
+ font-weight: 600;
4059
+ }
4060
+
4061
+ .tabs__item.active::after {
4062
+ content: '';
4063
+ position: absolute;
4064
+ bottom: -1px;
4065
+ left: 0;
4066
+ right: 0;
4067
+ height: 2px;
4068
+ background-color: var(--cor-primaria);
4069
+ }
4070
+
4071
+ /* Página de cápsulas - estilo moderno */
4072
+ .rota-page__header {
4073
+ background-color: var(--cor-fundo);
4074
+ position: relative;
4075
+ color: var(--cor-texto);
4076
+ overflow: hidden;
4077
+ padding: var(--espacamento-grande);
4078
+ border-radius: var(--borda-raio-grande);
4079
+ }
4080
+
4081
+ .rota-page__header-content {
4082
+ position: relative;
4083
+ z-index: 1;
4084
+ display: flex;
4085
+ align-items: center;
4086
+ gap: var(--espacamento-grande);
4087
+ }
4088
+
4089
+ .rota-page__icon {
4090
+ background-color: var(--cor-primaria-muito-clara);
4091
+ border-radius: var(--borda-raio);
4092
+ width: 60px;
4093
+ height: 60px;
4094
+ display: flex;
4095
+ align-items: center;
4096
+ justify-content: center;
4097
+ color: var(--cor-primaria);
4098
+ flex-shrink: 0;
4099
+ }
4100
+
4101
+ .rota-page__icon svg {
4102
+ width: 32px;
4103
+ height: 32px;
4104
+ }
4105
+
4106
+ .rota-page__title-group {
4107
+ flex: 1;
4108
+ }
4109
+
4110
+ .rota-page__title {
4111
+ margin: 0 0 var(--espacamento-pequeno) 0;
4112
+ font-size: var(--fonte-tamanho-xxl);
4113
+ font-weight: 700;
4114
+ line-height: 1.2;
4115
+ color: var(--cor-texto);
4116
+ }
4117
+
4118
+ .rota-page__description {
4119
+ font-size: var(--fonte-tamanho-medio);
4120
+ color: var(--cor-texto-secundario);
4121
+ margin: 0;
4122
+ max-width: 800px;
4123
+ }
4124
+
4125
+ /* Navegação da rota moderna */
4126
+ .rota-page__nav {
4127
+ background-color: var(--cor-fundo);
4128
+ position: sticky;
4129
+ top: 0;
4130
+ box-shadow: var(--sombra-suave);
4131
+ z-index: 100;
4132
+ border-radius: var(--borda-raio-grande);
4133
+ margin-bottom: var(--espacamento-grande);
4134
+ }
4135
+
4136
+ .rota-page__nav-container {
4137
+ display: flex;
4138
+ gap: var(--espacamento-medio);
4139
+ padding: var(--espacamento-medio) var(--espacamento-grande);
4140
+ scrollbar-width: thin;
4141
+ scrollbar-color: var(--cor-primaria) var(--cor-secundaria);
4142
+ overflow-x: auto;
4143
+ }
4144
+
4145
+ .rota-page__nav-container::-webkit-scrollbar {
4146
+ height: 4px;
4147
+ }
4148
+
4149
+ .rota-page__nav-container::-webkit-scrollbar-track {
4150
+ background: transparent;
4151
+ }
4152
+
4153
+ .rota-page__nav-container::-webkit-scrollbar-thumb {
4154
+ background-color: var(--cor-primaria);
4155
+ border-radius: 4px;
4156
+ }
4157
+
4158
+ .rota-page__nav-link {
4159
+ color: var(--cor-texto-secundario);
4160
+ text-decoration: none;
4161
+ padding: var(--espacamento-pequeno) var(--espacamento-medio);
4162
+ border-radius: var(--borda-raio);
4163
+ white-space: nowrap;
4164
+ transition: var(--transicao-rapida);
4165
+ position: relative;
4166
+ font-weight: 500;
4167
+ display: flex;
4168
+ align-items: center;
4169
+ gap: 6px;
4170
+ }
4171
+
4172
+ .rota-page__nav-link:hover {
4173
+ color: var(--cor-primaria);
4174
+ background-color: var(--cor-primaria-muito-clara);
4175
+ }
4176
+
4177
+ .rota-page__nav-link.active {
4178
+ color: var(--cor-primaria);
4179
+ font-weight: 600;
4180
+ background-color: var(--cor-primaria-muito-clara);
4181
+ }
4182
+
4183
+ .rota-page__nav-link svg {
4184
+ width: 18px;
4185
+ height: 18px;
4186
+ }
4187
+
4188
+ /* Seções da rota moderna */
4189
+ .rota-page__section {
4190
+ background-color: var(--cor-fundo);
4191
+ border-radius: var(--borda-raio-grande);
4192
+ box-shadow: var(--sombra-suave);
4193
+ margin-bottom: var(--espacamento-xl);
4194
+ overflow: hidden;
4195
+ transition: var(--transicao-media);
4196
+ border: 1px solid rgba(0, 0, 0, 0.05);
4197
+ }
4198
+
4199
+ .rota-page__section:target {
4200
+ box-shadow: var(--sombra-media);
4201
+ border-color: rgba(2, 66, 72, 0.2);
4202
+ animation: highlight-section 1s ease-out;
4203
+ }
4204
+
4205
+ @keyframes highlight-section {
4206
+ 0% {
4207
+ transform: translateY(-5px);
4208
+ box-shadow: var(--sombra-forte);
4209
+ }
4210
+ 100% {
4211
+ transform: translateY(0);
4212
+ box-shadow: var(--sombra-media);
4213
+ }
4214
+ }
4215
+
4216
+ .rota-page__section-header {
4217
+ padding: var(--espacamento-grande);
4218
+ border-bottom: 1px solid var(--cor-secundaria);
4219
+ background-color: rgba(2, 66, 72, 0.02);
4220
+ }
4221
+
4222
+ .rota-page__section-header-dark {
4223
+ background-color: #024248;
4224
+ color: white;
4225
+ padding: 2rem;
4226
+ }
4227
+
4228
+ .rota-page__section-title {
4229
+ color: var(--cor-primaria);
4230
+ font-size: var(--fonte-tamanho-grande);
4231
+ font-weight: 600;
4232
+ margin: 0;
4233
+ display: flex;
4234
+ align-items: center;
4235
+ gap: var(--espacamento-pequeno);
4236
+ }
4237
+
4238
+ .rota-page__capsulas-intro p{
4239
+ color: #024248;
4240
+ }
4241
+
4242
+ .rota-page__section-title-white {
4243
+ color: white;
4244
+ font-size: var(--fonte-tamanho-grande);
4245
+ font-weight: 600;
4246
+ margin: 0;
4247
+ display: flex;
4248
+ align-items: center;
4249
+ gap: var(--espacamento-pequeno);
4250
+ }
4251
+
4252
+ .rota-page__section-title-icon {
4253
+ width: 24px;
4254
+ height: 24px;
4255
+ color: var(--cor-primaria);
4256
+ flex-shrink: 0;
4257
+ }
4258
+
4259
+ .rota-page__section-icon-white {
4260
+ width: 24px;
4261
+ height: 24px;
4262
+ color: var(--cor-primaria);
4263
+ flex-shrink: 0;
4264
+ color: white;
4265
+ }
4266
+
4267
+ .rota-page__section-body {
4268
+ padding: var(--espacamento-grande);
4269
+ }
4270
+
4271
+ .rota-page__content {
4272
+ max-width: 800px;
4273
+ line-height: 1.7;
4274
+ }
4275
+
4276
+ .rota-page__content h3 {
4277
+ color: var(--cor-texto);
4278
+ margin-top: var(--espacamento-xl);
4279
+ margin-bottom: var(--espacamento-medio);
4280
+ font-size: var(--fonte-tamanho-grande);
4281
+ font-weight: 600;
4282
+ }
4283
+
4284
+ .rota-page__content p {
4285
+ margin-top: 0;
4286
+ margin-bottom: var(--espacamento-grande);
4287
+ color: var(--cor-texto);
4288
+ }
4289
+
4290
+ .rota-page__content ul, .rota-page__content ol {
4291
+ padding-left: var(--espacamento-xl);
4292
+ margin-bottom: var(--espacamento-grande);
4293
+ }
4294
+
4295
+ .rota-page__content li {
4296
+ margin-bottom: var(--espacamento-pequeno);
4297
+ }
4298
+
4299
+ .rota-page__content a {
4300
+ color: var(--cor-primaria);
4301
+ text-decoration: none;
4302
+ border-bottom: 1px solid transparent;
4303
+ transition: var(--transicao-rapida);
4304
+ }
4305
+
4306
+ .rota-page__content a:hover {
4307
+ border-bottom-color: var(--cor-primaria);
4308
+ }
4309
+
4310
+ /* Cards de cápsulas estilo moderno */
4311
+ .rota-capsulas__grid {
4312
+ display: grid;
4313
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
4314
+ gap: var(--espacamento-grande);
4315
+ }
4316
+
4317
+ .rota-capsula-card {
4318
+ background-color: var(--cor-fundo);
4319
+ border-radius: var(--borda-raio);
4320
+ overflow: hidden;
4321
+ box-shadow: var(--sombra-suave);
4322
+ transition: var(--transicao-media);
4323
+ display: flex;
4324
+ flex-direction: column;
4325
+ height: 100%;
4326
+ border: 1px solid var(--cor-secundaria);
4327
+ position: relative;
4328
+ }
4329
+
4330
+ .rota-capsula-card:hover {
4331
+ transform: translateY(-5px);
4332
+ box-shadow: var(--sombra-media);
4333
+ border-color: rgba(2, 66, 72, 0.2);
4334
+ }
4335
+
4336
+ .rota-capsula-card:focus-visible {
4337
+ outline: 2px solid var(--cor-foco);
4338
+ outline-offset: 2px;
4339
+ }
4340
+
4341
+ .rota-capsula-card--destaque::before {
4342
+ content: '';
4343
+ position: absolute;
4344
+ top: 0;
4345
+ left: 0;
4346
+ width: 4px;
4347
+ height: 100%;
4348
+ background-color: var(--cor-amarelo);
4349
+ z-index: 1;
4350
+ }
4351
+
4352
+ .rota-capsula-card__image {
4353
+ height: 160px;
4354
+ overflow: hidden;
4355
+ position: relative;
4356
+ }
4357
+
4358
+ .rota-capsula-card__image::after {
4359
+ content: '';
4360
+ position: absolute;
4361
+ bottom: 0;
4362
+ left: 0;
4363
+ right: 0;
4364
+ height: 40px;
4365
+ background-image: linear-gradient(to top, rgba(255, 255, 255, 0.8), transparent);
4366
+ z-index: 1;
4367
+ }
4368
+
4369
+ .rota-capsula-card__image img {
4370
+ width: 100%;
4371
+ height: 100%;
4372
+ object-fit: cover;
4373
+ transition: var(--transicao-media);
4374
+ }
4375
+
4376
+ .rota-capsula-card:hover .rota-capsula-card__image img {
4377
+ transform: scale(1.05);
4378
+ }
4379
+
4380
+ .rota-capsula-card__content {
4381
+ padding: var(--espacamento-grande);
4382
+ display: flex;
4383
+ flex-direction: column;
4384
+ flex: 1;
4385
+ position: relative;
4386
+ z-index: 2;
4387
+ justify-content: space-between;
4388
+ }
4389
+
4390
+ .rota-capsula-card__tag {
4391
+ display: inline-flex;
4392
+ align-items: center;
4393
+ background-color: var(--cor-primaria-muito-clara);
4394
+ color: var(--cor-primaria);
4395
+ font-size: 0.75rem;
4396
+ font-weight: 600;
4397
+ padding: 4px 8px;
4398
+ border-radius: 20px;
4399
+ margin-bottom: var(--espacamento-pequeno);
4400
+ text-transform: uppercase;
4401
+ letter-spacing: 0.5px;
4402
+ line-height: 1;
4403
+ max-width: fit-content;
4404
+ gap: 4px;
4405
+ }
4406
+
4407
+ .rota-capsula-card__description p{
4408
+ color: var(--cor-texto);
4409
+ }
4410
+
4411
+ .rota-capsula-card__tag svg {
4412
+ width: 12px;
4413
+ height: 12px;
4414
+ flex-shrink: 0;
4415
+ }
4416
+
4417
+ .rota-capsula-card__title {
4418
+ font-size: 22px;
4419
+ font-weight: 600;
4420
+ margin: 0 0 var(--espacamento-pequeno) 0;
4421
+ color: var(--cor-texto);
4422
+ }
4423
+
4424
+ .rota-capsula-card__context {
4425
+ color: var(--cor-texto-secundario);
4426
+ font-size: var(--fonte-tamanho-pequeno);
4427
+ margin-bottom: var(--espacamento-medio);
4428
+ flex: 1;
4429
+ }
4430
+
4431
+ .rota-capsula-card__button {
4432
+ display: inline-flex;
4433
+ align-items: center;
4434
+ justify-content: space-between;
4435
+ width: 100%;
4436
+ background-color: var(--cor-secundaria);
4437
+ color: var(--cor-texto);
4438
+ text-decoration: none;
4439
+ padding: 0.75rem 1rem;
4440
+ border-radius: var(--borda-raio);
4441
+ font-weight: 500;
4442
+ transition: var(--transicao-rapida);
4443
+ border: none;
4444
+ margin-top: auto;
4445
+ position: relative;
4446
+ overflow: hidden;
4447
+ }
4448
+
4449
+ .rota-capsula-card__button:hover {
4450
+ background-color: var(--cor-primaria);
4451
+ color: var(--cor-texto-invertido);
4452
+ }
4453
+
4454
+ .rota-capsula-card__button:focus-visible {
4455
+ outline: 2px solid var(--cor-foco);
4456
+ outline-offset: 2px;
4457
+ }
4458
+
4459
+ .rota-capsula-card__button::after {
4460
+ content: '';
4461
+ position: absolute;
4462
+ top: 50%;
4463
+ left: 50%;
4464
+ width: 5px;
4465
+ height: 5px;
4466
+ background-color: rgba(255, 255, 255, 0.5);
4467
+ opacity: 0;
4468
+ border-radius: 100%;
4469
+ transform: scale(1, 1) translate(-50%, -50%);
4470
+ transform-origin: 50% 50%;
4471
+ }
4472
+
4473
+ .rota-capsula-card__button:active::after {
4474
+ opacity: 0.3;
4475
+ transform: scale(60, 60) translate(-50%, -50%);
4476
+ transition: transform 0.6s, opacity 0.6s;
4477
+ }
4478
+
4479
+ .rota-capsula-card__button svg {
4480
+ width: 20px;
4481
+ height: 20px;
4482
+ flex-shrink: 0;
4483
+ transition: transform var(--transicao-rapida);
4484
+ }
4485
+
4486
+ .rota-capsula-card__button:hover svg {
4487
+ transform: translateX(4px);
4488
+ }
4489
+
4490
+ /* Elementos de rotas estilo QuizKwik */
4491
+ .routes-container {
4492
+ display: grid;
4493
+ grid-template-columns: 1fr 2fr;
4494
+ gap: var(--espacamento-grande);
4495
+ margin-top: var(--espacamento-xl);
4496
+ }
4497
+
4498
+ .routes-sidebar {
4499
+ background-color: var(--cor-primaria);
4500
+ color: var(--cor-texto-invertido);
4501
+ padding: var(--espacamento-grande);
4502
+ border-radius: var(--borda-raio-grande);
4503
+ display: flex;
4504
+ flex-direction: column;
4505
+ justify-content: center;
4506
+ align-items: flex-start;
4507
+ height: 100%;
4508
+ position: relative;
4509
+ overflow: hidden;
4510
+ }
4511
+
4512
+ .routes-sidebar::before {
4513
+ content: '';
4514
+ position: absolute;
4515
+ top: 0;
4516
+ left: 0;
4517
+ right: 0;
4518
+ bottom: 0;
4519
+ background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 50%);
4520
+ z-index: 0;
4521
+ }
4522
+
4523
+ .routes-sidebar__title {
4524
+ font-size: var(--fonte-tamanho-xl);
4525
+ font-weight: 700;
4526
+ margin-bottom: var(--espacamento-pequeno);
4527
+ position: relative;
4528
+ z-index: 1;
4529
+ }
4530
+
4531
+ .routes-sidebar__subtitle {
4532
+ opacity: 0.8;
4533
+ margin-bottom: var(--espacamento-xl);
4534
+ font-size: 0.875rem;
4535
+ position: relative;
4536
+ z-index: 1;
4537
+ }
4538
+
4539
+ .routes-list {
4540
+ background-color: var(--cor-fundo);
4541
+ border-radius: var(--borda-raio-grande);
4542
+ padding: var(--espacamento-grande);
4543
+ display: flex;
4544
+ flex-direction: column;
4545
+ gap: var(--espacamento-medio);
4546
+ }
4547
+
4548
+ .route-option {
4549
+ display: flex;
4550
+ align-items: center;
4551
+ padding: var(--espacamento-grande);
4552
+ border-radius: var(--borda-raio);
4553
+ transition: var(--transicao-rapida);
4554
+ text-decoration: none;
4555
+ color: var(--cor-texto);
4556
+ border: 1px solid transparent;
4557
+ }
4558
+
4559
+ .route-option:hover {
4560
+ background-color: var(--cor-secundaria);
4561
+ border-color: rgba(2, 66, 72, 0.1);
4562
+ transform: translateY(-2px);
4563
+ box-shadow: var(--sombra-suave);
4564
+ }
4565
+
4566
+ .route-option--featured {
4567
+ background-color: var(--cor-primaria-muito-clara);
4568
+ border: 1px solid rgba(2, 66, 72, 0.1);
4569
+ }
4570
+
4571
+ .route-option--featured:hover {
4572
+ background-color: rgba(2, 66, 72, 0.15);
4573
+ box-shadow: var(--sombra-media);
4574
+ }
4575
+
4576
+ .route-option__icon {
4577
+ width: 48px;
4578
+ height: 48px;
4579
+ display: flex;
4580
+ align-items: center;
4581
+ justify-content: center;
4582
+ border-radius: 50%;
4583
+ margin-right: var(--espacamento-grande);
4584
+ flex-shrink: 0;
4585
+ transition: var(--transicao-rapida);
4586
+ }
4587
+
4588
+ .route-option:hover .route-option__icon {
4589
+ transform: scale(1.05);
4590
+ }
4591
+
4592
+ .route-option__icon svg {
4593
+ width: 24px;
4594
+ height: 24px;
4595
+ }
4596
+
4597
+ .route-option__icon--green {
4598
+ background-color: rgba(54, 179, 126, 0.1);
4599
+ color: var(--cor-verde);
4600
+ }
4601
+
4602
+ .route-option__icon--yellow {
4603
+ background-color: rgba(255, 177, 0, 0.1);
4604
+ color: var(--cor-amarelo);
4605
+ }
4606
+
4607
+ .route-option__icon--blue {
4608
+ background-color: rgba(38, 132, 255, 0.1);
4609
+ color: var(--cor-azul);
4610
+ }
4611
+
4612
+ .route-option__icon--purple {
4613
+ background-color: rgba(157, 123, 218, 0.1);
4614
+ color: var(--cor-roxo);
4615
+ }
4616
+
4617
+ .route-option__content {
4618
+ flex: 1;
4619
+ }
4620
+
4621
+ .route-option__title {
4622
+ font-size: var(--fonte-tamanho-grande);
4623
+ font-weight: 600;
4624
+ margin: 0 0 var(--espacamento-xs) 0;
4625
+ }
4626
+
4627
+ .route-option__description {
4628
+ color: var(--cor-texto-secundario);
4629
+ font-size: var(--fonte-tamanho-pequeno);
4630
+ margin: 0;
4631
+ }
4632
+
4633
+ .route-option__action {
4634
+ color: var(--cor-primaria);
4635
+ display: flex;
4636
+ align-items: center;
4637
+ transition: var(--transicao-rapida);
4638
+ }
4639
+
4640
+ .route-option:hover .route-option__action svg {
4641
+ transform: translateX(4px);
4642
+ }
4643
+
4644
+ /* Stats e métricas */
4645
+ .stats-container {
4646
+ display: grid;
4647
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
4648
+ gap: var(--espacamento-grande);
4649
+ margin-bottom: var(--espacamento-xl);
4650
+ }
4651
+
4652
+ .stat-card {
4653
+ background-color: var(--cor-fundo);
4654
+ border-radius: var(--borda-raio);
4655
+ padding: var(--espacamento-grande);
4656
+ box-shadow: var(--sombra-suave);
4657
+ display: flex;
4658
+ flex-direction: column;
4659
+ align-items: flex-start;
4660
+ transition: var(--transicao-rapida);
4661
+ border: 1px solid var(--cor-secundaria);
4662
+ }
4663
+
4664
+ .stat-card:hover {
4665
+ transform: translateY(-2px);
4666
+ box-shadow: var(--sombra-media);
4667
+ border-color: rgba(2, 66, 72, 0.1);
4668
+ }
4669
+
4670
+ .stat-card__label {
4671
+ font-size: var(--fonte-tamanho-pequeno);
4672
+ color: var(--cor-texto-secundario);
4673
+ margin-bottom: var(--espacamento-pequeno);
4674
+ display: flex;
4675
+ align-items: center;
4676
+ gap: var(--espacamento-pequeno);
4677
+ }
4678
+
4679
+ .stat-card__label svg {
4680
+ width: 16px;
4681
+ height: 16px;
4682
+ opacity: 0.7;
4683
+ }
4684
+
4685
+ .stat-card__value {
4686
+ font-size: var(--fonte-tamanho-xl);
4687
+ font-weight: 700;
4688
+ color: var(--cor-texto);
4689
+ margin: 0;
4690
+ }
4691
+
4692
+ .stat-card__chart {
4693
+ width: 100%;
4694
+ margin-top: var(--espacamento-pequeno);
4695
+ }
4696
+
4697
+ .progress-bar {
4698
+ height: 8px;
4699
+ width: 100%;
4700
+ background-color: var(--cor-secundaria);
4701
+ border-radius: 4px;
4702
+ overflow: hidden;
4703
+ margin-top: var(--espacamento-pequeno);
4704
+ }
4705
+
4706
+ .progress-bar__fill {
4707
+ height: 100%;
4708
+ background-color: var(--cor-primaria);
4709
+ border-radius: 4px;
4710
+ transition: width 1s ease-out;
4711
+ }
4712
+
4713
+ /* Responsividade */
4714
+ @media (max-width: 992px) {
4715
+ .main-layout {
4716
+ grid-template-columns: 1fr;
4717
+ }
4718
+
4719
+ .sidebar {
4720
+ display: flex;
4721
+ }
4722
+
4723
+ .routes-container {
4724
+ grid-template-columns: 1fr;
4725
+ }
4726
+
4727
+ .routes-sidebar {
4728
+ margin-bottom: var(--espacamento-grande);
4729
+ text-align: center;
4730
+ align-items: center;
4731
+ }
4732
+
4733
+ .sidebar__header {
4734
+ display: none;
4735
+ }
4736
+
4737
+ .sidebar__nav {
4738
+ display: flex;
4739
+ }
4740
+
4741
+ .sidebar__nav-group{
4742
+ display: flex;
4743
+ }
4744
+ }
4745
+
4746
+ @media (max-width: 768px) {
4747
+ .main-content-capsulas {
4748
+ padding: var(--espacamento-medio);
4749
+ }
4750
+
4751
+ .rota-capsulas__grid {
4752
+ grid-template-columns: 1fr;
4753
+ }
4754
+
4755
+ .stats-container {
4756
+ grid-template-columns: repeat(2, 1fr);
4757
+ }
4758
+
4759
+ .rota-page__header-content {
4760
+ flex-direction: column;
4761
+ align-items: flex-start;
4762
+ }
4763
+
4764
+ .rota-page__icon {
4765
+ margin-bottom: var(--espacamento-medio);
4766
+ }
4767
+ }
4768
+
4769
+ @media (max-width: 576px) {
4770
+ .stats-container {
4771
+ grid-template-columns: 1fr;
4772
+ }
4773
+
4774
+ .card-body-rota {
4775
+ padding: var(--espacamento-medio);
4776
+ }
4777
+
4778
+ .rota-page__section-body,
4779
+ .rota-page__section-header {
4780
+ padding: var(--espacamento-medio);
4781
+ }
4782
+
4783
+ .rota-capsula-card__content {
4784
+ padding: var(--espacamento-medio);
4785
+ }
4786
+ .capsulas-main-content {
4787
+ max-width: 90vw;
4788
+ }
4789
+
4790
+ .capsulas-sidebar-title {
4791
+ display: none;
4792
+ }
4793
+ }
4794
+
4795
+ /* Melhorias de acessibilidade */
4796
+ .visually-hidden {
4797
+ position: absolute;
4798
+ width: 1px;
4799
+ height: 1px;
4800
+ padding: 0;
4801
+ margin: -1px;
4802
+ overflow: hidden;
4803
+ clip: rect(0, 0, 0, 0);
4804
+ white-space: nowrap;
4805
+ border: 0;
4806
+ }
4807
+
4808
+ .skip-to-content {
4809
+ position: absolute;
4810
+ top: -40px;
4811
+ left: 0;
4812
+ background: var(--cor-primaria);
4813
+ color: var(--cor-texto-invertido);
4814
+ padding: 8px;
4815
+ z-index: 9999;
4816
+ transition: top 0.3s;
4817
+ }
4818
+
4819
+ .skip-to-content:focus {
4820
+ top: 0;
4821
+ }
4822
+
4823
+ /* Modo de alto contraste */
4824
+ body.using-keyboard :focus {
4825
+ outline: 3px solid var(--cor-foco) !important;
4826
+ outline-offset: 2px !important;
4827
+ }
4828
+
4829
+ /* Media queries para acessibilidade */
4830
+ @media (prefers-reduced-motion: reduce) {
4831
+ *, *::before, *::after {
4832
+ animation-duration: 0.001s !important;
4833
+ animation-iteration-count: 1 !important;
4834
+ transition-duration: 0.001s !important;
4835
+ scroll-behavior: auto !important;
4836
+ }
4837
+
4838
+ .rota-capsula-card:hover {
4839
+ transform: none;
4840
+ }
4841
+
4842
+ .rota-capsula-card:hover .rota-capsula-card__image img {
4843
+ transform: none;
4844
+ }
4845
+
4846
+ .rota-capsula-card__button:hover svg {
4847
+ transform: none;
4848
+ }
4849
+
4850
+ .route-option:hover {
4851
+ transform: none;
4852
+ }
4853
+
4854
+ .route-option:hover .route-option__icon {
4855
+ transform: none;
4856
+ }
4857
+
4858
+
4859
+ .stat-card:hover {
4860
+ transform: none;
4861
+ }
4862
+
4863
+ .card:hover {
4864
+ transform: none;
4865
+ }
4866
+ }
4867
+
4868
+
4869
+
4870
+
4871
+
4872
+
4873
+
4874
+
4875
+
4876
+ /* Estilos específicos para o Gerador de Rotas
4877
+ * Compatível com o design hightech do Sistema de Cápsulas de Acessibilidade
4878
+ */
4879
+
4880
+ /* Importando as variáveis do design principal */
4881
+ .gerador-rotas {
4882
+ --cor-primaria: #024248;
4883
+ --cor-primaria-clara: rgba(2, 66, 72, 0.8);
4884
+ --cor-primaria-muito-clara: rgba(2, 66, 72, 0.1);
4885
+ --cor-secundaria: #EBEFF5;
4886
+ --cor-fundo: #FFFFFF;
4887
+ --cor-texto: #212B36;
4888
+ --cor-texto-secundario: #637381;
4889
+ --cor-texto-invertido: #FFFFFF;
4890
+ --cor-amarelo: #FFB100;
4891
+ --cor-verde: #36B37E;
4892
+ --cor-azul: #2684FF;
4893
+ --cor-roxo: #9D7BDA;
4894
+ --borda-raio-sm: 4px;
4895
+ --borda-raio: 8px;
4896
+ --borda-raio-grande: 12px;
4897
+ --sombra-suave: 0 2px 8px rgba(0, 0, 0, 0.05);
4898
+ --sombra-media: 0 8px 16px rgba(0, 0, 0, 0.08);
4899
+ --transicao-rapida: 0.2s ease-in-out;
4900
+ --transicao-media: 0.3s ease-in-out;
4901
+ --espacamento-pequeno: 0.5rem;
4902
+ --espacamento-medio: 1rem;
4903
+ --espacamento-grande: 1.5rem;
4904
+ --espacamento-xl: 2rem;
4905
+ --espacamento-xxl: 3rem;
4906
+
4907
+ background-color: var(--cor-secundaria);
4908
+ padding: var(--espacamento-xl) 0;
4909
+ min-height: 100vh;
4910
+ }
4911
+
4912
+ .container {
4913
+ max-width: 1200px;
4914
+ margin: 0 auto;
4915
+ padding: 0 var(--espacamento-medio);
4916
+ }
4917
+
4918
+ /* Cabeçalho do gerador de rotas */
4919
+ .gerador-rotas__header {
4920
+ background-color: var(--cor-fundo);
4921
+ border-radius: var(--borda-raio-grande);
4922
+ padding: var(--espacamento-grande);
4923
+ margin-bottom: var(--espacamento-xl);
4924
+ box-shadow: var(--sombra-suave);
4925
+ text-align: center;
4926
+ position: relative;
4927
+ overflow: hidden;
4928
+ }
4929
+
4930
+ .gerador-rotas__header::before {
4931
+ content: '';
4932
+ position: absolute;
4933
+ top: 0;
4934
+ left: 0;
4935
+ right: 0;
4936
+ height: 4px;
4937
+ background-color: var(--cor-primaria);
4938
+ }
4939
+
4940
+ .gerador-rotas__header h1 {
4941
+ color: var(--cor-primaria);
4942
+ font-size: 2rem;
4943
+ margin-top: 0;
4944
+ margin-bottom: var(--espacamento-medio);
4945
+ font-weight: 700;
4946
+ }
4947
+
4948
+ .gerador-rotas__intro {
4949
+ max-width: 800px;
4950
+ margin: 0 auto;
4951
+ color: var(--cor-texto-secundario);
4952
+ }
4953
+
4954
+ .gerador-rotas__intro p {
4955
+ margin-bottom: var(--espacamento-medio);
4956
+ line-height: 1.6;
4957
+ }
4958
+
4959
+ .gerador-rotas__intro p:last-child {
4960
+ margin-bottom: 0;
4961
+ }
4962
+
4963
+ /* Conteúdo do gerador */
4964
+ .gerador-rotas__content {
4965
+ background-color: var(--cor-fundo);
4966
+ border-radius: var(--borda-raio-grande);
4967
+ padding: var(--espacamento-grande);
4968
+ box-shadow: var(--sombra-suave);
4969
+ }
4970
+
4971
+ .gerador-rotas__question {
4972
+ text-align: center;
4973
+ margin-bottom: var(--espacamento-grande);
4974
+ }
4975
+
4976
+ .gerador-rotas__question h2 {
4977
+ color: #024248;
4978
+ font-size: 1.5rem;
4979
+ font-weight: 600;
4980
+ margin: 0;
4981
+ }
4982
+
4983
+ /* Opções de rota */
4984
+ .gerador-rotas__options {
4985
+ display: grid;
4986
+ grid-template-columns: 1fr 1fr;
4987
+ gap: var(--espacamento-grande);
4988
+ margin-bottom: var(--espacamento-grande);
4989
+ margin-top: 2rem;
4990
+ }
4991
+
4992
+ .rotas-option {
4993
+ cursor: pointer;
4994
+ transition: var(--transicao-rapida);
4995
+ }
4996
+
4997
+ .rotas-option:focus {
4998
+ outline: none;
4999
+ }
5000
+
5001
+ .rotas-option:focus-visible {
5002
+ outline: 3px solid var(--cor-foco);
5003
+ outline-offset: 2px;
5004
+ border-radius: var(--borda-raio);
5005
+ }
5006
+
5007
+ .rotas-option__label {
5008
+ display: block;
5009
+ cursor: pointer;
5010
+ }
5011
+
5012
+ .rotas-option__content {
5013
+ background-color: var(--cor-fundo);
5014
+ border: 1px solid var(--cor-secundaria);
5015
+ border-radius: var(--borda-raio);
5016
+ padding: var(--espacamento-grande);
5017
+ transition: var(--transicao-rapida);
5018
+ display: flex;
5019
+ align-items: flex-start;
5020
+ gap: var(--espacamento-medio);
5021
+ height: 100%;
5022
+ position: relative;
5023
+ overflow: hidden;
5024
+ }
5025
+
5026
+ .rotas-option:hover .rotas-option__content {
5027
+ border-color: var(--cor-primaria-clara);
5028
+ box-shadow: var(--sombra-suave);
5029
+ transform: translateY(-4px);
5030
+ }
5031
+
5032
+ .rotas-option__radio {
5033
+ position: absolute;
5034
+ opacity: 0;
5035
+ width: 0;
5036
+ height: 0;
5037
+ }
5038
+
5039
+ .rotas-option__radio:checked + .rotas-option__content {
5040
+ border-color: var(--cor-primaria);
5041
+ background-color: var(--cor-primaria-muito-clara);
5042
+ box-shadow: var(--sombra-media);
5043
+ }
5044
+
5045
+ .rotas-option__radio:checked + .rotas-option__content::before {
5046
+ content: '';
5047
+ position: absolute;
5048
+ top: 0;
5049
+ left: 0;
5050
+ width: 4px;
5051
+ height: 100%;
5052
+ background-color: var(--cor-primaria);
5053
+ border-radius: var(--borda-raio) 0 0 var(--borda-raio);
5054
+ }
5055
+
5056
+ .rotas-option__icon {
5057
+ width: 60px;
5058
+ height: 60px;
5059
+ display: flex;
5060
+ align-items: center;
5061
+ justify-content: center;
5062
+ background-color: var(--cor-primaria-muito-clara);
5063
+ color: var(--cor-primaria);
5064
+ border-radius: var(--borda-raio);
5065
+ flex-shrink: 0;
5066
+ transition: var(--transicao-rapida);
5067
+ }
5068
+
5069
+ /* Ícones específicos por opção */
5070
+ .rotas-option:nth-child(1) .rotas-option__icon {
5071
+ background-color: rgba(54, 179, 126, 0.1);
5072
+ color: var(--cor-verde);
5073
+ }
5074
+
5075
+ .rotas-option:nth-child(2) .rotas-option__icon {
5076
+ background-color: rgba(255, 177, 0, 0.1);
5077
+ color: var(--cor-amarelo);
5078
+ }
5079
+
5080
+ .rotas-option:nth-child(3) .rotas-option__icon {
5081
+ background-color: rgba(38, 132, 255, 0.1);
5082
+ color: var(--cor-azul);
5083
+ }
5084
+
5085
+ .rotas-option:nth-child(4) .rotas-option__icon {
5086
+ background-color: rgba(157, 123, 218, 0.1);
5087
+ color: var(--cor-roxo);
5088
+ }
5089
+
5090
+ .rotas-option:hover .rotas-option__icon {
5091
+ transform: scale(1.05);
5092
+ }
5093
+
5094
+ .rotas-option__radio:checked ~ .rotas-option__icon {
5095
+ transform: scale(1.1);
5096
+ }
5097
+
5098
+ .rotas-option__text {
5099
+ flex: 1;
5100
+ }
5101
+
5102
+ .rotas-option__text p {
5103
+ margin: 0;
5104
+ color: var(--cor-texto);
5105
+ font-weight: 500;
5106
+ line-height: 1.5;
5107
+ }
5108
+
5109
+ /* Botão de ação */
5110
+ .gerador-rotas__action {
5111
+ text-align: center;
5112
+ margin-top: var(--espacamento-xl);
5113
+ display: flex;
5114
+ justify-content: center;
5115
+ }
5116
+
5117
+ /* Indicador de seleção customizado */
5118
+ .rotas-option__radio + .rotas-option__content::after {
5119
+ content: '';
5120
+ position: absolute;
5121
+ top: 1rem;
5122
+ right: 1rem;
5123
+ width: 20px;
5124
+ height: 20px;
5125
+ border: 2px solid var(--cor-secundaria);
5126
+ border-radius: 50%;
5127
+ transition: var(--transicao-rapida);
5128
+ }
5129
+
5130
+ .rotas-option__radio:checked + .rotas-option__content::after {
5131
+ border-color: var(--cor-primaria);
5132
+ background-color: var(--cor-primaria);
5133
+ box-shadow: 0 0 0 2px var(--cor-primaria-muito-clara);
5134
+ }
5135
+
5136
+ /* Efeito de check mark */
5137
+ .rotas-option__radio:checked + .rotas-option__content::after {
5138
+ content: '';
5139
+ position: absolute;
5140
+ top: 1rem;
5141
+ right: 1rem;
5142
+ width: 22px;
5143
+ height: 22px;
5144
+ background-color: var(--cor-primaria);
5145
+ border-radius: 50%;
5146
+ display: flex;
5147
+ align-items: center;
5148
+ justify-content: center;
5149
+ }
5150
+
5151
+ .rotas-option__radio:checked + .rotas-option__content::after {
5152
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
5153
+ background-position: center;
5154
+ background-repeat: no-repeat;
5155
+ background-size: 12px;
5156
+ }
5157
+
5158
+ /* Responsividade */
5159
+ @media (max-width: 768px) {
5160
+ .gerador-rotas__options {
5161
+ grid-template-columns: 1fr;
5162
+ }
5163
+
5164
+ .gerador-rotas__header {
5165
+ padding: var(--espacamento-medio);
5166
+ }
5167
+
5168
+ .gerador-rotas__content {
5169
+ padding: 30px;
5170
+ }
5171
+
5172
+ .gerador-rotas__header h1 {
5173
+ font-size: 1.5rem;
5174
+ }
5175
+
5176
+ .gerador-rotas__question h2 {
5177
+ font-size: 22px;
5178
+ }
5179
+ }
5180
+
5181
+ /* Acessibilidade - preferência por movimento reduzido */
5182
+ @media (prefers-reduced-motion: reduce) {
5183
+ * {
5184
+ transition-duration: 0.001s !important;
5185
+ animation-duration: 0.001s !important;
5186
+ }
5187
+
5188
+ .rotas-option:hover .rotas-option__content {
5189
+ transform: none;
5190
+ }
5191
+
5192
+ .rotas-option:hover .rotas-option__icon {
5193
+ transform: none;
5194
+ }
5195
+
5196
+ .btn-primary:hover:not(:disabled) {
5197
+ transform: none;
5198
+ }
5199
+ }
5200
+
5201
+ /* Acessibilidade - foco via teclado */
5202
+ body.using-keyboard .rotas-option:focus-visible {
5203
+ outline: 3px solid var(--cor-foco);
5204
+ outline-offset: 2px;
5205
+ }
5206
+
5207
+
5208
+
5209
+ /* Estilos de navegação responsiva acessível para o Sistema de Cápsulas de Acessibilidade
5210
+ * Inclui barra de navegação fixa inferior para dispositivos móveis
5211
+ */
5212
+
5213
+ /* Menu móvel fixado na parte inferior */
5214
+ .mobile-nav {
5215
+ display: none; /* Oculto por padrão (apenas visível em mobile) */
5216
+ position: fixed;
5217
+ bottom: 0;
5218
+ left: 0;
5219
+ width: 100%;
5220
+ background-color: var(--cor-fundo);
5221
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
5222
+ z-index: 1000;
5223
+ padding: 8px 0;
5224
+ border-top: 1px solid var(--cor-secundaria);
5225
+ }
5226
+
5227
+ .mobile-nav__list {
5228
+ display: flex;
5229
+ justify-content: space-around;
5230
+ list-style: none;
5231
+ margin: 0;
5232
+ padding: 0;
5233
+ }
5234
+
5235
+ .mobile-nav__item {
5236
+ flex: 1;
5237
+ text-align: center;
5238
+ }
5239
+
5240
+ .mobile-nav__link {
5241
+ display: flex;
5242
+ flex-direction: column;
5243
+ align-items: center;
5244
+ color: var(--cor-texto-secundario);
5245
+ text-decoration: none;
5246
+ padding: 8px;
5247
+ border-radius: var(--borda-raio);
5248
+ transition: var(--transicao-rapida);
5249
+ font-size: 0.75rem;
5250
+ }
5251
+
5252
+ .mobile-nav__link:hover,
5253
+ .mobile-nav__link:focus {
5254
+ color: var(--cor-primaria);
5255
+ background-color: var(--cor-primaria-muito-clara);
5256
+ }
5257
+
5258
+ .mobile-nav__link.active {
5259
+ color: var(--cor-primaria);
5260
+ font-weight: 600;
5261
+ }
5262
+
5263
+ .mobile-nav__icon {
5264
+ width: 24px;
5265
+ height: 24px;
5266
+ margin-bottom: 4px;
5267
+ }
5268
+
5269
+ .mobile-nav__text {
5270
+ display: block;
5271
+ font-size: 0.7rem;
5272
+ margin-top: 2px;
5273
+ white-space: nowrap;
5274
+ overflow: hidden;
5275
+ text-overflow: ellipsis;
5276
+ max-width: 100%;
5277
+ }
5278
+
5279
+ /* Botão de expansão para submenu móvel */
5280
+ .mobile-nav__more-btn {
5281
+ background: none;
5282
+ border: none;
5283
+ color: var(--cor-texto-secundario);
5284
+ padding: 8px;
5285
+ display: flex;
5286
+ flex-direction: column;
5287
+ align-items: center;
5288
+ width: 100%;
5289
+ font-size: 0.75rem;
5290
+ cursor: pointer;
5291
+ transition: var(--transicao-rapida);
5292
+ }
5293
+
5294
+ .mobile-nav__more-btn:focus {
5295
+ outline: none;
5296
+ color: var(--cor-primaria);
5297
+ background-color: var(--cor-primaria-muito-clara);
5298
+ }
5299
+
5300
+ /* Drawer para menu expandido */
5301
+ .mobile-drawer {
5302
+ position: fixed;
5303
+ bottom: 60px; /* Altura da barra de navegação móvel */
5304
+ left: 0;
5305
+ width: 100%;
5306
+ background-color: var(--cor-fundo);
5307
+ box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.1);
5308
+ transform: translateY(100%);
5309
+ transition: transform 0.3s ease-in-out;
5310
+ z-index: 999;
5311
+ border-top-left-radius: var(--borda-raio-grande);
5312
+ border-top-right-radius: var(--borda-raio-grande);
5313
+ overflow: hidden;
5314
+ max-height: 70vh;
5315
+ overflow-y: auto;
5316
+ }
5317
+
5318
+ .mobile-drawer.open {
5319
+ transform: translateY(0);
5320
+ }
5321
+
5322
+ .mobile-drawer__header {
5323
+ display: flex;
5324
+ align-items: center;
5325
+ justify-content: space-between;
5326
+ padding: 16px;
5327
+ border-bottom: 1px solid var(--cor-secundaria);
5328
+ }
5329
+
5330
+ .mobile-drawer__title {
5331
+ font-size: 1.1rem;
5332
+ margin: 0;
5333
+ color: var(--cor-texto);
5334
+ }
5335
+
5336
+ .mobile-drawer__close {
5337
+ background: none;
5338
+ border: none;
5339
+ color: var(--cor-texto-secundario);
5340
+ width: 36px;
5341
+ height: 36px;
5342
+ border-radius: 50%;
5343
+ display: flex;
5344
+ align-items: center;
5345
+ justify-content: center;
5346
+ cursor: pointer;
5347
+ transition: var(--transicao-rapida);
5348
+ }
5349
+
5350
+ .mobile-drawer__close:hover,
5351
+ .mobile-drawer__close:focus {
5352
+ background-color: var(--cor-secundaria);
5353
+ color: var(--cor-texto);
5354
+ }
5355
+
5356
+ .mobile-drawer__content {
5357
+ padding: 16px;
5358
+ }
5359
+
5360
+ .mobile-drawer__section {
5361
+ margin-bottom: 24px;
5362
+ }
5363
+
5364
+ .mobile-drawer__section-title {
5365
+ font-size: 0.8rem;
5366
+ color: var(--cor-texto-secundario);
5367
+ text-transform: uppercase;
5368
+ letter-spacing: 0.5px;
5369
+ margin-bottom: 8px;
5370
+ }
5371
+
5372
+ .mobile-drawer__nav-list {
5373
+ list-style: none;
5374
+ margin: 0;
5375
+ padding: 0;
5376
+ }
5377
+
5378
+ .mobile-drawer__nav-item {
5379
+ margin-bottom: 2px;
5380
+ }
5381
+
5382
+ .mobile-drawer__nav-link {
5383
+ display: flex;
5384
+ align-items: center;
5385
+ padding: 12px 16px;
5386
+ color: var(--cor-texto);
5387
+ text-decoration: none;
5388
+ border-radius: var(--borda-raio);
5389
+ transition: var(--transicao-rapida);
5390
+ }
5391
+
5392
+ .mobile-drawer__nav-link:hover,
5393
+ .mobile-drawer__nav-link:focus {
5394
+ background-color: var(--cor-secundaria);
5395
+ }
5396
+
5397
+ .mobile-drawer__nav-link.active {
5398
+ background-color: var(--cor-primaria-muito-clara);
5399
+ color: var(--cor-primaria);
5400
+ font-weight: 500;
5401
+ }
5402
+
5403
+ .mobile-drawer__nav-icon {
5404
+ margin-right: 12px;
5405
+ width: 20px;
5406
+ height: 20px;
5407
+ flex-shrink: 0;
5408
+ }
5409
+
5410
+ /* Ajustes para o layout principal em dispositivos móveis */
5411
+ /* Correção para sidebar móvel fixa */
5412
+ @media (max-width: 991px) {
5413
+ /* Esconder a sidebar padrão e configurar corretamente para dispositivos móveis */
5414
+ .sidebar {
5415
+ display: flex;
5416
+ flex-direction: row;
5417
+ justify-content: space-around;
5418
+ align-items: center;
5419
+ position: fixed;
5420
+ top: 90vh;
5421
+ left: 0;
5422
+ right: 0;
5423
+ width: 100%;
5424
+ height: auto;
5425
+ max-height: 70px;
5426
+ padding: 10px 15px;
5427
+ background-color: #fff;
5428
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
5429
+ z-index: 1000;
5430
+ overflow-x: auto; /* Permite rolagem horizontal se necessário */
5431
+ }
5432
+
5433
+ /* Ajustar os itens de navegação para exibição móvel */
5434
+ .sidebar__nav {
5435
+ display: flex;
5436
+ width: 100%;
5437
+ overflow-x: auto;
5438
+ }
5439
+
5440
+ .sidebar__nav-group {
5441
+ display: flex;
5442
+ flex-direction: row;
5443
+ margin-right: 10px;
5444
+ align-items: center;
5445
+ }
5446
+
5447
+ /* Esconder os títulos das seções no mobile */
5448
+ .sidebar__nav-title {
5449
+ display: none;
5450
+ }
5451
+
5452
+ /* Ajustar os itens do menu */
5453
+ .sidebar__nav-item {
5454
+ display: flex;
5455
+ flex-direction: column;
5456
+ align-items: center;
5457
+ justify-content: center;
5458
+ padding: 8px 12px;
5459
+ font-size: 12px;
5460
+ text-align: center;
5461
+ white-space: nowrap;
5462
+ border-radius: 8px;
5463
+ }
5464
+
5465
+ .sidebar__nav-item svg {
5466
+ width: 20px;
5467
+ height: 20px;
5468
+ margin-bottom: 4px;
5469
+ }
5470
+
5471
+ /* Ajustar o layout principal para remover a coluna da sidebar */
5472
+ .main-layout {
5473
+ grid-template-columns: 1fr;
5474
+ }
5475
+
5476
+ /* Ajustar todos os conteúdos principais para evitar que sejam escondidos pelo menu fixo */
5477
+ .main-content, .main-content-capsulas {
5478
+ padding-bottom: calc(var(--espacamento-xl) + 80px);
5479
+ max-width: 100vw;
5480
+ }
5481
+
5482
+ /* Esconder o logo na versão mobile ou reduzir seu tamanho */
5483
+ .sidebar__header {
5484
+ display: none;
5485
+ }
5486
+
5487
+ /* Garantir que o menu móvel tenha boa aparência */
5488
+ .mobile-nav {
5489
+ display: none; /* Estamos usando a sidebar adaptada, não um componente separado */
5490
+ }
5491
+ }
5492
+
5493
+ /* Fix para iOS e Safari que às vezes tem problemas com elementos fixos */
5494
+ @supports (-webkit-touch-callout: none) {
5495
+ @media (max-width: 991px) {
5496
+ .sidebar {
5497
+ position: -webkit-sticky;
5498
+ position: sticky;
5499
+ }
5500
+ }
5501
+ }
5502
+
5503
+ /* Melhorias de acessibilidade */
5504
+ /* Focus visível em dispositivos táteis */
5505
+ .mobile-nav__link:focus-visible,
5506
+ .mobile-drawer__nav-link:focus-visible,
5507
+ .mobile-nav__more-btn:focus-visible,
5508
+ .mobile-drawer__close:focus-visible {
5509
+ outline: 3px solid var(--cor-foco);
5510
+ outline-offset: -2px;
5511
+ }
5512
+
5513
+ /* Ajustes para dispositivos com telas pequenas */
5514
+ @media (max-width: 320px) {
5515
+ .mobile-nav__text {
5516
+ font-size: 0.6rem;
5517
+ }
5518
+
5519
+ .mobile-nav__icon {
5520
+ width: 20px;
5521
+ height: 20px;
5522
+ }
5523
+ }
5524
+
5525
+ /* Melhorias para modo escuro */
5526
+ @media (prefers-color-scheme: dark) {
5527
+ .mobile-nav {
5528
+ background-color: #121212;
5529
+ border-top-color: #2A2A2A;
5530
+ }
5531
+
5532
+ .mobile-drawer {
5533
+ background-color: #121212;
5534
+ }
5535
+ }
5536
+
5537
+ /* Redução de movimento para usuários com vestibular motion triggers */
5538
+ @media (prefers-reduced-motion: reduce) {
5539
+ .mobile-drawer {
5540
+ transition: none;
5541
+ }
5542
+ }
5543
+
5544
+ /* Overlay de fundo quando o drawer está aberto */
5545
+ .drawer-overlay {
5546
+ position: fixed;
5547
+ top: 0;
5548
+ left: 0;
5549
+ right: 0;
5550
+ bottom: 0;
5551
+ background-color: rgba(0, 0, 0, 0.5);
5552
+ opacity: 0;
5553
+ visibility: hidden;
5554
+ transition: opacity 0.3s ease;
5555
+ z-index: 998;
5556
+ }
5557
+
5558
+ .drawer-overlay.active {
5559
+ opacity: 1;
5560
+ visibility: visible;
5561
+ }
5562
+
5563
+
5564
+
5565
+
5566
+ .rotas-option.ativo {
5567
+ border-color: #2196F3;
5568
+ background-color: rgba(33, 150, 243, 0.08);
5569
+ }
5570
+
5571
+ .rotas-option.ativo .rotas-option__icon {
5572
+ background-color: #2196F3;
5573
+ color: white;
5574
+ }
5575
+
5576
+ #btn-gerar-rota.ativo {
5577
+ background-color: #2196F3;
5578
+ cursor: pointer;
5579
+ color: white;
5580
+ }
5581
+
5582
+
5583
+
5584
+
5585
+
5586
+
5587
+
5588
+
5589
+
5590
+
5591
+
5592
+
5593
+
5594
+ /* Estilo personalizado para a página de Cápsulas de Acessibilidade */
5595
+ /* Usando prefixo 'acess-' para evitar conflitos com outras classes CSS */
5596
+
5597
+ :root {
5598
+ --acess-primary: #024248; /* Azul principal */
5599
+ --acess-secondary: #1351B4; /* Azul secundário */
5600
+ --acess-accent: #2670E8; /* Azul destaque */
5601
+ --acess-light: #F8F8F8;
5602
+ --acess-border: #E0E0E0;
5603
+ --acess-text: #333333;
5604
+ --acess-visual: #AB3FDD; /* Cor para deficiência visual */
5605
+ --acess-hearing: #F7B500; /* Cor para deficiência auditiva */
5606
+ --acess-motor: #E52E4D; /* Cor para deficiência motora */
5607
+ --acess-cognitive: #33B679; /* Cor para deficiência cognitiva */
5608
+ }
5609
+
5610
+ /* Container principal */
5611
+ .acess-hero {
5612
+ background: linear-gradient(rgba(12, 50, 111, 0.03), rgba(12, 50, 111, 0.05));
5613
+ padding: 80px 20px 30px 20px;
5614
+ text-align: center;
5615
+ margin-bottom: 0;
5616
+ position: relative;
5617
+ }
5618
+
5619
+ /* Ícone de acessibilidade */
5620
+ .acess-icon {
5621
+ width: 120px;
5622
+ height: 120px;
5623
+ margin: 0 auto 20px;
5624
+ display: block;
5625
+ }
5626
+
5627
+ /* Estilos de texto */
5628
+ .acess-subtitle {
5629
+ color: var(--acess-primary);
5630
+ font-size: 16px;
5631
+ font-weight: 600;
5632
+ letter-spacing: 1px;
5633
+ text-transform: uppercase;
5634
+ margin-bottom: 10px;
5635
+ }
5636
+
5637
+ .acess-title-large {
5638
+ font-size: 42px;
5639
+ font-weight: 800;
5640
+ margin: 10px 0 20px;
5641
+ color: #024248;
5642
+ line-height: 1.1;
5643
+ max-width: 900px;
5644
+ margin-left: auto;
5645
+ margin-right: auto;
5646
+ }
5647
+
5648
+ .acess-description {
5649
+ font-size: 18px;
5650
+ color: #666;
5651
+ max-width: 600px;
5652
+ margin: 0 auto 30px;
5653
+ line-height: 1.6;
5654
+ }
5655
+
5656
+ /* Container dos filtros */
5657
+ .acess-filter-container {
5658
+ background-color: white;
5659
+ border-radius: 16px;
5660
+ box-shadow: 0 6px 24px rgba(0, 0, 0, 0.381);
5661
+ max-width: 1000px;
5662
+ margin: 0 auto;
5663
+ padding: 20px 30px;
5664
+ position: relative;
5665
+ top: -30px;
5666
+ z-index: 10;
5667
+ }
5668
+
5669
+ /* Dropdown filters */
5670
+ .acess-filter-group {
5671
+ display: flex;
5672
+ flex-wrap: wrap;
5673
+ gap: 12px;
5674
+ justify-content: center;
5675
+ }
5676
+
5677
+ .acess-dropdown {
5678
+ position: relative;
5679
+ min-width: 220px;
5680
+ }
5681
+
5682
+ .acess-dropdown-btn {
5683
+ display: flex;
5684
+ align-items: center;
5685
+ justify-content: space-between;
5686
+ width: 100%;
5687
+ padding: 12px 16px;
5688
+ border-radius: 8px;
5689
+ border: 1px solid #E2E8F0;
5690
+ background-color: white;
5691
+ color: #334155;
5692
+ font-size: 15px;
5693
+ font-weight: 500;
5694
+ cursor: pointer;
5695
+ transition: all 0.2s ease;
5696
+ box-shadow: 0 2px 4px rgba(0,0,0,0.02);
5697
+ }
5698
+
5699
+ .acess-dropdown-btn:hover {
5700
+ border-color: #CBD5E1;
5701
+ background-color: #F8FAFC;
5702
+ }
5703
+
5704
+ .acess-dropdown-btn i {
5705
+ margin-left: 10px;
5706
+ }
5707
+
5708
+ .acess-counter {
5709
+ display: inline-flex;
5710
+ align-items: center;
5711
+ justify-content: center;
5712
+ width: 20px;
5713
+ height: 20px;
5714
+ margin-left: 8px;
5715
+ background-color: var(--acess-primary);
5716
+ color: white;
5717
+ border-radius: 50%;
5718
+ font-size: 12px;
5719
+ font-weight: 600;
5720
+ }
5721
+
5722
+ .acess-dropdown-content {
5723
+ position: absolute;
5724
+ top: calc(100% + 5px);
5725
+ left: 0;
5726
+ width: 260px;
5727
+ background-color: white;
5728
+ border-radius: 8px;
5729
+ box-shadow: 0 10px 25px rgba(0,0,0,0.1);
5730
+ z-index: 100;
5731
+ border: 1px solid #E2E8F0;
5732
+ display: none; /* Inicialmente oculto */
5733
+ }
5734
+
5735
+ .acess-dropdown-inner {
5736
+ padding: 16px;
5737
+ max-height: 300px;
5738
+ overflow-y: auto;
5739
+ }
5740
+
5741
+ /* Estilo de checkbox moderno */
5742
+ .acess-options {
5743
+ display: grid;
5744
+ grid-template-columns: 1fr;
5745
+ gap: 8px;
5746
+ }
5747
+
5748
+ .acess-check-item {
5749
+ display: flex;
5750
+ align-items: center;
5751
+ margin-bottom: 4px;
5752
+ }
5753
+
5754
+ .acess-checkbox {
5755
+ position: absolute;
5756
+ opacity: 0;
5757
+ cursor: pointer;
5758
+ height: 0;
5759
+ width: 0;
5760
+ }
5761
+
5762
+ .acess-check-label {
5763
+ position: relative;
5764
+ padding-left: 30px;
5765
+ cursor: pointer;
5766
+ font-size: 14px;
5767
+ color: #475569;
5768
+ display: flex;
5769
+ align-items: center;
5770
+ min-height: 24px;
5771
+ }
5772
+
5773
+ .acess-check-label:before {
5774
+ content: '';
5775
+ position: absolute;
5776
+ left: 0;
5777
+ top: 50%;
5778
+ transform: translateY(-50%);
5779
+ width: 18px;
5780
+ height: 18px;
5781
+ border: 2px solid #CBD5E1;
5782
+ border-radius: 4px;
5783
+ background-color: #fff;
5784
+ transition: all 0.2s ease;
5785
+ }
5786
+
5787
+ .acess-checkbox:checked + .acess-check-label:before {
5788
+ background-color: var(--acess-primary);
5789
+ border-color: var(--acess-primary);
5790
+ }
5791
+
5792
+ .acess-check-label:after {
5793
+ content: '';
5794
+ position: absolute;
5795
+ left: 6px;
5796
+ top: 50%;
5797
+ transform: translateY(-70%) rotate(45deg);
5798
+ width: 6px;
5799
+ height: 10px;
5800
+ border: solid white;
5801
+ border-width: 0 2px 2px 0;
5802
+ opacity: 0;
5803
+ transition: all 0.2s ease;
5804
+ }
5805
+
5806
+ .acess-checkbox:checked + .acess-check-label:after {
5807
+ opacity: 1;
5808
+ }
5809
+
5810
+ .acess-checkbox:focus + .acess-check-label:before {
5811
+ box-shadow: 0 0 0 3px rgba(12, 50, 111, 0.1);
5812
+ }
5813
+
5814
+ /* Container de conteúdo principal */
5815
+ .acess-content {
5816
+ max-width: 1200px;
5817
+ margin: -20px auto 60px;
5818
+ padding: 20px;
5819
+ }
5820
+
5821
+ /* Título da seção */
5822
+ .acess-section-title {
5823
+ font-size: 36px;
5824
+ font-weight: 800;
5825
+ text-align: center;
5826
+ margin: 60px 0 20px;
5827
+ text-transform: uppercase;
5828
+ }
5829
+
5830
+ .acess-section-subtitle {
5831
+ font-size: 18px;
5832
+ text-align: center;
5833
+ color: #666;
5834
+ margin: 0 auto 40px;
5835
+ max-width: 700px;
5836
+ }
5837
+
5838
+ /* Grid de cápsulas */
5839
+ .acess-grid {
5840
+ display: grid;
5841
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
5842
+ gap: 25px;
5843
+ margin-top: 40px;
5844
+ }
5845
+
5846
+ /* Card de cápsula */
5847
+ .acess-capsula-card {
5848
+ background-color: white;
5849
+ border-radius: 12px;
5850
+ padding: 20px;
5851
+ overflow: hidden;
5852
+ transition: all 0.2s ease;
5853
+ box-shadow: 0 4px 16px rgba(0,0,0,0.04);
5854
+ border: 1px solid #EEE;
5855
+ height: 100%;
5856
+ display: flex;
5857
+ flex-direction: column;
5858
+ }
5859
+ /* Adicione isso ao seu CSS */
5860
+ .rota-section {
5861
+ display: block !important; /* Força todas as seções a ficarem visíveis */
5862
+ margin-bottom: 2rem; /* Espaçamento entre seções */
5863
+ }
5864
+ .acess-capsula-link {
5865
+ text-decoration: none;
5866
+ color: inherit;
5867
+ display: block;
5868
+ height: 100%;
5869
+ }
5870
+
5871
+ .acess-capsula-card:hover {
5872
+ box-shadow: 0 10px 24px rgba(0,0,0,0.1);
5873
+ border-color: #DDD;
5874
+ }
5875
+
5876
+ .acess-capsula-icon {
5877
+ width: 48px;
5878
+ height: 48px;
5879
+ margin-bottom: 16px;
5880
+ color: var(--acess-primary);
5881
+ }
5882
+
5883
+ .acess-capsula-titulo {
5884
+ font-size: 20px;
5885
+ font-weight: 700;
5886
+ margin: 0 0 8px;
5887
+ color: var(--acess-primary);
5888
+ }
5889
+
5890
+ .acess-capsula-content {
5891
+ flex: 1;
5892
+ display: flex;
5893
+ flex-direction: column;
5894
+ }
5895
+
5896
+ .acess-capsula-descricao {
5897
+ color: #666;
5898
+ margin-bottom: 16px;
5899
+ line-height: 1.5;
5900
+ font-size: 15px;
5901
+ }
5902
+
5903
+ /* Tags de deficiência */
5904
+ .acess-capsula-tags {
5905
+ display: flex;
5906
+ flex-wrap: wrap;
5907
+ gap: 8px;
5908
+ margin-bottom: 16px;
5909
+ }
5910
+
5911
+ .acess-tag {
5912
+ display: inline-flex;
5913
+ align-items: center;
5914
+ padding: 6px 12px;
5915
+ border-radius: 100px;
5916
+ font-size: 13px;
5917
+ font-weight: 600;
5918
+ gap: 6px;
5919
+ }
5920
+
5921
+ .acess-tag.visual {
5922
+ background-color: rgba(171, 63, 221, 0.1);
5923
+ color: var(--acess-visual);
5924
+ }
5925
+
5926
+ .acess-tag.auditiva {
5927
+ background-color: rgba(247, 181, 0, 0.1);
5928
+ color: var(--acess-hearing);
5929
+ }
5930
+
5931
+ .acess-tag.motora {
5932
+ background-color: rgba(229, 46, 77, 0.1);
5933
+ color: var(--acess-motor);
5934
+ }
5935
+
5936
+ .acess-tag.cognitiva {
5937
+ background-color: rgba(51, 182, 121, 0.1);
5938
+ color: var(--acess-cognitive);
5939
+ }
5940
+
5941
+ .acess-tag-dot {
5942
+ width: 8px;
5943
+ height: 8px;
5944
+ border-radius: 50%;
5945
+ }
5946
+
5947
+ .acess-tag.visual .acess-tag-dot {
5948
+ background-color: var(--acess-visual);
5949
+ }
5950
+
5951
+ .acess-tag.auditiva .acess-tag-dot {
5952
+ background-color: var(--acess-hearing);
5953
+ }
5954
+
5955
+ .acess-tag.motora .acess-tag-dot {
5956
+ background-color: var(--acess-motor);
5957
+ }
5958
+
5959
+ .acess-tag.cognitiva .acess-tag-dot {
5960
+ background-color: var(--acess-cognitive);
5961
+ }
5962
+
5963
+ /* Tipos de recursos */
5964
+ .acess-capsula-recursos {
5965
+ display: flex;
5966
+ flex-wrap: wrap;
5967
+ gap: 8px;
5968
+ margin-bottom: 16px;
5969
+ margin-top: auto;
5970
+ }
5971
+
5972
+ .acess-recurso-tag {
5973
+ display: inline-flex;
5974
+ align-items: center;
5975
+ padding: 6px 12px;
5976
+ border-radius: 4px;
5977
+ font-size: 12px;
5978
+ background-color: #F1F5F9;
5979
+ color: #475569;
5980
+ gap: 6px;
5981
+ }
5982
+
5983
+ .acess-capsula-btn {
5984
+ display: inline-block;
5985
+ padding: 10px 20px;
5986
+ background-color: var(--acess-primary);
5987
+ color: white;
5988
+ border-radius: 8px;
5989
+ text-decoration: none;
5990
+ font-weight: 600;
5991
+ font-size: 14px;
5992
+ transition: all 0.2s ease;
5993
+ text-align: center;
5994
+ border: none;
5995
+ cursor: pointer;
5996
+ margin-top: 10px;
5997
+ }
5998
+
5999
+ .acess-capsula-btn:hover {
6000
+ background-color: #0A2A5E;
6001
+ }
6002
+
6003
+ /* Filtros ativos wrapper */
6004
+ .acess-active-filters-wrap {
6005
+ display: flex;
6006
+ align-items: center;
6007
+ flex-wrap: wrap;
6008
+ gap: 10px;
6009
+ margin: 30px 0;
6010
+ justify-content: flex-start;
6011
+ }
6012
+
6013
+ /* Filtros ativos */
6014
+ .acess-active-filters {
6015
+ display: flex;
6016
+ flex-wrap: wrap;
6017
+ gap: 10px;
6018
+ }
6019
+
6020
+ .acess-filter-tag {
6021
+ display: inline-flex;
6022
+ align-items: center;
6023
+ padding: 6px 12px;
6024
+ background-color: #F1F5F9;
6025
+ border-radius: 100px;
6026
+ font-size: 14px;
6027
+ color: #475569;
6028
+ font-weight: 500;
6029
+ }
6030
+
6031
+ .acess-remove-btn {
6032
+ background: none;
6033
+ border: none;
6034
+ cursor: pointer;
6035
+ display: flex;
6036
+ align-items: center;
6037
+ justify-content: center;
6038
+ width: 18px;
6039
+ height: 18px;
6040
+ padding: 0;
6041
+ margin-left: 6px;
6042
+ color: #64748B;
6043
+ border-radius: 50%;
6044
+ }
6045
+
6046
+ .acess-remove-btn:hover {
6047
+ color: #E11D48;
6048
+ background-color: rgba(225, 29, 72, 0.1);
6049
+ }
6050
+
6051
+ .acess-clear-all {
6052
+ background: none;
6053
+ border: none;
6054
+ color: #007D7A;
6055
+ font-size: 14px;
6056
+ font-weight: 600;
6057
+ cursor: pointer;
6058
+ padding: 8px 16px;
6059
+ border-radius: 100px;
6060
+ transition: all 0.2s ease;
6061
+ }
6062
+
6063
+ .acess-clear-all:hover {
6064
+ background-color: #006969;
6065
+ color: white;
6066
+ }
6067
+
6068
+ /* Contagem e ordenação */
6069
+ .acess-results-header {
6070
+ display: flex;
6071
+ justify-content: space-between;
6072
+ align-items: center;
6073
+ margin-bottom: 20px;
6074
+ }
6075
+
6076
+ .acess-results-count {
6077
+ font-size: 14px;
6078
+ color: #64748B;
6079
+ }
6080
+
6081
+ .acess-sort-btn {
6082
+ background: none;
6083
+ border: 1px solid #E0E0E0;
6084
+ padding: 8px 16px;
6085
+ border-radius: 100px;
6086
+ font-size: 14px;
6087
+ display: inline-flex;
6088
+ align-items: center;
6089
+ gap: 8px;
6090
+ cursor: pointer;
6091
+ color: #64748B;
6092
+ }
6093
+
6094
+ /* Mensagem vazia */
6095
+ .acess-empty {
6096
+ text-align: center;
6097
+ padding: 60px 20px;
6098
+ background-color: #F9FAFB;
6099
+ border-radius: 12px;
6100
+ margin-top: 40px;
6101
+ }
6102
+
6103
+ .acess-empty-icon {
6104
+ width: 48px;
6105
+ height: 48px;
6106
+ margin-bottom: 16px;
6107
+ color: #94A3B8;
6108
+ }
6109
+
6110
+ /* Responsividade */
6111
+ @media (max-width: 768px) {
6112
+ .acess-title-large {
6113
+ font-size: 36px;
6114
+ }
6115
+
6116
+ .acess-filter-container {
6117
+ padding: 15px;
6118
+ top: -20px;
6119
+ }
6120
+
6121
+ .acess-dropdown {
6122
+ width: 100%;
6123
+ min-width: 100%;
6124
+ }
6125
+
6126
+ .acess-dropdown-content {
6127
+ width: 100%;
6128
+ min-width: 100%;
6129
+ }
6130
+
6131
+ .acess-hero {
6132
+ padding: 60px 20px;
6133
+ }
6134
+
6135
+ .acess-section-title {
6136
+ font-size: 28px;
6137
+ }
6138
+
6139
+ .acess-grid {
6140
+ grid-template-columns: 1fr;
6141
+ }
6142
+
6143
+ .acess-filter-group {
6144
+ flex-direction: column;
6145
+ gap: 8px;
6146
+ }
6147
+ }
6148
+
6149
+
6150
+
6151
+
6152
+
6153
+
6154
+
6155
+ /* Nova Rota Temática CSS - Design Moderno e Acessível */
6156
+
6157
+ :root {
6158
+ /* Cores principais */
6159
+ --rota-primary: #006969;
6160
+ --rota-primary-light: #006969;
6161
+ --rota-secondary: #025257;
6162
+ --rota-secondary-light: #006969;
6163
+ --rota-accent: #70E0DF;
6164
+
6165
+ /* Cores de deficiências */
6166
+ --rota-visual: #AB3FDD;
6167
+ --rota-auditiva: #F7B500;
6168
+ --rota-motora: #E52E4D;
6169
+ --rota-cognitiva: #33B679;
6170
+
6171
+ /* Cores neutras */
6172
+ --rota-text: #1e293b;
6173
+ --rota-text-light: #64748b;
6174
+ --rota-border: #e2e8f0;
6175
+ --rota-background: #f8fafc;
6176
+ --rota-card: #ffffff;
6177
+
6178
+ /* Sombras */
6179
+ --rota-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
6180
+ --rota-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
6181
+ --rota-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.12);
6182
+
6183
+ /* Arredondamentos */
6184
+ --rota-radius-sm: 8px;
6185
+ --rota-radius: 12px;
6186
+ --rota-radius-lg: 16px;
6187
+
6188
+ /* Espaçamentos */
6189
+ --rota-space-xs: 4px;
6190
+ --rota-space-sm: 8px;
6191
+ --rota-space: 16px;
6192
+ --rota-space-md: 24px;
6193
+ --rota-space-lg: 32px;
6194
+ --rota-space-xl: 48px;
6195
+
6196
+ /* Transições */
6197
+ --rota-transition: all 0.2s ease;
6198
+ --rota-transition-slow: all 0.3s ease;
6199
+ }
6200
+
6201
+ /* Reset e base */
6202
+ *, *::before, *::after {
6203
+ box-sizing: border-box;
6204
+ }
6205
+
6206
+ body {
6207
+ margin: 0;
6208
+ padding: 0;
6209
+ font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
6210
+ color: var(--rota-text);
6211
+ background-color: var(--rota-background);
6212
+ line-height: 1.5;
6213
+ }
6214
+
6215
+ a {
6216
+ color: var(--rota-secondary);
6217
+ text-decoration: none;
6218
+ transition: var(--rota-transition);
6219
+ }
6220
+
6221
+ a:hover {
6222
+ color: var(--rota-primary);
6223
+ }
6224
+
6225
+ /* Layout principal */
6226
+ .rota-layout {
6227
+ display: flex;
6228
+ min-height: 100vh;
6229
+ }
6230
+
6231
+ /* Sidebar minimalista */
6232
+ .rota-sidebar {
6233
+ background-color: var(--rota-card);
6234
+ border-right: 1px solid var(--rota-border);
6235
+ display: flex;
6236
+ flex-direction: column;
6237
+ height: 100vh;
6238
+ position: sticky;
6239
+ top: 0;
6240
+ width: 70px;
6241
+ z-index: 100;
6242
+ }
6243
+
6244
+ .rota-sidebar__logo {
6245
+ align-items: center;
6246
+ border-bottom: 1px solid var(--rota-border);
6247
+ display: flex;
6248
+ height: 70px;
6249
+ justify-content: center;
6250
+ padding: var(--rota-space-sm);
6251
+ }
6252
+
6253
+ .rota-sidebar__logo img {
6254
+ height: auto;
6255
+ max-height: 32px;
6256
+ max-width: 36px;
6257
+ }
6258
+
6259
+ .rota-sidebar__nav {
6260
+ display: flex;
6261
+ flex-direction: column;
6262
+ flex: 1;
6263
+ padding: var(--rota-space) 0;
6264
+ }
6265
+
6266
+ .rota-sidebar__nav-item {
6267
+ align-items: center;
6268
+ color: var(--rota-text-light);
6269
+ display: flex;
6270
+ height: 60px;
6271
+ justify-content: center;
6272
+ position: relative;
6273
+ transition: var(--rota-transition);
6274
+ width: 100%;
6275
+ }
6276
+
6277
+ .rota-sidebar__nav-item svg {
6278
+ height: 20px;
6279
+ width: 20px;
6280
+ }
6281
+
6282
+ .rota-sidebar__nav-item:hover,
6283
+ .rota-sidebar__nav-item.active {
6284
+ color: var(--rota-secondary);
6285
+ }
6286
+
6287
+ .rota-sidebar__nav-item.active::before {
6288
+ background-color: var(--rota-secondary);
6289
+ content: '';
6290
+ height: 60%;
6291
+ left: 0;
6292
+ position: absolute;
6293
+ top: 20%;
6294
+ width: 3px;
6295
+ }
6296
+
6297
+ .rota-sidebar__tooltip {
6298
+ background-color: var(--rota-text);
6299
+ border-radius: var(--rota-radius-sm);
6300
+ color: white;
6301
+ font-size: 12px;
6302
+ left: 100%;
6303
+ margin-left: var(--rota-space);
6304
+ opacity: 0;
6305
+ padding: 6px 10px;
6306
+ pointer-events: none;
6307
+ position: absolute;
6308
+ transform: translateX(-10px);
6309
+ transition: var(--rota-transition);
6310
+ white-space: nowrap;
6311
+ z-index: 10;
6312
+ }
6313
+
6314
+ .rota-sidebar__tooltip::before {
6315
+ border-color: transparent var(--rota-text) transparent transparent;
6316
+ border-style: solid;
6317
+ border-width: 5px 5px 5px 0;
6318
+ content: '';
6319
+ height: 0;
6320
+ left: -5px;
6321
+ position: absolute;
6322
+ top: calc(50% - 5px);
6323
+ width: 0;
6324
+ }
6325
+
6326
+ .rota-sidebar__nav-item:hover .rota-sidebar__tooltip {
6327
+ opacity: 1;
6328
+ transform: translateX(0);
6329
+ }
6330
+
6331
+ .rota-sidebar__user {
6332
+ border-top: 1px solid var(--rota-border);
6333
+ display: flex;
6334
+ justify-content: center;
6335
+ padding: var(--rota-space-sm) 0;
6336
+ }
6337
+
6338
+ .rota-sidebar__user-button {
6339
+ background: none;
6340
+ border: none;
6341
+ color: var(--rota-text-light);
6342
+ cursor: pointer;
6343
+ height: 40px;
6344
+ padding: 0;
6345
+ transition: var(--rota-transition);
6346
+ width: 40px;
6347
+ }
6348
+
6349
+ .rota-sidebar__user-button:hover {
6350
+ color: var(--rota-secondary);
6351
+ }
6352
+
6353
+ .rota-sidebar__user-button svg {
6354
+ height: 20px;
6355
+ width: 20px;
6356
+ }
6357
+
6358
+ /* Conteúdo principal */
6359
+ .rota-main {
6360
+ flex: 1;
6361
+ max-width: calc(100vw - 70px);
6362
+ background-color: #EBEFF5;
6363
+ }
6364
+
6365
+ /* Barra de navegação superior */
6366
+ .rota-header {
6367
+ align-items: center;
6368
+ background-color: var(--rota-card);
6369
+ border-bottom: 1px solid var(--rota-border);
6370
+ display: flex;
6371
+ height: 70px;
6372
+ justify-content: space-between;
6373
+ padding: 0 var(--rota-space-lg);
6374
+ position: sticky;
6375
+ top: 0;
6376
+ z-index: 50;
6377
+ }
6378
+
6379
+ .rota-breadcrumb {
6380
+ align-items: center;
6381
+ display: flex;
6382
+ font-size: 14px;
6383
+ gap: var(--rota-space-sm);
6384
+ }
6385
+
6386
+ .rota-breadcrumb__link {
6387
+ color: var(--rota-secondary);
6388
+ font-weight: 500;
6389
+ }
6390
+
6391
+ .rota-breadcrumb__link:hover {
6392
+ text-decoration: underline;
6393
+ }
6394
+
6395
+ .rota-breadcrumb svg {
6396
+ color: var(--rota-text-light);
6397
+ }
6398
+
6399
+ .rota-actions {
6400
+ display: flex;
6401
+ gap: var(--rota-space-sm);
6402
+ }
6403
+
6404
+ .rota-action-btn {
6405
+ align-items: center;
6406
+ background-color: transparent;
6407
+ border: 1px solid var(--rota-border);
6408
+ border-radius: var(--rota-radius-sm);
6409
+ color: var(--rota-text);
6410
+ cursor: pointer;
6411
+ display: flex;
6412
+ font-size: 14px;
6413
+ font-weight: 500;
6414
+ gap: var(--rota-space-sm);
6415
+ padding: 8px var(--rota-space);
6416
+ transition: var(--rota-transition);
6417
+ }
6418
+
6419
+ .rota-action-btn:hover {
6420
+ background-color: var(--rota-background);
6421
+ border-color: var(--rota-secondary);
6422
+ color: var(--rota-secondary);
6423
+ }
6424
+
6425
+ /* Hero da rota */
6426
+ .rota-hero {
6427
+ background-color: var(--rota-card);
6428
+ border-radius: 0 0 var(--rota-radius-lg) var(--rota-radius-lg);
6429
+ box-shadow: var(--rota-shadow);
6430
+ margin-bottom: var(--rota-space-lg);
6431
+ overflow: hidden;
6432
+ position: relative;
6433
+ }
6434
+
6435
+ .rota-hero__background {
6436
+ height: 240px;
6437
+ overflow: hidden;
6438
+ position: relative;
6439
+ }
6440
+
6441
+ .rota-hero__img {
6442
+ height: 100%;
6443
+ object-fit: cover;
6444
+ width: 100%;
6445
+ }
6446
+
6447
+ .rota-hero__gradient {
6448
+ background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
6449
+ height: 100%;
6450
+ left: 0;
6451
+ position: absolute;
6452
+ top: 0;
6453
+ width: 100%;
6454
+ z-index: 2;
6455
+ }
6456
+
6457
+ .rota-hero__content {
6458
+ align-items: center;
6459
+ display: flex;
6460
+ flex-direction: column;
6461
+ margin-top: -80px;
6462
+ padding: 0 var(--rota-space-lg) var(--rota-space-lg);
6463
+ position: relative;
6464
+ text-align: center;
6465
+ z-index: 3;
6466
+ }
6467
+
6468
+ .rota-hero__icon-wrap {
6469
+ margin-bottom: var(--rota-space);
6470
+ }
6471
+
6472
+ .rota-hero__icon {
6473
+ align-items: center;
6474
+ background: linear-gradient(135deg, var(--rota-primary) 0%, var(--rota-primary-light) 100%);
6475
+ border-radius: 50%;
6476
+ box-shadow: var(--rota-shadow);
6477
+ color: white;
6478
+ display: flex;
6479
+ height: 100px;
6480
+ justify-content: center;
6481
+ width: 100px;
6482
+ }
6483
+
6484
+ .rota-hero__icon img,
6485
+ .rota-hero__icon svg {
6486
+ height: 50px;
6487
+ width: 50px;
6488
+ }
6489
+
6490
+ .rota-hero__title {
6491
+ color: #024248;
6492
+ font-size: 32px;
6493
+ font-weight: 700;
6494
+ margin: 0 0 var(--rota-space-sm);
6495
+ }
6496
+
6497
+ .rota-hero__description {
6498
+ color: #333840;
6499
+ font-size: 16px;
6500
+ margin: 0 0 var(--rota-space-md);
6501
+ max-width: 700px;
6502
+ }
6503
+
6504
+ .rota-hero__meta {
6505
+ background-color: var(--rota-card);
6506
+ border-radius: var(--rota-radius);
6507
+ display: flex;
6508
+ flex-wrap: wrap;
6509
+ gap: var(--rota-space-md);
6510
+ justify-content: center;
6511
+ padding: var(--rota-space);
6512
+ }
6513
+
6514
+ .rota-hero__stat {
6515
+ align-items: center;
6516
+ color: var(--rota-text-light);
6517
+ display: flex;
6518
+ font-size: 14px;
6519
+ gap: var(--rota-space-sm);
6520
+ }
6521
+
6522
+ .rota-hero__stat svg {
6523
+ color: var(--rota-secondary);
6524
+ }
6525
+
6526
+ /* Tabs de navegação */
6527
+ .rota-tabs {
6528
+ background-color: var(--rota-card);
6529
+ border-radius: 0 0 var(--rota-radius-lg) var(--rota-radius-lg);
6530
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
6531
+ margin-top: var(--rota-space-md);
6532
+ position: sticky;
6533
+ top: 70px;
6534
+ z-index: 40;
6535
+ }
6536
+
6537
+ .rota-tabs__nav {
6538
+ display: flex;
6539
+ padding: 0 var(--rota-space-lg);
6540
+ position: relative;
6541
+ justify-content: center;
6542
+ gap: 10px;
6543
+ padding-bottom: 10px;
6544
+ }
6545
+
6546
+ .rota-tabs__link {
6547
+ align-items: center;
6548
+ color: white;
6549
+ display: flex;
6550
+ font-size: 14px;
6551
+ font-weight: 500;
6552
+ gap: var(--rota-space-sm);
6553
+ padding: var(--rota-space) var(--rota-space-md);
6554
+ position: relative;
6555
+ text-decoration: none;
6556
+ transition: var(--rota-transition);
6557
+ white-space: nowrap;
6558
+ z-index: 1;
6559
+ background: #007D7A;
6560
+ border-radius: 20px;
6561
+ }
6562
+
6563
+ .rota-tabs__link:hover {
6564
+ color: white;
6565
+ background-color: #006969;
6566
+ }
6567
+
6568
+ .rota-tabs__link.active {
6569
+ background: #024248;
6570
+ color: white;
6571
+ border-radius: 20px;
6572
+ }
6573
+
6574
+ .rota-tabs__link svg {
6575
+ height: 18px;
6576
+ width: 18px;
6577
+ }
6578
+
6579
+ .rota-tabs__indicator {
6580
+ background-color: var(--rota-secondary-light);
6581
+ border-radius: var(--rota-radius) var(--rota-radius) 0 0;
6582
+ bottom: 0;
6583
+ height: 3px;
6584
+ position: absolute;
6585
+ transition: var(--rota-transition-slow);
6586
+ }
6587
+
6588
+ /* Container de conteúdo */
6589
+ .rota-content {
6590
+ padding: var(--rota-space-lg);
6591
+ }
6592
+
6593
+ /* Seções */
6594
+ .rota-section {
6595
+ background-color: var(--rota-card);
6596
+ border-radius: var(--rota-radius-lg);
6597
+ box-shadow: var(--rota-shadow);
6598
+ display: none;
6599
+ margin-bottom: var(--rota-space-lg);
6600
+ overflow: hidden;
6601
+ }
6602
+
6603
+ .rota-section--active {
6604
+ display: block;
6605
+ }
6606
+
6607
+ .rota-section__header {
6608
+ border-bottom: 1px solid var(--rota-border);
6609
+ padding: var(--rota-space-md) var(--rota-space-lg);
6610
+ }
6611
+
6612
+ .rota-section__header--accent {
6613
+ background: linear-gradient(135deg, var(--rota-primary) 0%, var(--rota-primary-light) 100%);
6614
+ border-bottom: none;
6615
+ }
6616
+
6617
+ .rota-section__title {
6618
+ align-items: center;
6619
+ color: var(--rota-text);
6620
+ display: flex;
6621
+ font-size: 22px;
6622
+ font-weight: 600;
6623
+ gap: var(--rota-space);
6624
+ margin: 0;
6625
+ }
6626
+
6627
+ .rota-section__title--light {
6628
+ color: white;
6629
+ }
6630
+
6631
+ .rota-section__icon {
6632
+ color: var(--rota-primary);
6633
+ height: 24px;
6634
+ width: 24px;
6635
+ }
6636
+
6637
+ .rota-section__icon--light {
6638
+ color: white;
6639
+ }
6640
+
6641
+ .rota-section__content {
6642
+ padding: var(--rota-space-lg);
6643
+ }
6644
+
6645
+ .rota-section__intro {
6646
+ margin-bottom: var(--rota-space-lg);
6647
+ }
6648
+
6649
+ /* Conteúdo rico */
6650
+ .rota-section__content h2 {
6651
+ color: var(--rota-text);
6652
+ font-size: 20px;
6653
+ font-weight: 600;
6654
+ margin: var(--rota-space-lg) 0 var(--rota-space);
6655
+ }
6656
+
6657
+ .rota-section__content h3 {
6658
+ color: var(--rota-text);
6659
+ font-size: 18px;
6660
+ font-weight: 600;
6661
+ margin: 0;margin-bottom: 10px;
6662
+ }
6663
+
6664
+ .rota-section__content p {
6665
+ color: var(--rota-text-light);
6666
+ line-height: 1.6;
6667
+ margin: 0 0 var(--rota-space);
6668
+ }
6669
+
6670
+
6671
+
6672
+ .rota-section__content ul,
6673
+ .rota-section__content ol {
6674
+ color: var(--rota-text-light);
6675
+ line-height: 1.6;
6676
+ margin: 0 0 var(--rota-space);
6677
+ padding-left: var(--rota-space-lg);
6678
+ }
6679
+
6680
+ .rota-section__content li {
6681
+ margin-bottom: var(--rota-space-sm);
6682
+ }
6683
+
6684
+ /* Citação */
6685
+ .rota-quote {
6686
+ background-color: var(--rota-background);
6687
+ border-radius: var(--rota-radius);
6688
+ margin: var(--rota-space-lg) 0;
6689
+ padding: var(--rota-space-lg);
6690
+ position: relative;
6691
+ }
6692
+
6693
+ .rota-quote__icon {
6694
+ color: var(--rota-primary-light);
6695
+ left: var(--rota-space-lg);
6696
+ opacity: 0.2;
6697
+ position: absolute;
6698
+ top: var(--rota-space-lg);
6699
+ }
6700
+
6701
+ .rota-quote__text {
6702
+ color: var(--rota-text);
6703
+ font-size: 18px;
6704
+ font-style: italic;
6705
+ line-height: 1.6;
6706
+ margin: 0;
6707
+ padding-left: var(--rota-space-xl);
6708
+ position: relative;
6709
+ z-index: 1;
6710
+ }
6711
+
6712
+ /* Etapas */
6713
+ .rota-steps {
6714
+ counter-reset: step;
6715
+ margin: var(--rota-space-lg) 0;
6716
+ }
6717
+
6718
+ .rota-steps__item {
6719
+ border-left: 2px solid var(--rota-border);
6720
+ display: flex;
6721
+ margin-bottom: var(--rota-space-md);
6722
+ padding-bottom: var(--rota-space-md);
6723
+ padding-left: var(--rota-space-lg);
6724
+ position: relative;
6725
+ }
6726
+
6727
+ .rota-steps__item:last-child {
6728
+ border-left: 2px dashed var(--rota-border);
6729
+ margin-bottom: 0;
6730
+ padding-bottom: 0;
6731
+ }
6732
+
6733
+ .rota-steps__number {
6734
+ align-items: center;
6735
+ background-color: var(--rota-secondary);
6736
+ border-radius: 50%;
6737
+ color: white;
6738
+ display: flex;
6739
+ font-weight: 600;
6740
+ height: 36px;
6741
+ justify-content: center;
6742
+ left: -18px;
6743
+ position: absolute;
6744
+ top: 0;
6745
+ width: 36px;
6746
+ }
6747
+
6748
+ .rota-steps__content {
6749
+ padding-left: var(--rota-space);
6750
+ }
6751
+
6752
+ .rota-steps__title {
6753
+ color: var(--rota-text);
6754
+ font-size: 18px;
6755
+ font-weight: 600;
6756
+ margin: 0 0 var(--rota-space-sm);
6757
+ }
6758
+
6759
+ .rota-steps__text {
6760
+ color: var(--rota-text-light);
6761
+ margin: 0;
6762
+ }
6763
+
6764
+ /* Cápsulas */
6765
+ .rota-capsulas {
6766
+ display: grid;
6767
+ gap: var(--rota-space-lg);
6768
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
6769
+ }
6770
+
6771
+ .rota-capsula {
6772
+ background-color: var(--rota-card);
6773
+ border: 1px solid var(--rota-border);
6774
+ border-radius: var(--rota-radius);
6775
+ box-shadow: var(--rota-shadow-sm);
6776
+ display: flex;
6777
+ flex-direction: column;
6778
+ overflow: hidden;
6779
+ position: relative;
6780
+ transition: var(--rota-transition);
6781
+ }
6782
+
6783
+ .rota-capsula:hover {
6784
+ box-shadow: var(--rota-shadow);
6785
+ transform: translateY(-4px);
6786
+ }
6787
+
6788
+ .rota-capsula--destaque {
6789
+ border: 2px solid var(--rota-secondary);
6790
+ }
6791
+
6792
+ .rota-capsula__header {
6793
+ position: relative;
6794
+ }
6795
+
6796
+ .rota-capsula__image {
6797
+ height: 160px;
6798
+ overflow: hidden;
6799
+ position: relative;
6800
+ }
6801
+
6802
+ .rota-capsula__image img {
6803
+ height: 100%;
6804
+ object-fit: cover;
6805
+ transition: var(--rota-transition-slow);
6806
+ width: 100%;
6807
+ }
6808
+
6809
+ .rota-capsula:hover .rota-capsula__image img {
6810
+ transform: scale(1.05);
6811
+ }
6812
+
6813
+ .rota-capsula__overlay {
6814
+ background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
6815
+ bottom: 0;
6816
+ height: 50%;
6817
+ left: 0;
6818
+ position: absolute;
6819
+ width: 100%;
6820
+ }
6821
+
6822
+ .rota-capsula__icon {
6823
+ align-items: center;
6824
+ background: linear-gradient(135deg, var(--rota-primary) 0%, var(--rota-primary-light) 100%);
6825
+ color: white;
6826
+ display: flex;
6827
+ height: 120px;
6828
+ justify-content: center;
6829
+ width: 100%;
6830
+ }
6831
+
6832
+ .rota-capsula__icon svg {
6833
+ height: 48px;
6834
+ width: 48px;
6835
+ }
6836
+
6837
+ .rota-capsula__labels {
6838
+ display: flex;
6839
+ justify-content: space-between;
6840
+ left: 0;
6841
+ padding: var(--rota-space);
6842
+ position: absolute;
6843
+ right: 0;
6844
+ top: 0;
6845
+ z-index: 1;
6846
+ }
6847
+
6848
+ .rota-capsula__ribbon {
6849
+ background-color: var(--rota-secondary);
6850
+ border-radius: var(--rota-radius-sm);
6851
+ box-shadow: var(--rota-shadow-sm);
6852
+ color: white;
6853
+ font-size: 12px;
6854
+ font-weight: 600;
6855
+ padding: 4px var(--rota-space-sm);
6856
+ }
6857
+
6858
+ .rota-capsula__category {
6859
+ align-items: center;
6860
+ background-color: rgba(255, 255, 255, 0.9);
6861
+ border-radius: var(--rota-radius-sm);
6862
+ box-shadow: var(--rota-shadow-sm);
6863
+ color: var(--rota-text-light);
6864
+ display: flex;
6865
+ font-size: 12px;
6866
+ font-weight: 500;
6867
+ gap: 4px;
6868
+ padding: 4px var(--rota-space-sm);
6869
+ }
6870
+
6871
+ .rota-capsula__body {
6872
+ display: flex;
6873
+ flex-direction: column;
6874
+ flex: 1;
6875
+ padding: var(--rota-space);
6876
+ }
6877
+
6878
+ .rota-capsula__title {
6879
+ color: var(--rota-text);
6880
+ font-size: 18px;
6881
+ font-weight: 600;
6882
+ margin: 0 0 var(--rota-space);
6883
+ }
6884
+
6885
+ .rota-capsula__description {
6886
+ color: var(--rota-text-light);
6887
+ display: -webkit-box;
6888
+ font-size: 14px;
6889
+ line-height: 1.5;
6890
+ margin-bottom: var(--rota-space);
6891
+ overflow: hidden;
6892
+ -webkit-box-orient: vertical;
6893
+ -webkit-line-clamp: 3;
6894
+ }
6895
+
6896
+ .rota-capsula__accessibility-types {
6897
+ display: flex;
6898
+ flex-wrap: wrap;
6899
+ gap: var(--rota-space-sm);
6900
+ margin-bottom: var(--rota-space);
6901
+ margin-top: auto;
6902
+ }
6903
+
6904
+ .rota-capsula__type {
6905
+ align-items: center;
6906
+ border-radius: var(--rota-radius-sm);
6907
+ display: flex;
6908
+ font-size: 12px;
6909
+ gap: 4px;
6910
+ padding: 4px var(--rota-space-sm);
6911
+ }
6912
+
6913
+ .rota-capsula__type--visual {
6914
+ background-color: rgba(171, 63, 221, 0.1);
6915
+ color: var(--rota-visual);
6916
+ }
6917
+
6918
+ .rota-capsula__type--auditiva {
6919
+ background-color: rgba(247, 181, 0, 0.1);
6920
+ color: var(--rota-auditiva);
6921
+ }
6922
+
6923
+ .rota-capsula__type--motora {
6924
+ background-color: rgba(229, 46, 77, 0.1);
6925
+ color: var(--rota-motora);
6926
+ }
6927
+
6928
+ .rota-capsula__type--cognitiva {
6929
+ background-color: rgba(51, 182, 121, 0.1);
6930
+ color: var(--rota-cognitiva);
6931
+ }
6932
+
6933
+ .rota-capsula__footer {
6934
+ padding: var(--rota-space);
6935
+ }
6936
+
6937
+ .rota-capsula__button {
6938
+ align-items: center;
6939
+ background-color: var(--rota-primary);
6940
+ border: none;
6941
+ border-radius: var(--rota-radius-sm);
6942
+ color: white;
6943
+ cursor: pointer;
6944
+ display: flex;
6945
+ font-size: 14px;
6946
+ font-weight: 600;
6947
+ gap: var(--rota-space-sm);
6948
+ justify-content: center;
6949
+ padding: var(--rota-space);
6950
+ text-align: center;
6951
+ transition: var(--rota-transition);
6952
+ width: 100%;
6953
+ }
6954
+
6955
+ .rota-capsula__button:hover {
6956
+ background-color: var(--rota-secondary);
6957
+ color: white;
6958
+ transform: translateY(-2px);
6959
+ }
6960
+
6961
+ /* Estado vazio */
6962
+ .rota-empty {
6963
+ align-items: center;
6964
+ background-color: var(--rota-background);
6965
+ border-radius: var(--rota-radius);
6966
+ display: flex;
6967
+ flex-direction: column;
6968
+ justify-content: center;
6969
+ padding: var(--rota-space-xl) var(--rota-space-lg);
6970
+ text-align: center;
6971
+ }
6972
+
6973
+ .rota-empty__icon {
6974
+ color: var(--rota-text-light);
6975
+ margin-bottom: var(--rota-space);
6976
+ }
6977
+
6978
+ .rota-empty__title {
6979
+ color: var(--rota-text);
6980
+ font-size: 18px;
6981
+ font-weight: 600;
6982
+ margin: 0 0 var(--rota-space-sm);
6983
+ }
6984
+
6985
+ .rota-empty__text {
6986
+ color: var(--rota-text-light);
6987
+ margin: 0;
6988
+ max-width: 400px;
6989
+ }
6990
+
6991
+ /* Materiais extras */
6992
+ .rota-materiais {
6993
+ display: grid;
6994
+ gap: var(--rota-space);
6995
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
6996
+ }
6997
+
6998
+ .rota-material {
6999
+ background-color: var(--rota-background);
7000
+ border-radius: var(--rota-radius);
7001
+ box-shadow: var(--rota-shadow-sm);
7002
+ padding: var(--rota-space);
7003
+ transition: var(--rota-transition);
7004
+ }
7005
+
7006
+ .rota-material:hover {
7007
+ box-shadow: var(--rota-shadow);
7008
+ transform: translateY(-2px);
7009
+ }
7010
+
7011
+ /* Rodapé */
7012
+ .rota-footer {
7013
+ background-color: var(--rota-card);
7014
+ border-top: 1px solid var(--rota-border);
7015
+ margin-top: var(--rota-space-xl);
7016
+ padding: var(--rota-space-lg);
7017
+ }
7018
+
7019
+ .rota-footer__content {
7020
+ display: grid;
7021
+ gap: var(--rota-space-lg);
7022
+ grid-template-columns: 1fr 1fr;
7023
+ }
7024
+
7025
+ .rota-footer__title {
7026
+ color: var(--rota-text);
7027
+ font-size: 16px;
7028
+ font-weight: 600;
7029
+ margin: 0 0 var(--rota-space);
7030
+ }
7031
+
7032
+ .rota-footer__nav,
7033
+ .rota-footer__links {
7034
+ display: flex;
7035
+ flex-direction: column;
7036
+ gap: var(--rota-space-sm);
7037
+ }
7038
+
7039
+ .rota-footer__link {
7040
+ color: var(--rota-text-light);
7041
+ font-size: 14px;
7042
+ transition: var(--rota-transition);
7043
+ }
7044
+
7045
+ .rota-footer__link:hover {
7046
+ color: var(--rota-secondary);
7047
+ padding-left: var(--rota-space-sm);
7048
+ }
7049
+
7050
+ /* Botão para voltar ao topo */
7051
+ .rota-back-to-top {
7052
+ align-items: center;
7053
+ background-color: var(--rota-primary);
7054
+ border: none;
7055
+ border-radius: 50%;
7056
+ bottom: var(--rota-space-lg);
7057
+ box-shadow: var(--rota-shadow);
7058
+ color: white;
7059
+ cursor: pointer;
7060
+ display: flex;
7061
+ height: 50px;
7062
+ justify-content: center;
7063
+ opacity: 0;
7064
+ position: fixed;
7065
+ right: var(--rota-space-lg);
7066
+ transform: translateY(20px);
7067
+ transition: var(--rota-transition);
7068
+ visibility: hidden;
7069
+ width: 50px;
7070
+ z-index: 100;
7071
+ }
7072
+
7073
+ .rota-back-to-top.visible {
7074
+ opacity: 1;
7075
+ transform: translateY(0);
7076
+ visibility: visible;
7077
+ }
7078
+
7079
+ .rota-back-to-top:hover {
7080
+ background-color: var(--rota-secondary);
7081
+ transform: translateY(-4px);
7082
+ }
7083
+
7084
+ .rota-back-to-top svg {
7085
+ height: 20px;
7086
+ width: 20px;
7087
+ }
7088
+
7089
+ /* Acessibilidade */
7090
+ .skip-to-content {
7091
+ background-color: var(--rota-secondary);
7092
+ border-radius: 0 0 var(--rota-radius-sm) var(--rota-radius-sm);
7093
+ color: white;
7094
+ left: var(--rota-space);
7095
+ padding: var(--rota-space-sm) var(--rota-space);
7096
+ position: absolute;
7097
+ top: -100px;
7098
+ transition: var(--rota-transition);
7099
+ z-index: 1000;
7100
+ }
7101
+
7102
+ .skip-to-content:focus {
7103
+ top: 0;
7104
+ }
7105
+
7106
+ .visually-hidden {
7107
+ border: 0;
7108
+ clip: rect(0, 0, 0, 0);
7109
+ height: 1px;
7110
+ margin: -1px;
7111
+ overflow: hidden;
7112
+ padding: 0;
7113
+ position: absolute;
7114
+ width: 1px;
7115
+ }
7116
+
7117
+ /* Responsividade */
7118
+ @media (max-width: 1024px) {
7119
+ .rota-footer__content {
7120
+ grid-template-columns: 1fr;
7121
+ }
7122
+
7123
+ .rota-hero__title {
7124
+ font-size: 28px;
7125
+ }
7126
+
7127
+ .rota-capsulas {
7128
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
7129
+ }
7130
+ }
7131
+
7132
+ @media (max-width: 768px) {
7133
+ .rota-header {
7134
+ padding: 0 var(--rota-space);
7135
+ }
7136
+
7137
+ .rota-content {
7138
+ padding: var(--rota-space);
7139
+ }
7140
+
7141
+ .rota-section__header,
7142
+ .rota-section__content {
7143
+ padding: var(--rota-space);
7144
+ }
7145
+
7146
+ .rota-tabs__nav {
7147
+ justify-content: normal;
7148
+ }
7149
+
7150
+ .rota-tabs {
7151
+ padding-bottom: 20px;
7152
+ }
7153
+
7154
+ .capsulas-index ul {
7155
+ display: flex;
7156
+ flex-direction: row;
7157
+ overflow-x: scroll;
7158
+ white-space: nowrap;
7159
+ flex-wrap: nowrap;
7160
+ width: 100%;
7161
+ -webkit-overflow-scrolling: touch;
7162
+ scrollbar-width: none;
7163
+ -ms-overflow-style: none;
7164
+ scroll-snap-type: x mandatory;
7165
+ padding: 0;
7166
+ margin: 0 -15px;
7167
+ padding: 0 0 15px 15px;
7168
+ list-style: none;
7169
+ }
7170
+
7171
+
7172
+ .rota-steps__number {
7173
+ margin-left: 20px;
7174
+ }
7175
+
7176
+ .rota-steps__item{
7177
+ border: none;
7178
+ }
7179
+
7180
+ .rota-hero__content {
7181
+ padding: 0 var(--rota-space) var(--rota-space);
7182
+ }
7183
+
7184
+ .rota-tabs__nav {
7185
+ overflow-x: auto;
7186
+ padding: 0 var(--rota-space);
7187
+ }
7188
+
7189
+ .rota-capsulas {
7190
+ grid-template-columns: 1fr;
7191
+ }
7192
+ }
7193
+
7194
+ @media (max-width: 640px) {
7195
+ .rota-sidebar {
7196
+ display: none;
7197
+ }
7198
+
7199
+ .rota-main {
7200
+ max-width: 100%;
7201
+ }
7202
+
7203
+ .rota-hero__title {
7204
+ font-size: 24px;
7205
+ }
7206
+
7207
+ .rota-hero__meta {
7208
+ flex-direction: column;
7209
+ gap: var(--rota-space-sm);
3755
7210
  }
3756
- }
7211
+ }