mypgs 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +33 -0
  2. package/assets/javascript/_pgs.js +214 -0
  3. package/assets/javascript/base/_darkmode.js +121 -0
  4. package/assets/javascript/base/_object.js +42 -0
  5. package/assets/javascript/components/_accordion.js +77 -0
  6. package/assets/javascript/components/_dropdown.js +107 -0
  7. package/assets/javascript/components/_exeNotifications.js +85 -0
  8. package/assets/javascript/components/_menu.js +92 -0
  9. package/assets/javascript/components/_modals.js +123 -0
  10. package/assets/javascript/components/_slides.js +183 -0
  11. package/assets/javascript/components/_steps.js +27 -0
  12. package/assets/javascript/components/_tabs.js +134 -0
  13. package/assets/javascript/functions/_formValidate.js +217 -0
  14. package/assets/javascript/functions/_notifications.js +74 -0
  15. package/assets/javascript/functions/_scrollY.js +77 -0
  16. package/assets/javascript/functions/_sendForm.js +100 -0
  17. package/assets/javascript/index.js +20 -0
  18. package/assets/javascript/patterns/_cookieConsent.js +209 -0
  19. package/assets/javascript/patterns/_header.js +134 -0
  20. package/assets/javascript/pgs.d.ts +23 -0
  21. package/assets/scss/base/_body.scss +151 -0
  22. package/assets/scss/base/_color.scss +56 -0
  23. package/assets/scss/base/_general.scss +58 -0
  24. package/assets/scss/base/_heading.scss +20 -0
  25. package/assets/scss/base/_html.scss +4 -0
  26. package/assets/scss/base/_reset.scss +15 -0
  27. package/assets/scss/base/_variables.scss +39 -0
  28. package/assets/scss/components/_accordion.scss +91 -0
  29. package/assets/scss/components/_breadcumbs.scss +40 -0
  30. package/assets/scss/components/_button.scss +28 -0
  31. package/assets/scss/components/_dropdown.scss +106 -0
  32. package/assets/scss/components/_form.scss +53 -0
  33. package/assets/scss/components/_logo.scss +51 -0
  34. package/assets/scss/components/_menu.scss +23 -0
  35. package/assets/scss/components/_modals.scss +120 -0
  36. package/assets/scss/components/_notification.scss +193 -0
  37. package/assets/scss/components/_searchbar.scss +68 -0
  38. package/assets/scss/components/_slides.scss +198 -0
  39. package/assets/scss/components/_steps.scss +111 -0
  40. package/assets/scss/components/_table.scss +59 -0
  41. package/assets/scss/components/_tabs.scss +69 -0
  42. package/assets/scss/components/_tooltip.scss +16 -0
  43. package/assets/scss/index.scss +64 -0
  44. package/assets/scss/layout/_flex.scss +47 -0
  45. package/assets/scss/layout/_gap.scss +12 -0
  46. package/assets/scss/layout/_grid.scss +11 -0
  47. package/assets/scss/layout/_layout.scss +41 -0
  48. package/assets/scss/layout/_pageShell.scss +171 -0
  49. package/assets/scss/mixin/_mx-base.scss +126 -0
  50. package/assets/scss/mixin/_mx-button.scss +186 -0
  51. package/assets/scss/mixin/_mx-card.scss +77 -0
  52. package/assets/scss/mixin/_mx-color.scss +34 -0
  53. package/assets/scss/mixin/_mx-form-addon.scss +180 -0
  54. package/assets/scss/mixin/_mx-form.scss +512 -0
  55. package/assets/scss/mixin/_mx-menu.scss +154 -0
  56. package/assets/scss/mixin/_mx-responsive.scss +353 -0
  57. package/assets/scss/mixin/_mx-semantic.scss +147 -0
  58. package/assets/scss/mixin/mixin.scss +36 -0
  59. package/assets/scss/patterns/_cookieConsent.scss +101 -0
  60. package/assets/scss/patterns/_footer.scss +180 -0
  61. package/assets/scss/patterns/_header.scss +143 -0
  62. package/dist/css/index.css +7026 -0
  63. package/dist/css/index.css.map +1 -0
  64. package/dist/css/index.min.css +1 -0
  65. package/dist/index.d.ts +24 -0
  66. package/dist/javascript/index.js +2034 -0
  67. package/dist/javascript/index.js.map +1 -0
  68. package/dist/javascript/index.min.js +1 -0
  69. package/package.json +40 -0
  70. package/templates/components/md-breadcumbs.html +23 -0
  71. package/templates/components/md-menu.html +6 -0
  72. package/templates/components/md-notification.html +10 -0
  73. package/templates/components/md-searchbar.html +24 -0
  74. package/templates/components/md-tooltip.html +5 -0
  75. package/templates/layout/md-body.html +20 -0
  76. package/templates/layout/md-cookieConsent.html +51 -0
  77. package/templates/layout/md-footer.html +16 -0
  78. package/templates/layout/md-header.html +43 -0
  79. package/webpack.config.js +131 -0
@@ -0,0 +1,353 @@
1
+ //= FLEX
2
+ //== column
3
+ @mixin flexColumn() {
4
+ display: flex;
5
+ gap: var(--gap-texts);
6
+ flex-direction: column;
7
+ }
8
+
9
+ @mixin flexColumnElements() {
10
+ display: flex;
11
+ gap: var(--gap-elements);
12
+ flex-direction: column;
13
+ }
14
+
15
+ @mixin flexColumnSections() {
16
+ display: flex;
17
+ gap: var(--gap-sections);
18
+ flex-direction: column;
19
+ }
20
+
21
+ //== row
22
+ @mixin flexRow() {
23
+ display: flex;
24
+ gap: var(--gap-texts);
25
+ flex-direction: row;
26
+ flex-wrap: wrap;
27
+ }
28
+
29
+ @mixin flexRowElements() {
30
+ display: flex;
31
+ gap: var(--gap-elements);
32
+ flex-direction: row;
33
+ flex-wrap: wrap;
34
+ }
35
+
36
+ @mixin flexRowSection() {
37
+ display: flex;
38
+ gap: var(--gap-sections);
39
+ flex-direction: row;
40
+ flex-wrap: wrap;
41
+ }
42
+
43
+ //== center
44
+ @mixin center($gap: var(--gap-texts)) {
45
+ display: flex;
46
+ gap: $gap;
47
+ align-items: center;
48
+ justify-content: center;
49
+ }
50
+
51
+ //= FLEX
52
+ @function _basis($ratio, $gap, $columns) {
53
+ $cols: ceil($columns * $ratio);
54
+ @return calc((100% - ($gap * ($cols - 1))) / $cols);
55
+ }
56
+
57
+ //== responsive flex
58
+ @mixin rFlex(
59
+ $columns: 4,
60
+ $mobileTwoElements: false,
61
+ $gap: var(--gap-elements))
62
+ {
63
+ display: flex;
64
+ flex-wrap: wrap;
65
+ justify-content: center;
66
+ width: 100%;
67
+ gap: $gap;
68
+
69
+ >* {
70
+ flex: 1 0;
71
+ flex-basis:#{_basis(1, $gap, $columns)};
72
+ }
73
+
74
+ //-( laptop: ratio = 0.75
75
+ @container (max-width: #{$laptop}) {
76
+ >* {
77
+ flex-basis:#{_basis(0.75, $gap, $columns)};
78
+ }
79
+ }
80
+
81
+ //-( big-tablet: ratio = 0.5
82
+ @container (max-width: #{$big-tablet}) {
83
+ >* {
84
+ flex-basis:#{_basis(0.5, $gap, $columns)};
85
+ }
86
+ }
87
+
88
+ //-( tablet: ratio = 0.33
89
+ @container (max-width: #{$tablet}) {
90
+ >* {
91
+ flex-basis:#{_basis(0.33, $gap, $columns)};
92
+ }
93
+ }
94
+
95
+ //-( mobile: 1 o 2 colonne
96
+ @container (max-width: #{$mobile}) {
97
+ @if $mobileTwoElements {
98
+ >* {
99
+ flex-basis:#{_basis(0.33, $gap, $columns)};
100
+ }
101
+ }
102
+
103
+ @else {
104
+ >* {
105
+ flex-basis:#{_basis(0.15, $gap, $columns)};
106
+ }
107
+ }
108
+ }
109
+
110
+ //-( mobile small / watch: sempre 1 colonna
111
+ @container (max-width: #{$watch}) {
112
+ >* {
113
+ flex-basis:#{_basis(0.15, $gap, $columns)};
114
+ }
115
+ }
116
+ }
117
+
118
+ //== adaptive flex
119
+ @mixin aFlex(
120
+ $columns: 4,
121
+ $start: var(--page-width),
122
+ $mobileTwoElements: false,
123
+ $gap: var(--gap-elements))
124
+ {
125
+ display: flex;
126
+ flex-wrap: wrap;
127
+ justify-content: center;
128
+ width: 100%;
129
+ gap: $gap;
130
+
131
+ >* {
132
+ flex: 1 0;
133
+ flex-basis: #{_basis(1, $gap, $columns)};
134
+ }
135
+
136
+ // ↓ da start (es. 1500px): ratio = 0.75
137
+ @container (max-width: #{$start}) {
138
+ >* {
139
+ flex-basis: #{_basis(0.75, $gap, $columns)};
140
+ }
141
+ }
142
+
143
+ // ↓ ~ 75% di start: ratio = 0.5
144
+ @container (max-width: #{calc($start * 0.75)}) {
145
+ >* {
146
+ flex-basis: #{_basis(0.5, $gap, $columns)};
147
+ }
148
+ }
149
+
150
+ // ↓ ~ 50% di start: ratio = 0.33
151
+ @container (max-width: #{calc($start * 0.5)}) {
152
+ >* {
153
+ flex-basis: #{_basis(0.33, $gap, $columns)};
154
+ }
155
+ }
156
+
157
+ // ↓ ~ 33% di start: mobile (1 o 2 colonne)
158
+ @container (max-width: #{calc($start * 0.33)}) {
159
+ @if $mobileTwoElements ==true {
160
+ >* {
161
+ flex-basis: #{_basis(0.33, $gap, $columns)};
162
+ }
163
+ }
164
+
165
+ @else {
166
+ >* {
167
+ flex-basis: #{_basis(0.15, $gap, $columns)};
168
+ }
169
+ }
170
+ }
171
+
172
+ // ↓ ~ 20% di start: mobile small / watch (sempre 1 colonna)
173
+ @container (max-width: #{calc($start * 0.2)}) {
174
+ >* {
175
+ flex-basis: #{_basis(0.15, $gap, $columns)};
176
+ }
177
+ }
178
+ }
179
+
180
+ //= GRID
181
+ //== responsive grid
182
+ @mixin rGrid(
183
+ $columns: 4,
184
+ $mobileTwoElements: false,
185
+ $gap: var(--gap-elements))
186
+ {
187
+ display: grid;
188
+ width: 100%;
189
+ grid-template-columns: repeat($columns, 1fr);
190
+ gap: $gap;
191
+
192
+ /// dispari
193
+ @if $columns % 2==1 {
194
+
195
+ //-( laptop
196
+ @container (max-width: #{$laptop}) {
197
+ grid-template-columns: repeat(ceil($columns * 0.75), 1fr); // 75% delle colonne originali
198
+ }
199
+
200
+ //-( big-tablet
201
+ @container (max-width: #{$big-tablet}) {
202
+ grid-template-columns: repeat(ceil($columns * 0.5), 1fr); // 50% delle colonne originali
203
+ }
204
+
205
+ //-( tablet
206
+ @container (max-width: #{$tablet}) {
207
+ grid-template-columns: repeat(ceil($columns * 0.33), 1fr); // 33% delle colonne originali
208
+ }
209
+ }
210
+
211
+ @else {
212
+
213
+ //-( laptop
214
+ @container (max-width: #{$laptop}) {
215
+ grid-template-columns: repeat(ceil($columns * 0.75), 1fr); // 75% delle colonne originali
216
+ }
217
+
218
+ //-( big-tablet
219
+ @container (max-width: #{$big-tablet}) {
220
+ grid-template-columns: repeat(ceil($columns * 0.5), 1fr); // 50% delle colonne originali
221
+ }
222
+
223
+ //-( tablet
224
+ @container (max-width: #{$tablet}) {
225
+ grid-template-columns: repeat(ceil($columns * 0.33), 1fr); // 33% delle colonne originali
226
+ }
227
+ }
228
+
229
+ //-( mobile
230
+ @container (max-width: #{$mobile}) {
231
+ grid-template-columns: 1fr; // 1 colonna
232
+ }
233
+
234
+ @if $mobileTwoElements ==true {
235
+
236
+ //-( mobile
237
+ @container (max-width: #{$mobile}) {
238
+ grid-template-columns: 1fr 1fr; // 2 colonne su mobile
239
+ }
240
+ }
241
+
242
+ //-( mobile small
243
+ @container (max-width: #{$watch}) {
244
+ grid-template-columns: 1fr; // 1 colonna su mobile small
245
+ }
246
+ }
247
+
248
+ //== adaptive Grid
249
+ @mixin aGrid(
250
+ $columns: 4,
251
+ $start: var(--page-width),
252
+ $mobileTwoElements: false,
253
+ $gap: var(--gap-elements))
254
+ {
255
+ display: grid;
256
+ width: 100%;
257
+ grid-template-columns: repeat($columns, 1fr);
258
+ gap: $gap;
259
+
260
+ //-( da 1500px
261
+ @container (max-width: #{$start}) {
262
+ grid-template-columns: repeat(ceil($columns * 0.75), 1fr);
263
+ }
264
+
265
+ //-( circa tablet landscape
266
+ @container (max-width: #{calc($start * 0.75)}) {
267
+ grid-template-columns: repeat(ceil($columns * 0.5), 1fr);
268
+ }
269
+
270
+ //-( tablet
271
+ @container (max-width: #{calc($start * 0.5)}) {
272
+ grid-template-columns: repeat(ceil($columns * 0.33), 1fr);
273
+ }
274
+
275
+ //-( mobile
276
+ @container (max-width: #{calc($start * 0.33)}) {
277
+ grid-template-columns: 1fr;
278
+ }
279
+
280
+ @if $mobileTwoElements ==true {
281
+ @container (max-width: #{calc($start * 0.33)}) {
282
+ grid-template-columns: 1fr 1fr;
283
+ }
284
+ }
285
+
286
+ //-( mobile small / watch
287
+ @container (max-width: #{calc($start * 0.2)}) {
288
+ grid-template-columns: 1fr;
289
+ }
290
+ }
291
+
292
+ // //- laptop
293
+ // @media (max-width: $laptop) {
294
+ // * {
295
+ // outline: red solid 0.1px
296
+ // }
297
+ // }
298
+
299
+ // //- tablet
300
+ // @media (max-width: $tablet) {
301
+ // * {
302
+ // outline: green solid 0.1px
303
+ // }
304
+ // }
305
+
306
+ // //- mobile
307
+ // @media (max-width: $mobile) {
308
+ // * {
309
+ // outline: blue solid 0.1px
310
+ // }
311
+ // }
312
+
313
+ // //- mobile small
314
+ // @media (max-width: $watch) {
315
+ // * {
316
+ // outline: yellow solid 0.1px
317
+ // }
318
+ // }
319
+
320
+ // //-( laptop
321
+ // @container (max-width: #{$laptop}) {
322
+ // * {
323
+ // outline: purple solid 0.1px
324
+ // }
325
+ // }
326
+
327
+ // //-( big-tablet
328
+ // @container (max-width: #{$big-tablet}) {
329
+ // * {
330
+ // outline: orange solid 0.1px
331
+ // }
332
+ // }
333
+
334
+ // //-( tablet
335
+ // @container (max-width: #{$tablet}) {
336
+ // * {
337
+ // outline: pink solid 0.1px
338
+ // }
339
+ // }
340
+
341
+ // //-( mobile
342
+ // @container (max-width: #{$mobile}) {
343
+ // * {
344
+ // outline: brown solid 0.1px
345
+ // }
346
+ // }
347
+
348
+ // //-( mobile small
349
+ // @container (max-width: #{$watch}) {
350
+ // * {
351
+ // outline: gray solid 0.1px
352
+ // }
353
+ // }
@@ -0,0 +1,147 @@
1
+ //= MAIN
2
+ @mixin main($direction: column, $gap: var(--gap-sections)) {
3
+ display: flex;
4
+ flex-direction: $direction;
5
+ gap: $gap;
6
+ align-items: flex-start;
7
+ min-height: 100svh;
8
+ isolation: isolate;
9
+ padding-block: var(--page-top);
10
+ width: 100%;
11
+ }
12
+
13
+ //= SECTION
14
+ @mixin section {
15
+ --section-width: calc(var(--page-width) + (var(--padding-page) * 2));
16
+ margin-inline: auto;
17
+ max-width: var(--section-width);
18
+ padding-inline: var(--padding-page);
19
+ position: relative;
20
+ width: 100%;
21
+ display: flex;
22
+ flex-direction: column;
23
+ gap: var(--gap-elements);
24
+ }
25
+
26
+ @mixin sectionSpecifity-child($child) {
27
+ --section-width: calc(var(--page-width) + (var(--padding-page) * 2));
28
+ width: 100%;
29
+
30
+ #{$child} {
31
+ container-type: inline-size;
32
+ margin-inline: auto;
33
+ max-width: var(--section-width);
34
+ padding-inline: var(--padding-page);
35
+ position: relative;
36
+ width: 100%;
37
+
38
+ #{$child} {
39
+ padding-inline: 0;
40
+ }
41
+ }
42
+ }
43
+
44
+ @mixin sectionMax() {
45
+ --section-width: calc(var(--page-width) + (var(--padding-page) * 2));
46
+ position: relative;
47
+ width: 100%;
48
+ padding-inline: var(--padding-page);
49
+ padding-block: calc((var(--gap-sections) /2));
50
+ margin-block: calc((var(--gap-sections) /2) * -1);
51
+
52
+ >* {
53
+ container-type: inline-size;
54
+ width: 100%;
55
+ max-width: calc(var(--section-width) - var(--padding-page)*2);
56
+ margin-inline: auto;
57
+ }
58
+ }
59
+
60
+ @mixin sectionFull() {
61
+ padding: var(--padding-page);
62
+ position: relative;
63
+ width: 100%;
64
+
65
+ >* {
66
+ container-type: inline-size;
67
+ width: 100%;
68
+ }
69
+ }
70
+
71
+ @mixin sectionNoPadding {
72
+ --section-width: var(--page-width);
73
+ margin-inline: auto;
74
+ max-width: var(--section-width);
75
+ width: 100%;
76
+ display: flex;
77
+ position: relative;
78
+ gap: var(--gap-texts);
79
+ flex-direction: column;
80
+ // //+ tablet
81
+ // @media (min-width: $tablet) {
82
+ // padding: var(--padding);
83
+ // }
84
+ }
85
+
86
+ //= ASIDE
87
+ //== SECTION ASIDE
88
+ @mixin sectionAside {
89
+ @include sectionNoPadding();
90
+ }
91
+
92
+ //== CONTAINER ASIDE
93
+ @mixin containerAside() {
94
+ --aside-width: 400px;
95
+ width: 100%;
96
+ max-width: calc(var(--section-width) + var(--aside-width));
97
+
98
+ //+ tablet
99
+ @media (min-width: $tablet) {
100
+ padding-inline: var(--padding-page);
101
+ margin-inline: auto;
102
+ @include flexRowElements();
103
+ flex-wrap: nowrap;
104
+ }
105
+
106
+ //- tablet
107
+ @media (max-width: $tablet) {
108
+ @include flexColumnElements();
109
+ padding-inline: var(--padding-page);
110
+ }
111
+ }
112
+
113
+ //== ASIDE
114
+ @mixin aside($sticky: false) {
115
+ @include flexColumn;
116
+ align-items: flex-start;
117
+ isolation: isolate;
118
+ border-radius: var(--border-radius);
119
+ width: 100%;
120
+
121
+ @if($sticky ==true) {
122
+ position: sticky;
123
+ top: var(--page-top);
124
+ }
125
+
126
+ >* {
127
+ width: 100%;
128
+ }
129
+
130
+ @at-root body:has(header[data-header-scroll=true]) #{&} {
131
+
132
+ //+ tablet
133
+ @media (min-width: $tablet) {
134
+ top: 10svh !important;
135
+ }
136
+ }
137
+
138
+ //+ tablet
139
+ @media (min-width: $tablet) {
140
+ max-width: var(--aside-width, 400px);
141
+ }
142
+
143
+ //- tablet
144
+ @media (max-width: $tablet) {
145
+ position: static;
146
+ }
147
+ }
@@ -0,0 +1,36 @@
1
+ //+ devices
2
+ $watch: 315px;
3
+ $mobile: 430px;
4
+ $big-mobile: 615px;
5
+ $tablet: 800px;
6
+ $big-tablet: 900px;
7
+ $laptop: 1100px;
8
+
9
+ @function fibonacci($n) {
10
+ $sequence: 0 1;
11
+ @for $_ from 1 through $n {
12
+ $new: nth($sequence, length($sequence)) + nth($sequence, length($sequence) - 1);
13
+ $sequence: append($sequence, $new);
14
+ }
15
+ @return nth($sequence, length($sequence));
16
+ }
17
+
18
+ $base-fibonacci-size: 0.05rem;
19
+ $h1: fibonacci(11) * $base-fibonacci-size; // 7.12rem
20
+ $h2: fibonacci(10) * $base-fibonacci-size; // 4.4rem
21
+ $h3: fibonacci(9) * $base-fibonacci-size; // 2.72rem
22
+ $h4: fibonacci(8) * $base-fibonacci-size; // 1.68rem
23
+ $h5: fibonacci(8) * $base-fibonacci-size; // 1.68rem
24
+
25
+ //= IMPORT ADVANCED
26
+ @import "mx-base";
27
+ @import "mx-responsive";
28
+ @import "mx-menu";
29
+ @import "mx-form";
30
+ @import "mx-form-addon";
31
+ @import "mx-button";
32
+ @import "mx-color";
33
+ @import "mx-semantic";
34
+ @import "mx-card";
35
+
36
+
@@ -0,0 +1,101 @@
1
+ [pgs~=cookieConsent] {
2
+ --cookie-bg: var(--color-box);
3
+ --cookie-color: var(--color-black);
4
+ --cookie-border: var(--border-complete);
5
+ position: fixed;
6
+ inset: auto 24px 24px auto;
7
+ width: min(480px, calc(100vw - 32px));
8
+ z-index: 999;
9
+ padding: var(--padding-2, 2rem);
10
+ border-radius: var(--border-radius, 16px);
11
+ border: var(--cookie-border);
12
+ background: var(--cookie-bg);
13
+ color: var(--cookie-color);
14
+ box-shadow: 0 25px 55px rgba(14, 32, 58, 0.25);
15
+ display: flex;
16
+ flex-direction: column;
17
+ gap: var(--gap-section, 1.25rem);
18
+ transition: transform 0.35s ease, opacity 0.35s ease;
19
+
20
+ &[hidden] {
21
+ display: none !important;
22
+ }
23
+
24
+ &[aria-hidden="true"] {
25
+ transform: translate3d(0, 30px, 0);
26
+ opacity: 0;
27
+ pointer-events: none;
28
+ }
29
+
30
+ &[aria-hidden="false"] {
31
+ transform: translate3d(0, 0, 0);
32
+ opacity: 1;
33
+ }
34
+
35
+ //- mobile
36
+ @media (max-width: $mobile) {
37
+ inset: auto 16px 16px 16px;
38
+ width: auto;
39
+ padding: var(--padding-2, 1.5rem);
40
+ }
41
+
42
+ i {
43
+ --fa-size: 2.5rem;
44
+ --fa-primary-color: var(--cookie-color);
45
+ --fa-secondary-color: var(--cookie-color);
46
+ --fa-secondary-opacity: 0.5;
47
+ }
48
+
49
+ h2 {
50
+ font-size: 1.45rem;
51
+ margin: 0;
52
+ }
53
+
54
+ p {
55
+ margin: 0;
56
+ line-height: 1.5;
57
+ font-size: 1.35rem;
58
+ }
59
+
60
+ button {
61
+ flex: 1;
62
+ min-width: 120px;
63
+ --button-background: color-mix(in srgb, var(--color-boxDark-transparent) 50%, var(--color-white) 50%);
64
+ border-width: 2px;
65
+ justify-content: center;
66
+ flex-basis: 200px;
67
+ }
68
+
69
+ label {
70
+ --toggle-color-thumb: var(--color-whiteFixed);
71
+ --toggle-color-rail: var(--color-blackFixed);
72
+ --toggle-color-rail-checked: var(--color-success);
73
+ align-items: center;
74
+ }
75
+
76
+ [pgs~=cookieConsent-panel] {
77
+ border: var(--border-complete);
78
+ border-radius: var(--border-radius-input, 16px);
79
+ padding: var(--padding-2, 1.5rem);
80
+ background-color: var(--color-primary-soft, rgba(0, 0, 0, 0.02));
81
+ margin-top: var(--gap-texts);
82
+
83
+ [pgs~=cookieConsent-panel-badge] {
84
+ font-size: 1.35rem;
85
+ border-radius: 999px;
86
+ padding: 0.25rem 0.75rem;
87
+ background: var(--color-success-background);
88
+ color: var(--color-success);
89
+ font-weight: 600;
90
+ overflow-wrap: normal;
91
+ width: max-content;
92
+ height: max-content;
93
+ margin-left: auto;
94
+ }
95
+ }
96
+
97
+ &[pgs~="cookieConsent-gaUnavailable"] [pgs~="cookieConsent-featureAnalytics"] label {
98
+ opacity: 0.5;
99
+ cursor: not-allowed;
100
+ }
101
+ }