@truconsent/consent-notice 0.0.5 → 0.0.7

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.
@@ -1,1185 +0,0 @@
1
- .mcm-overlay {
2
- position: fixed !important;
3
- top: 0 !important;
4
- left: 0 !important;
5
- width: 100% !important;
6
- width: 100% !important;
7
- height: 100% !important;
8
- background: var(--banner-overlay);
9
- display: flex !important;
10
- align-items: center !important;
11
- justify-content: center !important;
12
- z-index: 10000 !important;
13
- }
14
-
15
- .mcm-wrapper {
16
- position: relative;
17
- width: 90%;
18
- max-width: 550px;
19
- font-family: inherit;
20
- font-size: inherit;
21
- }
22
-
23
- .mcm-wrapper button,
24
- .mcm-wrapper input,
25
- .mcm-wrapper select,
26
- .mcm-wrapper textarea {
27
- font-family: inherit;
28
- font-size: inherit;
29
- }
30
-
31
- .mcm-container {
32
- background: var(--banner-bg);
33
- border-radius: 16px;
34
- width: 100%;
35
- max-height: 85vh;
36
- display: flex !important;
37
- flex-direction: column !important;
38
- overflow: hidden !important;
39
- position: relative;
40
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
41
- border: 1px solid var(--banner-border);
42
- }
43
-
44
- /* Close button - repositioned to float on the corner of the white box */
45
- .mcm-close-btn {
46
- position: absolute;
47
- top: -12px;
48
- right: -12px;
49
- right: -12px;
50
- width: 32px;
51
- height: 32px;
52
- background: var(--banner-bg);
53
- border: 1px solid var(--banner-border);
54
- border-radius: 50%;
55
- display: flex !important;
56
- align-items: center;
57
- justify-content: center;
58
- cursor: pointer;
59
- font-size: 22px;
60
- line-height: 1;
61
- color: var(--banner-text-muted);
62
- z-index: 10005;
63
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
64
- transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
65
- }
66
-
67
- .mcm-close-btn:hover {
68
- background: var(--banner-card-bg);
69
- color: var(--banner-text);
70
- transform: scale(1.1) rotate(90deg);
71
- border-color: var(--banner-text-muted);
72
- }
73
-
74
- .mcm-header {
75
- display: flex;
76
- align-items: center;
77
- margin-bottom: 15px;
78
- }
79
-
80
- .mcm-logo {
81
- width: 48px;
82
- height: 48px;
83
- margin-right: 10px;
84
- }
85
-
86
- .mcm-header-text h1 {
87
- margin: 0;
88
- font-size: 1.25rem;
89
- color: var(--banner-text);
90
- }
91
-
92
- .mcm-header-text p {
93
- margin: 0;
94
- font-size: 0.9rem;
95
- color: var(--banner-text-muted);
96
- }
97
-
98
- .mcm-separator {
99
- height: 1px;
100
- background: var(--banner-border);
101
- margin: 10px 0;
102
- }
103
-
104
- .mcm-body {
105
- display: grid;
106
- grid-template-columns: 1fr;
107
- gap: 10px;
108
- }
109
-
110
- .mcm-card {
111
- border: 1px solid var(--banner-border);
112
- border-radius: 4px;
113
- padding: 10px;
114
- }
115
-
116
- .mcm-card-header {
117
- display: flex;
118
- justify-content: space-between;
119
- align-items: center;
120
- }
121
-
122
- .mcm-purpose-desc {
123
- font-size: 0.9rem;
124
- color: var(--banner-text-muted);
125
- }
126
-
127
- .badge {
128
- display: inline-block;
129
- padding: 2px 8px;
130
- font-size: 0.75rem;
131
- font-weight: 600;
132
- border-radius: 4px;
133
- background: var(--banner-hover-bg);
134
- color: var(--banner-text-muted);
135
- margin-right: 5px;
136
- border: 1px solid var(--banner-border);
137
- }
138
-
139
- .badge.legitimate {
140
- background: var(--banner-info-bg);
141
- color: var(--banner-primary-color);
142
- border-color: var(--banner-info-border);
143
- }
144
-
145
- .badge.mandatory {
146
- background: var(--banner-danger-bg);
147
- color: var(--banner-danger-text);
148
- }
149
-
150
- .badge.expiry {
151
- background: var(--banner-info-bg);
152
- color: var(--banner-primary-color);
153
- }
154
-
155
- .switch {
156
- position: relative;
157
- display: inline-block;
158
- width: 40px;
159
- height: 20px;
160
- margin: 0 5px;
161
- }
162
-
163
- .switch input {
164
- opacity: 0;
165
- width: 0;
166
- height: 0;
167
- }
168
-
169
- .track {
170
- position: absolute;
171
- cursor: pointer;
172
- top: 0;
173
- left: 0;
174
- right: 0;
175
- bottom: 0;
176
- background: var(--banner-border);
177
- border-radius: 20px;
178
- }
179
-
180
- .thumb {
181
- position: absolute;
182
- content: "";
183
- height: 16px;
184
- width: 16px;
185
- left: 2px;
186
- bottom: 2px;
187
- background: var(--banner-bg);
188
- border-radius: 50%;
189
- transition: .2s;
190
- }
191
-
192
- input:checked+.track {
193
- background: var(--banner-success-text);
194
- }
195
-
196
- input:checked+.track+.thumb {
197
- transform: translateX(20px);
198
- }
199
-
200
- .toggle-label {
201
- font-size: 0.9rem;
202
- }
203
-
204
- .accordion-btn {
205
- width: 100%;
206
- background: none;
207
- border: none;
208
- color: var(--banner-text);
209
- text-align: left;
210
- padding: 8px 0;
211
- font-size: 1rem;
212
- cursor: pointer;
213
- display: flex;
214
- justify-content: space-between;
215
- align-items: center;
216
- }
217
-
218
- .panel {
219
- padding: 5px 0 10px 0;
220
- }
221
-
222
- .pill {
223
- display: inline-block;
224
- padding: 4px 8px;
225
- background: var(--banner-info-bg);
226
- color: var(--banner-primary-color);
227
- border-radius: 12px;
228
- margin: 2px;
229
- font-size: 0.8rem;
230
- }
231
-
232
- .chevron {
233
- transition: transform .3s;
234
- }
235
-
236
- .chevron.open {
237
- transform: rotate(180deg);
238
- }
239
-
240
- .mcm-btn {
241
- padding: 8px 16px;
242
- border: none;
243
- border-radius: 4px;
244
- cursor: pointer;
245
- font-size: 1rem;
246
- }
247
-
248
- .mcm-btn.reject {
249
- background: var(--banner-danger-btn);
250
- color: var(--banner-bg);
251
- margin-right: 10px;
252
- }
253
-
254
- .mcm-btn.consent {
255
- background: var(--banner-primary-color);
256
- color: var(--banner-bg);
257
- }
258
-
259
- .mcm-spinner {
260
- border: 4px solid var(--banner-border);
261
- border-top-color: var(--banner-primary-color);
262
- border-radius: 50%;
263
- width: 48px;
264
- height: 48px;
265
- animation: mcm-spin 1s linear infinite;
266
- position: fixed;
267
- top: 50%;
268
- left: 50%;
269
- transform: translate(-50%, -50%);
270
- }
271
-
272
- @keyframes mcm-spin {
273
- to {
274
- transform: rotate(360deg);
275
- }
276
- }
277
-
278
- /* Floating Card Template */
279
- .mcm-overlay.floating-card {
280
- background: transparent !important;
281
- pointer-events: none !important;
282
- align-items: flex-end !important;
283
- justify-content: flex-end !important;
284
- padding: 24px !important;
285
- }
286
-
287
- .mcm-wrapper.floating-card {
288
- pointer-events: auto !important;
289
- width: 100%;
290
- max-width: 400px;
291
- margin: 0 !important;
292
- }
293
-
294
- .mcm-wrapper.floating-card .mcm-container {
295
- max-height: 90vh;
296
- box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.2);
297
- }
298
-
299
- .mcm-wrapper.floating-card .mcm-close-btn {
300
- display: none !important;
301
- }
302
-
303
- /* Mobile adjustments for floating card */
304
- @media (max-width: 480px) {
305
- .mcm-overlay.floating-card {
306
- padding: 12px !important;
307
- }
308
-
309
- .mcm-wrapper.floating-card {
310
- max-width: calc(100% - 24px);
311
- }
312
- }
313
-
314
- /* Bottom Bar Template */
315
- .mcm-overlay.bottom-bar {
316
- background: transparent !important;
317
- pointer-events: none !important;
318
- align-items: flex-end !important;
319
- justify-content: center !important;
320
- padding: 0 !important;
321
- }
322
-
323
- .mcm-wrapper.bottom-bar {
324
- pointer-events: auto !important;
325
- width: 100% !important;
326
- max-width: 100% !important;
327
- margin: 0 !important;
328
- }
329
-
330
- .mcm-wrapper.bottom-bar .mcm-container {
331
- border-radius: 0 !important;
332
- border-top: 1px solid var(--banner-border);
333
- max-height: 50vh;
334
- box-shadow: 0 -10px 15px -3px rgba(0, 0, 0, 0.1);
335
- }
336
-
337
- .mcm-wrapper.bottom-bar .mcm-close-btn {
338
- display: none !important;
339
- }
340
-
341
- /* Mobile adjustments for bottom bar */
342
- @media (max-width: 480px) {
343
- .mcm-wrapper.bottom-bar .mcm-container {
344
- max-height: 80vh;
345
- }
346
- }
347
-
348
- .mcm-overlay.center-modal {
349
- align-items: center !important;
350
- justify-content: center !important;
351
- background: var(--banner-overlay) !important;
352
- }
353
-
354
- .mcm-wrapper.center-modal {
355
- width: 90%;
356
- max-width: 550px;
357
- }
358
-
359
- .mcm-overlay.side-panel {
360
- align-items: stretch !important;
361
- justify-content: flex-end !important;
362
- background: var(--banner-overlay) !important;
363
- }
364
-
365
- .mcm-wrapper.side-panel {
366
- width: 100%;
367
- max-width: 450px;
368
- height: 100vh;
369
- }
370
-
371
- .mcm-wrapper.side-panel .mcm-container {
372
- height: 100vh;
373
- max-height: 100vh;
374
- border-radius: 0;
375
- border-left: 1px solid var(--banner-border);
376
- }
377
-
378
- /* Mobile adjustments for side panel */
379
- @media (max-width: 480px) {
380
- .mcm-wrapper.side-panel {
381
- max-width: 100%;
382
- }
383
- }
384
-
385
- /* Cookie Summary View Styles (Phase 1 & 2 redesign) */
386
- .mcm-cookie-summary {
387
- padding: 1rem 1.25rem 0.75rem 1.25rem;
388
- display: flex;
389
- flex-direction: column;
390
- gap: 0.5rem;
391
- }
392
-
393
- .mcm-cookie-summary-title {
394
- font-size: 1rem;
395
- font-weight: 600;
396
- color: var(--banner-text);
397
- margin: 0;
398
- }
399
-
400
- .mcm-cookie-summary-text {
401
- font-size: 0.8125rem;
402
- line-height: 1.4;
403
- color: var(--banner-text-muted);
404
- margin: 0;
405
- }
406
-
407
- .mcm-cookie-summary-footer-links {
408
- display: block;
409
- font-size: 0.725rem;
410
- color: var(--banner-text-muted);
411
- margin-top: 0.25rem;
412
- line-height: 1.4;
413
- width: 100%;
414
- }
415
-
416
- .mcm-cookie-summary-footer-links.dynamic {
417
- text-align: left;
418
- }
419
-
420
- .mcm-cookie-summary-footer-links .mcm-link {
421
- color: var(--banner-text-muted);
422
- text-decoration: underline;
423
- cursor: pointer;
424
- }
425
-
426
- .mcm-cookie-summary-footer-links .mcm-link:hover {
427
- color: var(--banner-text);
428
- }
429
-
430
- .mcm-separator-pipe {
431
- color: var(--banner-border);
432
- opacity: 0.5;
433
- margin: 0 0.25rem;
434
- display: inline-block;
435
- }
436
-
437
- .mcm-powered-by {
438
- font-size: 0.625rem;
439
- color: var(--banner-text-muted);
440
- text-align: center;
441
- padding: 0.375rem;
442
- background-color: var(--banner-card-bg);
443
- border-top: 1px solid var(--banner-border);
444
- width: calc(100% + 2.5rem);
445
- /* Negate parent padding */
446
- margin-left: -1.25rem;
447
- margin-bottom: -0.75rem;
448
- border-bottom-left-radius: 1rem;
449
- border-bottom-right-radius: 1rem;
450
- }
451
-
452
- .mcm-brand {
453
- font-weight: 600;
454
- color: var(--banner-text);
455
- }
456
-
457
- .mcm-cookie-summary-actions {
458
- display: flex;
459
- flex-direction: column;
460
- gap: 0.375rem;
461
- margin-top: 0.25rem;
462
- }
463
-
464
- .mcm-summary-btn {
465
- width: 100%;
466
- padding: 0.5rem 0.65rem;
467
- border-radius: 0.5rem;
468
- font-weight: 500;
469
- font-size: 0.8125rem;
470
- cursor: pointer;
471
- transition: all 0.2s ease;
472
- border: 1px solid transparent;
473
- }
474
-
475
- .mcm-summary-btn.text {
476
- background: transparent;
477
- color: var(--banner-primary-color);
478
- border: 1px solid var(--banner-border);
479
- padding: 0.5rem 0.65rem;
480
- font-size: 0.8125rem;
481
- margin-top: 0;
482
- }
483
-
484
- .mcm-cookie-summary hr {
485
- border: 0;
486
- border-top: 1px solid var(--banner-border);
487
- margin: 0;
488
- width: 100%;
489
- }
490
-
491
-
492
-
493
- .mcm-summary-btn.primary {
494
- color: white;
495
- }
496
-
497
- .mcm-summary-btn.secondary {
498
- background-color: var(--banner-card-bg);
499
- color: var(--banner-text);
500
- border-color: var(--banner-border);
501
- }
502
-
503
-
504
-
505
- /* Template Adjustments for Summary */
506
-
507
- /* Floating Card Summary (Redacto style) */
508
- .mcm-wrapper.floating-card .mcm-cookie-summary {
509
- background: var(--banner-bg);
510
- border-radius: 1rem;
511
- }
512
-
513
- /* Bottom Bar Summary (Refined Row-based Light theme) */
514
- .mcm-wrapper.bottom-bar .mcm-container {
515
- background: var(--banner-bg);
516
- border-top: 1px solid var(--banner-border);
517
- padding-bottom: 32px;
518
- /* Increased to lift bar up */
519
- position: relative;
520
- box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05);
521
- }
522
-
523
- .mcm-wrapper.bottom-bar .mcm-cookie-summary {
524
- flex-direction: row;
525
- flex-wrap: wrap;
526
- align-items: center;
527
- justify-content: space-between;
528
- padding: 1rem 3rem 0 3rem;
529
- /* Zero bottom padding */
530
- max-width: 100%;
531
- margin: 0 auto;
532
- gap: 0.25rem 3rem;
533
- /* Minimal row gap */
534
- display: flex !important;
535
- }
536
-
537
- .mcm-wrapper.bottom-bar .mcm-cookie-summary-content {
538
- flex: 1 1 auto;
539
- min-width: 400px;
540
- text-align: left;
541
- }
542
-
543
- .mcm-wrapper.bottom-bar .mcm-cookie-summary-title {
544
- color: var(--banner-text);
545
- font-size: 1.125rem;
546
- font-weight: 800;
547
- margin-bottom: 0.25rem;
548
- line-height: 1.2;
549
- }
550
-
551
- .mcm-wrapper.bottom-bar .mcm-cookie-summary-text {
552
- color: var(--banner-text-muted);
553
- font-size: 0.875rem;
554
- line-height: 1.5;
555
- }
556
-
557
- .mcm-wrapper.bottom-bar .mcm-cookie-summary-actions {
558
- flex: 0 0 auto;
559
- flex-direction: row;
560
- align-items: center;
561
- justify-content: flex-end;
562
- gap: 1rem;
563
- margin-top: 0;
564
- display: flex !important;
565
- }
566
-
567
- .mcm-wrapper.bottom-bar .mcm-summary-btn {
568
- width: auto;
569
- min-width: 140px;
570
- padding: 0.75rem 1.5rem;
571
- white-space: nowrap;
572
- font-size: 0.875rem;
573
- }
574
-
575
- .mcm-wrapper.bottom-bar .mcm-cookie-summary-footer-links {
576
- flex: 1 1 100%;
577
- color: var(--banner-text-muted);
578
- font-size: 0.8125rem;
579
- line-height: 1.6;
580
- margin-top: 0;
581
- text-align: left;
582
- display: block !important;
583
- border-top: 1px solid var(--banner-border);
584
- padding-top: 0.375rem;
585
- /* Reduced from 0.5rem */
586
- }
587
-
588
- .mcm-wrapper.bottom-bar .mcm-cookie-summary-footer-links .mcm-link {
589
- color: var(--banner-text);
590
- text-decoration: underline;
591
- text-underline-offset: 2px;
592
- transition: all 0.2s ease;
593
- }
594
-
595
- .mcm-wrapper.bottom-bar .mcm-summary-btn.secondary {
596
- background: var(--banner-card-bg);
597
- color: var(--banner-text);
598
- border-color: var(--banner-border);
599
- }
600
-
601
- .mcm-wrapper.bottom-bar .mcm-summary-btn.text {
602
- color: var(--banner-primary-color);
603
- border: 1px solid var(--banner-border);
604
- background: var(--banner-bg);
605
- border-radius: 0.5rem;
606
- }
607
-
608
- .mcm-wrapper.bottom-bar .mcm-powered-by {
609
- position: absolute;
610
- bottom: 8px;
611
- /* Lifted up */
612
- left: 0;
613
- right: 0;
614
- background-color: var(--banner-card-bg);
615
- border-top: 1px solid var(--banner-border);
616
- color: var(--banner-text-muted);
617
- padding: 0.25rem;
618
- gap: 4px;
619
- /* Added space */
620
- font-size: 0.65rem;
621
- text-align: center;
622
- width: 100%;
623
- z-index: 10;
624
- height: 24px;
625
- /* Restored height */
626
- display: flex;
627
- align-items: center;
628
- justify-content: center;
629
- }
630
-
631
- /* Hide hr separators in bottom-bar layout */
632
- .mcm-wrapper.bottom-bar .mcm-cookie-summary hr {
633
- display: none !important;
634
- }
635
-
636
- /* Desktop override for floating card to keep it more compact */
637
- @media (min-width: 768px) {
638
- .mcm-wrapper.floating-card {
639
- max-width: 380px;
640
- bottom: 24px;
641
- right: 24px;
642
- }
643
- }
644
-
645
- /* Side Panel (Drawer) Template */
646
- .mcm-overlay.side-panel {
647
- justify-content: flex-end !important;
648
- align-items: stretch !important;
649
- }
650
-
651
- .mcm-wrapper.side-panel {
652
- width: 100%;
653
- max-width: 450px;
654
- height: 100%;
655
- max-height: 100vh;
656
- margin: 0;
657
- animation: mcm-drawer-slide-in 0.4s cubic-bezier(0.16, 1, 0.3, 1);
658
- }
659
-
660
- .mcm-wrapper.side-panel .mcm-container {
661
- height: 100%;
662
- max-height: 100vh;
663
- border-radius: 0 !important;
664
- border-left: 1px solid var(--banner-border) !important;
665
- }
666
-
667
- .mcm-wrapper.side-panel .mcm-close-btn {
668
- top: 0px !important;
669
- left: -16px !important;
670
- /* Half-inside, half-outside */
671
- background: var(--banner-bg) !important;
672
- border: 1px solid var(--banner-border) !important;
673
- }
674
-
675
- @keyframes mcm-drawer-slide-in {
676
- from {
677
- transform: translateX(100%);
678
- }
679
-
680
- to {
681
- transform: translateX(0);
682
- }
683
- }
684
-
685
- /* Responsive Side Panel */
686
- @media (max-width: 640px) {
687
- .mcm-wrapper.side-panel {
688
- max-width: 100% !important;
689
- }
690
- }
691
-
692
- /* Modern Modal Template */
693
- .mcm-wrapper.modern-modal {
694
- max-width: 750px !important;
695
- }
696
-
697
- .mcm-wrapper.modern-modal .mcm-container {
698
- border-radius: 12px !important;
699
- max-height: 90vh !important;
700
- }
701
-
702
- .mcm-wrapper.modern-modal .mcm-header {
703
- padding: 24px 24px 16px !important;
704
- border-bottom: 1px solid var(--banner-border) !important;
705
- margin-bottom: 0 !important;
706
- }
707
-
708
- .mcm-wrapper.modern-modal .mcm-header-text h1 {
709
- font-size: 1.5rem !important;
710
- font-weight: 700 !important;
711
- color: var(--banner-text) !important;
712
- }
713
-
714
- .mcm-wrapper.modern-modal .mcm-body {
715
- padding: 24px !important;
716
- gap: 16px !important;
717
- }
718
-
719
- /* Modern Card Styling */
720
- .mcm-wrapper.modern-modal .mcm-card {
721
- border: 1px solid var(--banner-border) !important;
722
- border-radius: 10px !important;
723
- padding: 20px !important;
724
- background: var(--banner-bg) !important;
725
- box-shadow: none !important;
726
- transition: border-color 0.2s ease !important;
727
- }
728
-
729
- .mcm-wrapper.modern-modal .mcm-card:hover {
730
- border-color: var(--banner-text-muted) !important;
731
- }
732
-
733
- .mcm-wrapper.modern-modal .mcm-card h3 {
734
- font-size: 1.1rem !important;
735
- font-weight: 700 !important;
736
- color: var(--banner-text) !important;
737
- }
738
-
739
- .mcm-wrapper.modern-modal .mcm-purpose-desc {
740
- font-size: 0.95rem !important;
741
- color: var(--banner-text-muted) !important;
742
- line-height: 1.6 !important;
743
- margin-top: 8px !important;
744
- }
745
-
746
- /* Modern Badge Styling */
747
- .mcm-wrapper.modern-modal .badge.mandatory {
748
- background: var(--banner-danger-bg) !important;
749
- color: var(--banner-danger-text) !important;
750
- padding: 4px 16px !important;
751
- font-size: 0.75rem !important;
752
- font-weight: 700 !important;
753
- text-transform: capitalize !important;
754
- border-radius: 9999px !important;
755
- border: none !important;
756
- }
757
-
758
- /* Modern Button Footer */
759
- .mcm-wrapper.modern-modal .mcm-action-buttons {
760
- display: flex !important;
761
- justify-content: space-between !important;
762
- align-items: center !important;
763
- padding: 20px 24px !important;
764
- background: var(--banner-bg) !important;
765
- border-top: 1px solid var(--banner-border) !important;
766
- }
767
-
768
- .mcm-wrapper.modern-modal .mcm-summary-btn {
769
- border-radius: 6px !important;
770
- font-weight: 600 !important;
771
- padding: 10px 24px !important;
772
- font-size: 0.95rem !important;
773
- }
774
-
775
- .mcm-wrapper.modern-modal .mcm-summary-btn.secondary {
776
- /* Only Essential */
777
- background: transparent !important;
778
- color: var(--banner-text) !important;
779
- border: 1px solid var(--banner-border) !important;
780
- margin-right: auto !important;
781
- }
782
-
783
- .mcm-wrapper.modern-modal .mcm-summary-btn.primary {
784
- /* Accept All */
785
- background: var(--banner-primary-color) !important;
786
- color: var(--banner-bg) !important;
787
- border: none !important;
788
- }
789
-
790
- .mcm-wrapper.modern-modal .mcm-summary-btn.save-preferences {
791
- /* Save Preferences */
792
- background: var(--banner-primary-color) !important;
793
- color: white !important;
794
- border: none !important;
795
- }
796
-
797
- /* Preferences Modal Container */
798
- .preferences-modal-content {
799
- display: flex;
800
- flex-direction: column;
801
- height: 100%;
802
- max-height: 85vh;
803
- background: var(--banner-bg);
804
- font-family: inherit;
805
- font-size: inherit;
806
- }
807
-
808
- /* Header */
809
- .preferences-header {
810
- padding: 1.5rem 1.5rem 1rem;
811
- border-bottom: 1px solid var(--banner-border);
812
- display: flex;
813
- justify-content: space-between;
814
- align-items: center;
815
- }
816
-
817
- .preferences-title {
818
- margin: 0;
819
- font-size: 1.5rem;
820
- font-weight: 700;
821
- color: var(--banner-text);
822
- }
823
-
824
- .preferences-close-btn {
825
- background: transparent;
826
- border: none;
827
- color: var(--banner-text-muted);
828
- cursor: pointer;
829
- padding: 6px;
830
- display: flex;
831
- align-items: center;
832
- justify-content: center;
833
- border-radius: 50%;
834
- transition: all 0.2s;
835
- }
836
-
837
- .preferences-close-btn:hover {
838
- color: var(--banner-text);
839
- background: var(--banner-hover-bg);
840
- }
841
-
842
- /* Hide the global close button for this layout */
843
- .mcm-wrapper.preferences-modal>.mcm-close-btn {
844
- display: none !important;
845
- }
846
-
847
- /* Intro Text */
848
- .preferences-intro {
849
- padding: 1.25rem 1.5rem;
850
- color: var(--banner-text-muted);
851
- font-size: 0.95rem;
852
- line-height: 1.6;
853
- }
854
-
855
- /* Purpose List */
856
- .preferences-purpose-list {
857
- flex: 1;
858
- overflow-y: auto;
859
- padding: 0 1.5rem 1.5rem;
860
- display: flex;
861
- flex-direction: column;
862
- gap: 1rem;
863
- }
864
-
865
- /* Purpose Card */
866
- .preferences-purpose-card {
867
- border: 1px solid var(--banner-border);
868
- border-left: 4px solid var(--banner-text);
869
- /* Left accent border */
870
- border-radius: 8px;
871
- padding: 1.25rem;
872
- background: var(--banner-bg);
873
- transition: box-shadow 0.2s ease;
874
- }
875
-
876
- .preferences-purpose-card:hover {
877
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
878
- }
879
-
880
- .preferences-purpose-header {
881
- display: flex;
882
- justify-content: space-between;
883
- align-items: center;
884
- margin-bottom: 0.75rem;
885
- }
886
-
887
- .preferences-purpose-info {
888
- flex: 1;
889
- display: flex;
890
- align-items: center;
891
- gap: 0.75rem;
892
- }
893
-
894
- .preferences-purpose-name {
895
- margin: 0;
896
- font-size: 1.125rem;
897
- font-weight: 700;
898
- color: var(--banner-text);
899
- }
900
-
901
- /* Mandatory Badge */
902
- .preferences-badge-mandatory {
903
- display: inline-block;
904
- padding: 0.25rem 0.75rem;
905
- background: var(--banner-danger-bg);
906
- /* Gray pill in image */
907
- color: var(--banner-danger-text);
908
- font-size: 0.75rem;
909
- font-weight: 600;
910
- border-radius: 9999px;
911
- text-transform: capitalize;
912
- }
913
-
914
- /* Purpose Description */
915
- .preferences-purpose-description {
916
- color: var(--banner-text-muted);
917
- font-size: 0.9rem;
918
- line-height: 1.5;
919
- margin-bottom: 0.75rem;
920
- }
921
-
922
- /* Services Used / Details Section */
923
- .preferences-details {
924
- margin-top: 0.5rem;
925
- border-top: 1px solid var(--banner-border);
926
- padding-top: 0.5rem;
927
- }
928
-
929
- .preferences-details .mcm-collapsible-btn {
930
- color: var(--banner-danger-btn) !important;
931
- /* Red text for details in image */
932
- font-size: 0.8125rem !important;
933
- font-weight: 600 !important;
934
- padding: 4px 0 !important;
935
- }
936
-
937
- /* Action Buttons */
938
- .preferences-actions {
939
- display: flex;
940
- gap: 1rem;
941
- padding: 1.25rem 1.5rem;
942
- border-top: 1px solid var(--banner-border);
943
- background: var(--banner-bg);
944
- }
945
-
946
- .preferences-btn {
947
- flex: 1;
948
- padding: 0.625rem 1.25rem;
949
- font-size: 0.875rem;
950
- font-weight: 600;
951
- border-radius: 6px;
952
- cursor: pointer;
953
- transition: all 0.2s ease;
954
- text-align: center;
955
- }
956
-
957
- /* Only Essential Button */
958
- .preferences-btn-essential {
959
- background: transparent;
960
- color: var(--banner-text-muted);
961
- border: 1px solid var(--banner-border);
962
- }
963
-
964
- .preferences-btn-essential:hover {
965
- background: var(--banner-hover-bg);
966
- border-color: var(--banner-text);
967
- }
968
-
969
- /* Save Preferences Button */
970
- .preferences-btn-save {
971
- background: var(--banner-info-bg);
972
- /* Coral from image */
973
- color: var(--banner-primary-color);
974
- border: none;
975
- }
976
-
977
- .preferences-btn-save:hover {
978
- background: var(--banner-info-bg);
979
- }
980
-
981
- /* Accept All Button */
982
- .preferences-btn-accept {
983
- background: var(--banner-primary-color);
984
- /* Green from image */
985
- color: var(--banner-bg);
986
- border: none;
987
- }
988
-
989
- .preferences-btn-accept:hover {
990
- background: var(--banner-primary-color);
991
- }
992
-
993
- /* Specific Wrapper Refinements */
994
- .mcm-wrapper.preferences-modal {
995
- max-width: 650px !important;
996
- width: 90% !important;
997
- }
998
-
999
- .mcm-wrapper.preferences-modal .mcm-container {
1000
- border-radius: 12px !important;
1001
- }
1002
-
1003
- /* Toggle Switch */
1004
- .preferences-toggle {
1005
- position: relative;
1006
- display: inline-block;
1007
- width: 44px;
1008
- height: 24px;
1009
- flex-shrink: 0;
1010
- }
1011
-
1012
- .preferences-toggle input {
1013
- opacity: 0;
1014
- width: 0;
1015
- height: 0;
1016
- }
1017
-
1018
- .preferences-toggle-slider {
1019
- position: absolute;
1020
- cursor: pointer;
1021
- top: 0;
1022
- left: 0;
1023
- right: 0;
1024
- bottom: 0;
1025
- background-color: var(--banner-border);
1026
- transition: 0.3s;
1027
- border-radius: 24px;
1028
- }
1029
-
1030
- .preferences-toggle-slider:before {
1031
- position: absolute;
1032
- content: "";
1033
- height: 18px;
1034
- width: 18px;
1035
- left: 3px;
1036
- bottom: 3px;
1037
- background-color: var(--banner-bg);
1038
- transition: 0.3s;
1039
- border-radius: 50%;
1040
- }
1041
-
1042
- .preferences-toggle input:checked+.preferences-toggle-slider {
1043
- background-color: var(--banner-success-text);
1044
- }
1045
-
1046
- .preferences-toggle input:checked+.preferences-toggle-slider:before {
1047
- transform: translateX(20px);
1048
- }
1049
-
1050
- /* Responsive */
1051
- @media (max-width: 640px) {
1052
- .preferences-actions {
1053
- flex-direction: column;
1054
- }
1055
-
1056
- .preferences-purpose-header {
1057
- flex-direction: column;
1058
- gap: 0.75rem;
1059
- align-items: flex-start;
1060
- }
1061
-
1062
- .preferences-toggle {
1063
- align-self: flex-start;
1064
- }
1065
- }
1066
-
1067
- /* Preferences Modal Footer & Actions Container */
1068
- .preferences-footer-container {
1069
- padding: 1rem 1.5rem;
1070
- border-top: 1px solid var(--banner-border);
1071
- background: var(--banner-bg);
1072
- display: flex;
1073
- flex-direction: column;
1074
- gap: 0.5rem;
1075
- }
1076
-
1077
- .preferences-footer-text {
1078
- margin-bottom: 0.5rem;
1079
- }
1080
-
1081
- .preferences-footer-container .preferences-actions {
1082
- padding: 0 !important;
1083
- border-top: none !important;
1084
- }
1085
-
1086
- /* Preferences Modal - Unified Card Component Overrides */
1087
- .preferences-purpose-card-wrapper {
1088
- margin-bottom: 0.75rem;
1089
- }
1090
-
1091
- .preferences-purpose-card-wrapper>div {
1092
- border-left: 4px solid var(--banner-text) !important;
1093
- border-radius: 8px !important;
1094
- padding: 1.25rem !important;
1095
- border: 1px solid var(--banner-border) !important;
1096
- transition: box-shadow 0.2s ease !important;
1097
- }
1098
-
1099
- .preferences-purpose-card-wrapper>div:hover {
1100
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
1101
- }
1102
-
1103
- /* Mandatory Badge Overrides */
1104
- .preferences-purpose-card-wrapper .mandatory-badge {
1105
- background: var(--banner-danger-bg) !important;
1106
- color: var(--banner-danger-text) !important;
1107
- border: none !important;
1108
- text-transform: capitalize !important;
1109
- padding: 0.125rem 0.625rem !important;
1110
- font-size: 0.725rem !important;
1111
- }
1112
-
1113
- /* Red Collapsible Links */
1114
- .preferences-purpose-card-wrapper .mcm-collapsible-btn {
1115
- color: var(--banner-danger-btn) !important;
1116
- font-size: 0.8125rem !important;
1117
- font-weight: 600 !important;
1118
- text-decoration: none !important;
1119
- }
1120
-
1121
- .preferences-purpose-card-wrapper .mcm-collapsible-btn:hover {
1122
- text-decoration: underline !important;
1123
- }
1124
-
1125
- /* Split Button Alignment */
1126
- .preferences-actions {
1127
- justify-content: space-between !important;
1128
- align-items: center !important;
1129
- }
1130
-
1131
- .preferences-actions-right {
1132
- display: flex;
1133
- gap: 1rem;
1134
- flex: 1;
1135
- justify-content: flex-end;
1136
- }
1137
-
1138
- .preferences-btn-essential {
1139
- flex: 0 1 auto !important;
1140
- min-width: 140px;
1141
- }
1142
-
1143
- .preferences-btn-save {
1144
- flex: 0 1 auto !important;
1145
- min-width: 140px;
1146
- max-width: 180px;
1147
- }
1148
-
1149
- .preferences-btn-accept {
1150
- flex: 0 1 auto !important;
1151
- min-width: 110px;
1152
- max-width: 150px;
1153
- }
1154
-
1155
- @media (max-width: 640px) {
1156
- .preferences-actions {
1157
- flex-direction: column !important;
1158
- gap: 0.75rem !important;
1159
- }
1160
-
1161
- .preferences-actions-right {
1162
- width: 100%;
1163
- flex-direction: column;
1164
- }
1165
-
1166
- .preferences-btn-essential,
1167
- .preferences-btn-save,
1168
- .preferences-btn-accept {
1169
- width: 100% !important;
1170
- max-width: none !important;
1171
- }
1172
- }
1173
-
1174
- /* Preferences Modal Logo */
1175
- .preferences-title-wrapper {
1176
- display: flex;
1177
- align-items: center;
1178
- gap: 0.75rem;
1179
- }
1180
-
1181
- .preferences-logo {
1182
- height: 24px;
1183
- width: auto;
1184
- object-fit: contain;
1185
- }