napp-wallet-post-feed-test 1.0.47

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 (56) hide show
  1. package/README.md +157 -0
  2. package/dist/0ae4e6254fc19607c79e.woff2 +0 -0
  3. package/dist/1f38a564cd9eae27ebc3.woff2 +0 -0
  4. package/dist/432.napp.bundle.js +1 -0
  5. package/dist/661bd6b7245d5205d3e1.woff2 +0 -0
  6. package/dist/Post.browser.js +24 -0
  7. package/dist/Post.js +606 -0
  8. package/dist/components/CodeSplitting.js +88 -0
  9. package/dist/components/Deeplink/Deeplink.js +813 -0
  10. package/dist/components/EditPostModal.js +916 -0
  11. package/dist/components/ErrorBoundary.js +74 -0
  12. package/dist/components/ExpandedTest/ExpandableText.js +38 -0
  13. package/dist/components/FilterDropdown.js +71 -0
  14. package/dist/components/ImagePreloader.js +1194 -0
  15. package/dist/components/Loader.js +42 -0
  16. package/dist/components/LoadingSkeletons.js +978 -0
  17. package/dist/components/MediaRenderer.js +759 -0
  18. package/dist/components/MemoryManager.js +302 -0
  19. package/dist/components/PostCard.js +446 -0
  20. package/dist/components/PostViews.js +247 -0
  21. package/dist/components/Postfeed.js +251 -0
  22. package/dist/components/Svgloader.js +231 -0
  23. package/dist/components/UploadPostModal.js +1352 -0
  24. package/dist/components/VideoPlayer.js +1304 -0
  25. package/dist/components/ViewPostModal/MediaPreloadManager.js +379 -0
  26. package/dist/components/ViewPostModal/README.md +164 -0
  27. package/dist/components/ViewPostModal/ShareModal.js +96 -0
  28. package/dist/components/ViewPostModal/VirtualPost.js +248 -0
  29. package/dist/components/ViewPostModal/useBodyScrollLock.js +42 -0
  30. package/dist/components/ViewPostModal/useDeviceDetection.js +38 -0
  31. package/dist/components/ViewPostModal/useFullscreenManager.js +43 -0
  32. package/dist/components/ViewPostModal/useNavigationManager.js +185 -0
  33. package/dist/components/ViewPostModal/usePostDataManager.js +143 -0
  34. package/dist/components/ViewPostModal/usePreloadManager.js +97 -0
  35. package/dist/components/ViewPostModal/useShareManager.js +76 -0
  36. package/dist/components/ViewPostModal.js +552 -0
  37. package/dist/components/VirtualPostFeed.js +475 -0
  38. package/dist/components/hooks/useFeedVisibility.js +72 -0
  39. package/dist/components/hooks/useIntersectionObserver.js +54 -0
  40. package/dist/components/hooks/usePerformanceMonitor.js +159 -0
  41. package/dist/components/hooks/usePostApi.js +381 -0
  42. package/dist/components/hooks/usePostState.js +116 -0
  43. package/dist/components/useImagePreloading.js +231 -0
  44. package/dist/e7461d69dbbff1310a5c.woff2 +0 -0
  45. package/dist/helper/Helper.js +504 -0
  46. package/dist/index.browser.js +5 -0
  47. package/dist/index.js +3 -0
  48. package/dist/napp.bundle.js +2 -0
  49. package/dist/napp.bundle.js.LICENSE.txt +733 -0
  50. package/dist/style/post.css +5751 -0
  51. package/dist/style/post.css.map +1 -0
  52. package/dist/style/post.purged.css +3236 -0
  53. package/dist/style/post.scss +5910 -0
  54. package/dist/utils/bootstrap.js +4 -0
  55. package/dist/utils/ffmpegLoader.js +40 -0
  56. package/package.json +70 -0
@@ -0,0 +1,3236 @@
1
+ @charset "UTF-8";
2
+ @import "https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";
3
+
4
+ svg {
5
+ transform: unset !important;
6
+ }
7
+
8
+ /* loading style */
9
+ @keyframes loadfull {
10
+ 0% {
11
+ width: 10%;
12
+ flex-grow: 0;
13
+ }
14
+ }
15
+
16
+ @keyframes placeHolderShimmer {
17
+ 0% {
18
+ background-position: -800px 0;
19
+ }
20
+
21
+ 100% {
22
+ background-position: 800px 0;
23
+ }
24
+ }
25
+
26
+ @keyframes skeletonShimmer {
27
+ 0% {
28
+ transform: translateX(-100%);
29
+ }
30
+
31
+ 100% {
32
+ transform: translateX(100%);
33
+ }
34
+ }
35
+
36
+ @keyframes skeletonPulse {
37
+
38
+ 0%,
39
+ 100% {
40
+ opacity: 1;
41
+ }
42
+
43
+ 50% {
44
+ opacity: 0.5;
45
+ }
46
+ }
47
+
48
+ @keyframes skeletonFadeIn {
49
+ 0% {
50
+ opacity: 0;
51
+ }
52
+
53
+ 100% {
54
+ opacity: 1;
55
+ }
56
+ }
57
+
58
+ /* DROPDOWN CSS */
59
+ /*Styling Selectbox*/
60
+ /* IFRAME START */
61
+ /* IFRAME CSS END*/
62
+ /* SOCIAL MEDIA SHARE START*/
63
+ @keyframes inactiveAnimation {
64
+ from {
65
+ transform: scale(1);
66
+ }
67
+
68
+ to {
69
+ transform: scale(0.8);
70
+ }
71
+ }
72
+
73
+ @keyframes like {
74
+ 0% {
75
+ transform: scale(1);
76
+ }
77
+
78
+ 50% {
79
+ transform: scale(1.3);
80
+ }
81
+
82
+ 100% {
83
+ transform: scale(1);
84
+ }
85
+ }
86
+
87
+ /* SOCIAL MEDIA SHARE END*/
88
+ /* DROPDOWN CSS */
89
+ /* SLIDER CSS START*/
90
+ @keyframes fadeIn {
91
+ 0% {
92
+ opacity: 0;
93
+ }
94
+
95
+ 100% {
96
+ opacity: 1;
97
+ }
98
+ }
99
+
100
+ @keyframes stretch-animate {
101
+ 0% {
102
+ transform: scale(1, 1);
103
+ }
104
+
105
+ 28% {
106
+ transform: scale(1.15, 0.85);
107
+ }
108
+
109
+ 50% {
110
+ transform: scale(0.9, 1.1);
111
+ }
112
+
113
+ 100% {
114
+ transform: scale(1, 1);
115
+ }
116
+ }
117
+
118
+ /* #postModal [aria-label][tooltip-position] {
119
+ position: relative;
120
+ letter-spacing: 0.1rem;
121
+ }
122
+
123
+ #postModal [aria-label][tooltip-position]::before, #postModal
124
+ [aria-label][tooltip-position]::after {
125
+ --scale: 0;
126
+ position: absolute;
127
+ font-size: 1rem;
128
+ transition: transform 100ms;
129
+ transition-timing-function: linear;
130
+ }
131
+
132
+ #postModal [aria-label][tooltip-position]:hover::before, #postModal
133
+ [aria-label][tooltip-position]:hover::after {
134
+ --scale: 1;
135
+ transition-timing-function: cubic-bezier(0.25, 0.1, 0.45, 1.93);
136
+ }
137
+
138
+ #postModal [aria-label][tooltip-position]::before {
139
+ content: attr(aria-label);
140
+ background-color: var(--tooltip-color);
141
+ padding: 0.5em;
142
+ border-radius: 0.3em;
143
+ text-align: center;
144
+ transform: scale(0);
145
+ }
146
+
147
+ #postModal [aria-label][tooltip-position]::after {
148
+ content: "";
149
+ border: var(--arrow-size) solid transparent;
150
+ }
151
+
152
+ #postModal [aria-label][tooltip-position]::before, #postModal
153
+ [aria-label][tooltip-position]::after {
154
+ --tooltip-color: #02001d;
155
+ --arrow-size: 0.5rem;
156
+ --scale: 0;
157
+ z-index: 1;
158
+ font-size: 10px;
159
+ transform: translate(var(--translate-x), var(--translate-y))
160
+ scale(var(--scale));
161
+ }
162
+
163
+ #postModal [aria-label][tooltip-position="left"]::before {
164
+ --translate-x: calc(-100% - var(--arrow-size));
165
+ --translate-y: -50%;
166
+ left: 0px;
167
+ top: 50%;
168
+ transform-origin: right center;
169
+ }
170
+
171
+ #postModal [aria-label][tooltip-position="left"]::after {
172
+ --translate-x: calc(-1 * var(--arrow-size));
173
+ --translate-y: -50%;
174
+ left: 0px;
175
+ top: 50%;
176
+ border-left-color: var(--tooltip-color);
177
+ transform-origin: right center;
178
+ } */
179
+ /* SLIDER CSS END*/
180
+ /* FEATURED POST START*/
181
+ /* FEATURED POST END*/
182
+
183
+ .video-player-container .loader {
184
+ height: 100vh;
185
+ overflow: hidden;
186
+ position: relative;
187
+ max-width: 100%;
188
+ min-width: 100%;
189
+ animation-duration: 2s;
190
+ animation-fill-mode: forwards;
191
+ animation-iteration-count: infinite;
192
+ animation-name: placeHolderShimmer;
193
+ animation-timing-function: linear;
194
+ background-color: #f6f7f8;
195
+ background: linear-gradient(to right, #232c39 8%, #2c3542 18%, #232c39 33%);
196
+ background-size: 800px 104px;
197
+ }
198
+
199
+ .post-something-modal video {
200
+ max-height: 270px !important;
201
+ }
202
+
203
+ .spinner-border {
204
+ width: 1rem;
205
+ height: 1rem;
206
+ }
207
+
208
+ .no-feed-icon {
209
+ height: 50px;
210
+ width: 50px;
211
+ border: 1px solid;
212
+ border-radius: 50%;
213
+ }
214
+
215
+ .filter-icon-wrapper .post-dropdown-actions {
216
+ font-size: 15px;
217
+ }
218
+
219
+ .filter-icon-wrapper .filter-text {
220
+ border: 3px solid #212043;
221
+ border-radius: 5px;
222
+ padding: 5px 14px;
223
+ text-decoration: none !important;
224
+ }
225
+
226
+ .filter-icon-wrapper .filter-text:hover {
227
+ border: 3px solid #525252;
228
+ border-radius: 5px;
229
+ padding: 5px 14px;
230
+ }
231
+
232
+ .filter-icon-wrapper .filter-dropdown-menu {
233
+ left: -108px !important;
234
+ }
235
+
236
+ .post-dropdown-actions {
237
+ display: inline;
238
+ transition: all 0.5s ease;
239
+ position: relative;
240
+ font-size: 20px;
241
+ color: #f5f5f5;
242
+ cursor: pointer;
243
+ padding: 0px 10px;
244
+ }
245
+
246
+ .post-dropdown-actions .select {
247
+ cursor: pointer;
248
+ display: block;
249
+ padding: 10px;
250
+ }
251
+
252
+ .post-dropdown-actions .select>i {
253
+ font-size: 13px;
254
+ cursor: pointer;
255
+ transition: all 0.3s ease-in-out;
256
+ float: right;
257
+ line-height: 20px;
258
+ }
259
+
260
+ .post-dropdown-actions:focus-visible {
261
+ outline: unset;
262
+ }
263
+
264
+ .post-dropdown-actions .post-menu-dropdown {
265
+ font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
266
+ position: absolute;
267
+ background-color: #2d2c51;
268
+ color: white;
269
+ width: 100%;
270
+ z-index: 8;
271
+ min-width: 250px;
272
+ left: -230px;
273
+ margin-top: 3px;
274
+ border-radius: 5px;
275
+ overflow: hidden;
276
+ display: none;
277
+ overflow-y: auto;
278
+ padding: 15px 10px 0px;
279
+ list-style: none;
280
+ }
281
+
282
+ .post-dropdown-actions .post-menu-dropdown li {
283
+ padding: 10px;
284
+ transition: all 0.2s ease-in-out;
285
+ cursor: pointer;
286
+ border-bottom: 2px solid #100f2e;
287
+ display: flex;
288
+ gap: 10px;
289
+ align-items: center;
290
+ font-size: 15px !important;
291
+ }
292
+
293
+ .post-dropdown-actions .post-menu-dropdown li:last-child {
294
+ border: none;
295
+ }
296
+
297
+ .post-dropdown-actions .post-menu-dropdown li:hover {
298
+ background-color: #100f2e;
299
+ border-bottom: 2px solid #3d3d3d;
300
+ }
301
+
302
+ .post-dropdown-actions:focus {
303
+ border: none;
304
+ }
305
+
306
+ #deep-link-post-modal .slick-slide>div:first-child {
307
+ text-align: unset !important;
308
+ }
309
+
310
+ #deep-link-post-modal .video-player-container video {
311
+ height: 100dvh !important;
312
+ -o-object-fit: contain !important;
313
+ object-fit: contain !important;
314
+ }
315
+
316
+ #deep-link-post-modal .modal-content {
317
+ background: #100f2e;
318
+ border: 0px;
319
+ }
320
+
321
+ #deep-link-post-modal .modal-content .modal-body {
322
+ background-color: #100f2e;
323
+ }
324
+
325
+ #deep-link-post-modal .btn-close {
326
+ filter: invert(1);
327
+ position: absolute;
328
+ right: 2.5%;
329
+ top: 3%;
330
+ z-index: 1;
331
+ }
332
+
333
+ #deep-link-post-modal .modal-header {
334
+ padding: 0px !important;
335
+ border: 0px !important;
336
+ }
337
+
338
+ /* Enhanced Video Player Styling */
339
+
340
+ /* Video Controls Overlay */
341
+ .video-controls-overlay {
342
+ position: absolute;
343
+ top: 0;
344
+ left: 0;
345
+ right: 0;
346
+ bottom: 0;
347
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 30%, transparent 70%, rgba(0, 0, 0, 0.3) 100%);
348
+ z-index: 10;
349
+ transition: opacity 0.3s ease;
350
+ pointer-events: none;
351
+ }
352
+
353
+ .video-controls-overlay:hover {
354
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, transparent 20%, transparent 80%, rgba(0, 0, 0, 0.4) 100%);
355
+ }
356
+
357
+ /* Center Play/Pause Button */
358
+ .video-center-controls {
359
+ position: absolute;
360
+ top: 50%;
361
+ left: 50%;
362
+ transform: translate(-50%, -50%);
363
+ pointer-events: auto;
364
+ z-index: 20;
365
+ }
366
+
367
+ .video-play-pause-btn {
368
+ width: 80px;
369
+ height: 80px;
370
+ border-radius: 50%;
371
+ background: rgba(0, 0, 0, 0.7);
372
+ border: 3px solid rgba(255, 255, 255, 0.8);
373
+ color: white;
374
+ font-size: 28px;
375
+ cursor: pointer;
376
+ display: flex;
377
+ align-items: center;
378
+ justify-content: center;
379
+ transition: all 0.3s ease;
380
+ -webkit-backdrop-filter: blur(10px);
381
+ backdrop-filter: blur(10px);
382
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
383
+ }
384
+
385
+ .video-play-pause-btn:hover {
386
+ background: rgba(0, 0, 0, 0.9);
387
+ border-color: white;
388
+ transform: scale(1.1);
389
+ box-shadow: 0 6px 30px rgba(0, 0, 0, 0.7);
390
+ }
391
+
392
+ .video-play-pause-btn:active {
393
+ transform: scale(0.95);
394
+ }
395
+
396
+ .video-play-pause-btn i {
397
+ margin-left: 4px;
398
+ }
399
+
400
+ /* Bottom Controls Bar */
401
+ .video-controls-bar {
402
+ position: absolute;
403
+ bottom: 0;
404
+ left: 0;
405
+ right: 0;
406
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
407
+ padding: 15px 20px 20px;
408
+ pointer-events: auto;
409
+ }
410
+
411
+ /* Progress Container */
412
+ .video-progress-container {
413
+ margin-bottom: 12px;
414
+ }
415
+
416
+ .video-progress-track {
417
+ position: relative;
418
+ height: 6px;
419
+ background: rgba(255, 255, 255, 0.3);
420
+ border-radius: 3px;
421
+ cursor: pointer;
422
+ transition: height 0.2s ease;
423
+ }
424
+
425
+ .video-progress-track:hover {
426
+ height: 8px;
427
+ }
428
+
429
+ .video-progress-buffer {
430
+ position: absolute;
431
+ top: 0;
432
+ left: 0;
433
+ height: 100%;
434
+ background: rgba(255, 255, 255, 0.2);
435
+ border-radius: 3px;
436
+ transition: width 0.2s ease;
437
+ }
438
+
439
+ .video-progress-played {
440
+ position: absolute;
441
+ top: 0;
442
+ left: 0;
443
+ height: 100%;
444
+ background: linear-gradient(90deg, #007bff, #00d4ff);
445
+ border-radius: 3px;
446
+ transition: width 0.1s ease;
447
+ }
448
+
449
+ .video-progress-thumb {
450
+ position: absolute;
451
+ top: 50%;
452
+ transform: translate(-50%, -50%);
453
+ width: 14px;
454
+ height: 14px;
455
+ background: white;
456
+ border-radius: 50%;
457
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
458
+ opacity: 0;
459
+ transition: opacity 0.2s ease;
460
+ }
461
+
462
+ .video-progress-track:hover .video-progress-thumb {
463
+ opacity: 1;
464
+ }
465
+
466
+ /* Controls Row */
467
+ .video-controls-row {
468
+ display: flex;
469
+ justify-content: space-between;
470
+ align-items: center;
471
+ }
472
+
473
+ .video-controls-left,
474
+ .video-controls-right {
475
+ display: flex;
476
+ align-items: center;
477
+ gap: 12px;
478
+ }
479
+
480
+ /* Control Buttons */
481
+ .video-control-btn {
482
+ width: 44px;
483
+ height: 44px;
484
+ border: none;
485
+ border-radius: 50%;
486
+ background: rgba(255, 255, 255, 0.1);
487
+ color: white;
488
+ font-size: 16px;
489
+ cursor: pointer;
490
+ display: flex;
491
+ align-items: center;
492
+ justify-content: center;
493
+ transition: all 0.3s ease;
494
+ -webkit-backdrop-filter: blur(10px);
495
+ backdrop-filter: blur(10px);
496
+ }
497
+
498
+ .video-control-btn:hover {
499
+ background: rgba(255, 255, 255, 0.2);
500
+ transform: scale(1.1);
501
+ }
502
+
503
+ .video-control-btn:active {
504
+ transform: scale(0.95);
505
+ }
506
+
507
+ .video-control-btn.video-play-btn i {
508
+ margin-left: 2px;
509
+ }
510
+
511
+ /* Time Display */
512
+ .video-time-display {
513
+ display: flex;
514
+ align-items: center;
515
+ color: white;
516
+ font-size: 14px;
517
+ font-weight: 500;
518
+ font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
519
+ text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
520
+ }
521
+
522
+ .video-current-time {
523
+ color: #fff;
524
+ }
525
+
526
+ .video-time-separator {
527
+ margin: 0 4px;
528
+ opacity: 0.7;
529
+ }
530
+
531
+ .video-duration {
532
+ color: rgba(255, 255, 255, 0.8);
533
+ }
534
+
535
+ /* Mobile Responsive */
536
+ @media (max-width: 768px) {
537
+ .video-play-pause-btn {
538
+ width: 60px;
539
+ height: 60px;
540
+ font-size: 20px;
541
+ }
542
+
543
+ .video-controls-bar {
544
+ padding: 10px 15px 15px;
545
+ }
546
+
547
+ .video-control-btn {
548
+ width: 36px;
549
+ height: 36px;
550
+ font-size: 14px;
551
+ }
552
+
553
+ .video-time-display {
554
+ font-size: 12px;
555
+ }
556
+
557
+ .video-progress-track {
558
+ height: 4px;
559
+ }
560
+
561
+ .video-progress-track:hover {
562
+ height: 6px;
563
+ }
564
+
565
+ .video-progress-thumb {
566
+ width: 12px;
567
+ height: 12px;
568
+ }
569
+ }
570
+
571
+ @media (max-width: 480px) {
572
+
573
+ .video-controls-left,
574
+ .video-controls-right {
575
+ gap: 8px;
576
+ }
577
+
578
+ .video-control-btn {
579
+ width: 32px;
580
+ height: 32px;
581
+ font-size: 12px;
582
+ }
583
+ }
584
+
585
+ /* Spin animation */
586
+ @keyframes spin {
587
+ 0% {
588
+ transform: rotate(0deg);
589
+ }
590
+
591
+ 100% {
592
+ transform: rotate(360deg);
593
+ }
594
+ }
595
+
596
+ /* Fade in animation */
597
+ @keyframes fadeIn {
598
+ from {
599
+ opacity: 0;
600
+ }
601
+
602
+ to {
603
+ opacity: 1;
604
+ }
605
+ }
606
+
607
+ @media only screen and (max-width: 767.98px) {
608
+ #post-section {
609
+ padding: 100px 0px !important;
610
+ }
611
+ }
612
+
613
+ @media (max-width: 575.98px) {
614
+
615
+ #deep-link-post-modal .modal-dialog .modal-header {
616
+ padding: 15px 15px !important;
617
+ background: #100f2e;
618
+ }
619
+ }
620
+
621
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item:nth-child(1) {
622
+ grid-column: 1;
623
+ grid-row: 1/3;
624
+ height: auto;
625
+ }
626
+
627
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item:nth-child(2) {
628
+ grid-column: 2;
629
+ grid-row: 1;
630
+ }
631
+
632
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item:nth-child(3) {
633
+ grid-column: 2;
634
+ grid-row: 2;
635
+ }
636
+
637
+ .post-something-modal .modal-content {
638
+ background-color: #1a1a2e;
639
+ color: #ffffff;
640
+ }
641
+
642
+ .post-something-modal .post-title {
643
+ background-color: #16213e;
644
+ color: #ffffff;
645
+ border: 1px solid #2a2885;
646
+ }
647
+
648
+ .post-something-modal .post-title:focus {
649
+ background-color: #16213e;
650
+ color: #ffffff;
651
+ border-color: #4a3aff;
652
+ box-shadow: 0 0 0 0.25rem rgba(74, 58, 255, 0.25);
653
+ }
654
+
655
+ .post-something-modal .focused-img {
656
+ width: 100%;
657
+ height: 400px;
658
+ -o-object-fit: contain;
659
+ object-fit: contain;
660
+ background-color: #000;
661
+ }
662
+
663
+ .post-something-modal .modal-header {
664
+ background-color: #100f2e !important;
665
+ }
666
+
667
+ .post-something-modal .modal-content,
668
+ .post-something-modal .edit-post-modal .modal-content {
669
+ background-color: #100f2e !important;
670
+ color: white;
671
+ }
672
+
673
+ .post-something-modal .modal-content .modal-header,
674
+ .post-something-modal .edit-post-modal .modal-content {
675
+ border: 0px;
676
+ }
677
+
678
+ .post-something-modal .modal-content .modal-footer,
679
+ .post-something-modal .edit-post-modal .modal-content .modal-footer {
680
+ border-color: #02001d;
681
+ margin-top: 15px;
682
+ }
683
+
684
+ .post-something-modal .modal-content .btn-close,
685
+ .post-something-modal .edit-post-modal .modal-content .btn-close {
686
+ filter: invert(1);
687
+ }
688
+
689
+ .post-something-modal .modal-content .btn-close:focus,
690
+ .post-something-modal .edit-post-modal .modal-content .btn-close:focus {
691
+ box-shadow: unset;
692
+ }
693
+
694
+
695
+ .post-something-modal .modal-content input,
696
+ .post-something-modal .edit-post-modal .modal-content input {
697
+ background-color: #221f3e !important;
698
+ color: white;
699
+ }
700
+
701
+ .post-something-modal .modal-content .modal-body .post-title::-moz-placeholder,
702
+ .post-something-modal .edit-post-modal .modal-content .modal-body .post-title::-moz-placeholder {
703
+ color: rgb(185, 181, 181) !important;
704
+ }
705
+
706
+
707
+ .post-something-modal .modal-content .modal-body .post-title::placeholder,
708
+ .post-something-modal .edit-post-modal .modal-content .modal-body .post-title::placeholder {
709
+ color: rgb(185, 181, 181) !important;
710
+ }
711
+
712
+ .post-something-modal .enhanced-modal-header {
713
+ background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
714
+ border-bottom: 2px solid #4a3aff;
715
+ padding: 1.5rem 2rem;
716
+ position: relative;
717
+ }
718
+
719
+ .post-something-modal .enhanced-modal-header .modal-title {
720
+ color: #ffffff;
721
+ font-weight: 600;
722
+ font-size: 1.5rem;
723
+ }
724
+
725
+ .post-something-modal .enhanced-modal-header .modal-title i {
726
+ color: #4a3aff;
727
+ }
728
+
729
+ .post-something-modal .enhanced-modal-header .enhanced-close-btn {
730
+ background: rgba(255, 255, 255, 0.1);
731
+ border: 2px solid rgba(255, 255, 255, 0.2);
732
+ border-radius: 8px;
733
+ padding: 0.5rem 0.75rem;
734
+ font-weight: 600;
735
+ color: #ffffff;
736
+ transition: all 0.3s ease;
737
+ }
738
+
739
+ .post-something-modal .enhanced-modal-header .enhanced-close-btn:hover {
740
+ background: rgba(255, 255, 255, 0.2);
741
+ border-color: rgba(255, 255, 255, 0.4);
742
+ transform: translateY(-2px);
743
+ box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
744
+ }
745
+
746
+ .post-something-modal .enhanced-modal-header .enhanced-close-btn:focus {
747
+ box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25);
748
+ }
749
+
750
+ .post-something-modal .enhanced-modal-header .enhanced-post-btn {
751
+ background: linear-gradient(135deg, #4a3aff 0%, #6c5ce7 100%);
752
+ border: none;
753
+ border-radius: 8px;
754
+ padding: 0.5rem 0.75rem;
755
+ font-weight: 600;
756
+ box-shadow: 0 4px 15px rgba(74, 58, 255, 0.3);
757
+ transition: all 0.3s ease;
758
+ }
759
+
760
+ .post-something-modal .enhanced-modal-header .enhanced-post-btn:hover:not(:disabled) {
761
+ transform: translateY(-2px);
762
+ box-shadow: 0 6px 20px rgba(74, 58, 255, 0.4);
763
+ }
764
+
765
+ .post-something-modal .enhanced-modal-header .enhanced-post-btn:disabled {
766
+ opacity: 0.7;
767
+ transform: none;
768
+ }
769
+
770
+ .post-something-modal .enhanced-modal-header .btn-close {
771
+ position: absolute !important;
772
+ top: 1rem !important;
773
+ right: 1rem !important;
774
+ background: rgba(255, 255, 255, 0.1) !important;
775
+ border: 2px solid rgba(255, 255, 255, 0.2) !important;
776
+ border-radius: 50% !important;
777
+ width: 40px !important;
778
+ height: 40px !important;
779
+ display: flex !important;
780
+ align-items: center !important;
781
+ justify-content: center !important;
782
+ opacity: 1 !important;
783
+ transition: all 0.3s ease !important;
784
+ z-index: 10 !important;
785
+ margin: 0 !important;
786
+ padding: 0 !important;
787
+ box-shadow: none !important;
788
+ background-image: none !important;
789
+ }
790
+
791
+ .post-something-modal .enhanced-modal-header .btn-close:hover {
792
+ background: rgba(255, 255, 255, 0.2) !important;
793
+ border-color: rgba(255, 255, 255, 0.4) !important;
794
+ transform: scale(1.1) !important;
795
+ opacity: 1 !important;
796
+ }
797
+
798
+ .post-something-modal .enhanced-modal-header .btn-close:focus {
799
+ box-shadow: 0 0 0 0.25rem rgba(74, 58, 255, 0.25) !important;
800
+ opacity: 1 !important;
801
+ }
802
+
803
+ .post-something-modal .enhanced-modal-header .btn-close::before {
804
+ content: "×" !important;
805
+ color: #ffffff !important;
806
+ font-size: 1.5rem !important;
807
+ font-weight: bold !important;
808
+ line-height: 1 !important;
809
+ display: block !important;
810
+ }
811
+
812
+ .post-something-modal .enhanced-modal-body {
813
+ background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1e 100%);
814
+ padding: 2rem;
815
+ }
816
+
817
+ .post-something-modal .enhanced-alert {
818
+ border-radius: 12px;
819
+ border: none;
820
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
821
+ margin-bottom: 1.5rem;
822
+ }
823
+
824
+ .post-something-modal .enhanced-alert.alert-danger {
825
+ background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);
826
+ color: white;
827
+ }
828
+
829
+ .post-something-modal .enhanced-alert.alert-info {
830
+ background: linear-gradient(135deg, #4a3aff 0%, #6c5ce7 100%);
831
+ color: white;
832
+ }
833
+
834
+ .post-something-modal .enhanced-alert .badge {
835
+ background: rgba(255, 255, 255, 0.2) !important;
836
+ color: white !important;
837
+ }
838
+
839
+ .post-something-modal .enhanced-progress {
840
+ height: 8px;
841
+ border-radius: 10px;
842
+ background: rgba(255, 255, 255, 0.1);
843
+ }
844
+
845
+ .post-something-modal .enhanced-progress .progress-bar {
846
+ background: linear-gradient(90deg, #4a3aff 0%, #6c5ce7 100%);
847
+ border-radius: 10px;
848
+ }
849
+
850
+ .post-something-modal .enhanced-form-section {
851
+ background: rgba(255, 255, 255, 0.02);
852
+ border-radius: 16px;
853
+ padding: 2rem;
854
+ margin-bottom: 2rem;
855
+ border: 1px solid rgba(74, 58, 255, 0.1);
856
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
857
+ }
858
+
859
+ .post-something-modal .enhanced-floating-label .form-control {
860
+ background: rgba(22, 33, 62, 0.8);
861
+ border: 2px solid rgba(74, 58, 255, 0.2);
862
+ border-radius: 8px;
863
+ color: #ffffff;
864
+ transition: all 0.3s ease;
865
+ }
866
+
867
+ .post-something-modal .enhanced-floating-label .form-control:focus {
868
+ background: rgba(22, 33, 62, 0.9);
869
+ border-color: #4a3aff;
870
+ box-shadow: 0 0 0 0.25rem rgba(74, 58, 255, 0.25);
871
+ }
872
+
873
+ .post-something-modal .enhanced-media-section {
874
+ background: rgba(255, 255, 255, 0.02);
875
+ border-radius: 16px;
876
+ padding: 2rem;
877
+ border: 1px solid rgba(74, 58, 255, 0.1);
878
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
879
+ }
880
+
881
+ .post-something-modal .enhanced-upload-btn {
882
+ background: linear-gradient(135deg, rgba(74, 58, 255, 0.1) 0%, rgba(108, 92, 231, 0.1) 100%);
883
+ border: 2px dashed #4a3aff;
884
+ border-radius: 16px;
885
+ padding: 2rem;
886
+ color: #4a3aff;
887
+ font-weight: 600;
888
+ transition: all 0.3s ease;
889
+ }
890
+
891
+ .post-something-modal .enhanced-upload-btn:hover:not(:disabled) {
892
+ background: linear-gradient(135deg, rgba(74, 58, 255, 0.2) 0%, rgba(108, 92, 231, 0.2) 100%);
893
+ border-color: #6c5ce7;
894
+ transform: translateY(-2px);
895
+ box-shadow: 0 8px 25px rgba(74, 58, 255, 0.3);
896
+ }
897
+
898
+ .post-something-modal .enhanced-upload-btn:disabled {
899
+ opacity: 0.5;
900
+ transform: none;
901
+ }
902
+
903
+ .post-something-modal .enhanced-upload-btn i {
904
+ font-size: 1.5rem;
905
+ margin-bottom: 0.5rem;
906
+ }
907
+
908
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid {
909
+ display: grid;
910
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
911
+ gap: 1.5rem;
912
+ margin-top: 1rem;
913
+ }
914
+
915
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.single-item {
916
+ grid-template-columns: 1fr;
917
+ max-width: 100%;
918
+ margin: 1rem 0;
919
+ }
920
+
921
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.two-items {
922
+ grid-template-columns: 1fr 1fr;
923
+ gap: 2rem;
924
+ max-width: 800px;
925
+ margin: 1rem auto;
926
+ }
927
+
928
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.three-items {
929
+ gap: 1.5rem;
930
+ }
931
+
932
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.four-plus-items {
933
+ grid-template-columns: 1fr 1fr 1fr;
934
+ gap: 1.5rem;
935
+ }
936
+
937
+ @media (max-width: 992px) {
938
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid {
939
+ grid-template-columns: 1fr 1fr;
940
+ gap: 1.5rem;
941
+ }
942
+
943
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.three-items {
944
+ grid-template-columns: 1fr 1fr;
945
+ }
946
+
947
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.three-items .enhanced-media-grid-item:last-child {
948
+ grid-column: 1/-1;
949
+ justify-self: center;
950
+ max-width: 300px;
951
+ }
952
+
953
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.four-plus-items {
954
+ grid-template-columns: 1fr 1fr;
955
+ }
956
+ }
957
+
958
+ @media (max-width: 768px) {
959
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid {
960
+ grid-template-columns: 1fr;
961
+ gap: 1rem;
962
+ justify-items: center;
963
+ }
964
+
965
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.single-item,
966
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.two-items,
967
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.three-items,
968
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid.four-plus-items {
969
+ grid-template-columns: 1fr;
970
+ max-width: none;
971
+ margin: 1rem 0;
972
+ }
973
+ }
974
+
975
+ @media (max-width: 480px) {
976
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid {
977
+ grid-template-columns: 1fr;
978
+ gap: 1rem;
979
+ }
980
+ }
981
+
982
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item {
983
+ position: relative;
984
+ border-radius: 16px;
985
+ overflow: hidden;
986
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
987
+ transition: all 0.3s ease;
988
+ background: #000;
989
+ border: 2px solid transparent;
990
+ display: flex;
991
+ flex-direction: column;
992
+ }
993
+
994
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item:hover {
995
+ transform: translateY(-4px);
996
+ box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
997
+ }
998
+
999
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item.selected-thumbnail {
1000
+ border-color: #4a3aff;
1001
+ box-shadow: 0 0 0 2px rgba(74, 58, 255, 0.3), 0 8px 25px rgba(0, 0, 0, 0.3);
1002
+ }
1003
+
1004
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item.selected-thumbnail::before {
1005
+ content: "";
1006
+ position: absolute;
1007
+ top: 0;
1008
+ left: 0;
1009
+ right: 0;
1010
+ bottom: 0;
1011
+ background: linear-gradient(45deg, rgba(74, 58, 255, 0.1) 0%, rgba(108, 92, 231, 0.1) 100%);
1012
+ pointer-events: none;
1013
+ z-index: 1;
1014
+ }
1015
+
1016
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item.edit-mode {
1017
+ border-color: rgba(255, 193, 7, 0.3);
1018
+ }
1019
+
1020
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item.edit-mode:hover {
1021
+ border-color: rgba(255, 193, 7, 0.6);
1022
+ box-shadow: 0 8px 25px rgba(255, 193, 7, 0.2);
1023
+ }
1024
+
1025
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item.edit-mode.selected-thumbnail {
1026
+ border-color: #4a3aff;
1027
+ box-shadow: 0 0 0 2px rgba(74, 58, 255, 0.3), 0 8px 25px rgba(0, 0, 0, 0.3);
1028
+ }
1029
+
1030
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item.edit-mode.selected-thumbnail::before {
1031
+ content: "";
1032
+ position: absolute;
1033
+ top: 0;
1034
+ left: 0;
1035
+ right: 0;
1036
+ bottom: 0;
1037
+ background: linear-gradient(45deg, rgba(74, 58, 255, 0.1) 0%, rgba(108, 92, 231, 0.1) 100%);
1038
+ pointer-events: none;
1039
+ z-index: 1;
1040
+ }
1041
+
1042
+ .post-something-modal .enhanced-media-preview .enhanced-media-grid-item.edit-mode.selected-thumbnail:hover {
1043
+ border-color: #4a3aff;
1044
+ box-shadow: 0 0 0 2px rgba(74, 58, 255, 0.5), 0 8px 25px rgba(0, 0, 0, 0.3);
1045
+ }
1046
+
1047
+ .post-something-modal .enhanced-media-preview .thumbnail-indicator {
1048
+ position: absolute;
1049
+ top: 12px;
1050
+ right: 12px;
1051
+ background: linear-gradient(135deg, #4a3aff 0%, #6c5ce7 100%);
1052
+ color: white;
1053
+ padding: 0.5rem 0.75rem;
1054
+ border-radius: 20px;
1055
+ font-size: 0.75rem;
1056
+ font-weight: 600;
1057
+ display: flex;
1058
+ align-items: center;
1059
+ gap: 0.25rem;
1060
+ z-index: 3;
1061
+ box-shadow: 0 2px 8px rgba(74, 58, 255, 0.3);
1062
+ animation: pulse 2s infinite;
1063
+ }
1064
+
1065
+ .post-something-modal .enhanced-media-preview .thumbnail-indicator i {
1066
+ font-size: 0.875rem;
1067
+ }
1068
+
1069
+ @keyframes pulse {
1070
+
1071
+ 0%,
1072
+ 100% {
1073
+ transform: scale(1);
1074
+ }
1075
+
1076
+ 50% {
1077
+ transform: scale(1.05);
1078
+ }
1079
+ }
1080
+
1081
+ .post-something-modal .enhanced-media-preview .enhanced-media-container {
1082
+ width: 100%;
1083
+ height: 250px;
1084
+ display: flex;
1085
+ align-items: center;
1086
+ justify-content: center;
1087
+ background: #000;
1088
+ border-radius: 16px;
1089
+ overflow: hidden;
1090
+ }
1091
+
1092
+ .post-something-modal .enhanced-media-preview .enhanced-media-container img,
1093
+ .post-something-modal .enhanced-media-preview .enhanced-media-container video {
1094
+ width: 100%;
1095
+ height: 100%;
1096
+ -o-object-fit: cover;
1097
+ object-fit: cover;
1098
+ border-radius: 16px;
1099
+ transition: transform 0.3s ease;
1100
+ }
1101
+
1102
+ .post-something-modal .enhanced-media-preview .enhanced-media-container video {
1103
+ -o-object-fit: contain;
1104
+ object-fit: contain;
1105
+ }
1106
+
1107
+ .post-something-modal .enhanced-media-preview .enhanced-media-container:hover img,
1108
+ .post-something-modal .enhanced-media-preview .enhanced-media-container:hover video {
1109
+ transform: scale(1.05);
1110
+ }
1111
+
1112
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls {
1113
+ position: absolute;
1114
+ bottom: 0;
1115
+ left: 0;
1116
+ right: 0;
1117
+ background: rgba(0, 0, 0, 0.8);
1118
+ padding: 1rem;
1119
+ display: flex;
1120
+ gap: 0.75rem;
1121
+ justify-content: center;
1122
+ align-items: center;
1123
+ z-index: 2;
1124
+ border-radius: 0 0 16px 16px;
1125
+ }
1126
+
1127
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-thumbnail-btn,
1128
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-delete-btn {
1129
+ border-radius: 8px;
1130
+ padding: 0.5rem 1rem;
1131
+ font-weight: 600;
1132
+ transition: all 0.3s ease;
1133
+ min-width: 100px;
1134
+ font-size: 0.875rem;
1135
+ flex: 1;
1136
+ }
1137
+
1138
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-thumbnail-btn:hover,
1139
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-delete-btn:hover {
1140
+ transform: translateY(-2px);
1141
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
1142
+ }
1143
+
1144
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-thumbnail-btn i,
1145
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-delete-btn i {
1146
+ font-size: 1rem;
1147
+ }
1148
+
1149
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-thumbnail-btn small,
1150
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-delete-btn small {
1151
+ font-size: 0.75rem;
1152
+ margin-top: 0.25rem;
1153
+ }
1154
+
1155
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-thumbnail-btn.active {
1156
+ background: linear-gradient(135deg, #00b894 0%, #00a085 100%);
1157
+ border-color: #00b894;
1158
+ color: white;
1159
+ box-shadow: 0 4px 15px rgba(0, 184, 148, 0.3);
1160
+ }
1161
+
1162
+ .post-something-modal .enhanced-media-preview .enhanced-media-controls .enhanced-delete-btn:hover {
1163
+ background: #ff6b6b;
1164
+ border-color: #ff6b6b;
1165
+ color: white;
1166
+ box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
1167
+ }
1168
+
1169
+ .post-something-modal .enhanced-empty-state {
1170
+ background: rgba(255, 255, 255, 0.02);
1171
+ border: 2px dashed rgba(74, 58, 255, 0.3);
1172
+ border-radius: 16px;
1173
+ padding: 3rem;
1174
+ }
1175
+
1176
+ .post-something-modal .enhanced-empty-state i {
1177
+ opacity: 0.5;
1178
+ }
1179
+
1180
+ @media (max-width: 768px) {
1181
+ .post-something-modal .enhanced-modal-header {
1182
+ padding: 1rem;
1183
+ flex-direction: column;
1184
+ gap: 1rem;
1185
+ }
1186
+
1187
+ .post-something-modal .enhanced-modal-header .modal-title {
1188
+ font-size: 1.25rem;
1189
+ }
1190
+
1191
+ .post-something-modal .enhanced-modal-header .d-flex.gap-2 {
1192
+ width: 100%;
1193
+ gap: 1rem;
1194
+ }
1195
+
1196
+ .post-something-modal .enhanced-modal-header .enhanced-close-btn,
1197
+ .post-something-modal .enhanced-modal-header .enhanced-post-btn {
1198
+ flex: 1;
1199
+ padding: 0.75rem 1rem;
1200
+ }
1201
+
1202
+ .post-something-modal .enhanced-modal-body {
1203
+ padding: 1rem;
1204
+ }
1205
+
1206
+ .post-something-modal .enhanced-form-section,
1207
+ .post-something-modal .enhanced-media-section {
1208
+ padding: 1.5rem;
1209
+ margin-bottom: 1.5rem;
1210
+ }
1211
+
1212
+ .post-something-modal .enhanced-upload-btn {
1213
+ padding: 1.5rem;
1214
+ }
1215
+
1216
+ .post-something-modal .enhanced-upload-btn i {
1217
+ font-size: 1.25rem;
1218
+ }
1219
+
1220
+ .post-something-modal .enhanced-media-container {
1221
+ height: 200px;
1222
+ }
1223
+
1224
+ .post-something-modal .enhanced-media-controls {
1225
+ padding: 0.75rem;
1226
+ gap: 0.5rem;
1227
+ }
1228
+
1229
+ .post-something-modal .enhanced-media-controls .enhanced-thumbnail-btn,
1230
+ .post-something-modal .enhanced-media-controls .enhanced-delete-btn {
1231
+ min-width: 80px;
1232
+ padding: 0.375rem 0.75rem;
1233
+ font-size: 0.75rem;
1234
+ }
1235
+
1236
+ .post-something-modal .enhanced-media-controls .enhanced-thumbnail-btn i,
1237
+ .post-something-modal .enhanced-media-controls .enhanced-delete-btn i {
1238
+ font-size: 0.875rem;
1239
+ }
1240
+
1241
+ .post-something-modal .enhanced-media-controls .enhanced-thumbnail-btn small,
1242
+ .post-something-modal .enhanced-media-controls .enhanced-delete-btn small {
1243
+ font-size: 0.625rem;
1244
+ }
1245
+
1246
+ .post-something-modal .thumbnail-indicator {
1247
+ top: 8px;
1248
+ right: 8px;
1249
+ padding: 0.375rem 0.5rem;
1250
+ font-size: 0.625rem;
1251
+ }
1252
+
1253
+ .post-something-modal .thumbnail-indicator i {
1254
+ font-size: 0.75rem;
1255
+ }
1256
+
1257
+ .post-something-modal .enhanced-empty-state {
1258
+ padding: 2rem;
1259
+ }
1260
+
1261
+ .post-something-modal .enhanced-empty-state i {
1262
+ font-size: 2rem !important;
1263
+ }
1264
+ }
1265
+
1266
+ @media (max-width: 480px) {
1267
+ .post-something-modal .enhanced-modal-header .modal-title {
1268
+ font-size: 1.1rem;
1269
+ }
1270
+
1271
+ .post-something-modal .enhanced-form-section,
1272
+ .post-something-modal .enhanced-media-section {
1273
+ padding: 1rem;
1274
+ }
1275
+
1276
+ .post-something-modal .enhanced-upload-btn {
1277
+ padding: 1rem;
1278
+ font-size: 0.9rem;
1279
+ }
1280
+
1281
+ .post-something-modal .enhanced-media-container {
1282
+ height: 250px;
1283
+ }
1284
+
1285
+ .post-something-modal .enhanced-media-controls .d-flex {
1286
+ flex-direction: column;
1287
+ gap: 1rem;
1288
+ }
1289
+
1290
+ .post-something-modal .enhanced-media-controls .enhanced-thumbnail-btn,
1291
+ .post-something-modal .enhanced-media-controls .enhanced-delete-btn {
1292
+ width: 100%;
1293
+ min-width: auto;
1294
+ }
1295
+ }
1296
+
1297
+ /* styles.css */
1298
+
1299
+ .post-content {
1300
+ flex: 1;
1301
+ overflow: hidden;
1302
+ }
1303
+
1304
+ #postContent .modal-content {
1305
+ padding: 1em;
1306
+ }
1307
+
1308
+ #postContent .btn-close {
1309
+ color: #fff;
1310
+ }
1311
+
1312
+ #postContent .bg-dark {
1313
+ background: #313742;
1314
+ margin-bottom: 17px;
1315
+ }
1316
+
1317
+ #postContent .form-control {
1318
+ color: #b1b1b1;
1319
+ background-color: #222;
1320
+ border: 1px solid #515151;
1321
+ margin-bottom: 17px;
1322
+ }
1323
+
1324
+ #postContent .h4 {
1325
+ color: #fff;
1326
+ }
1327
+
1328
+ #postContent .modal-header,
1329
+ #postContent .modal-footer {
1330
+ border: none !important;
1331
+ }
1332
+
1333
+ #postContent .modal-content {
1334
+ background-color: #171e2e;
1335
+ border-bottom: 3px solid #2b2a48;
1336
+ }
1337
+
1338
+ #postContent .btn {
1339
+ border-radius: 0;
1340
+ }
1341
+
1342
+ /* Make the carousel vertical */
1343
+
1344
+ /* Optional: Adjust position of the controls for vertical layout */
1345
+
1346
+ #deep-link-post-modal {
1347
+ overflow: hidden;
1348
+ }
1349
+
1350
+ #deep-link-post-modal span {
1351
+ color: #fff;
1352
+ font-size: 0.6rem;
1353
+ font-weight: 400;
1354
+ margin: 0;
1355
+ padding: 0;
1356
+ }
1357
+
1358
+ #deep-link-post-modal .media-contents .media-item .portrait {
1359
+ width: 100%;
1360
+ height: 100%;
1361
+ -o-object-fit: contain;
1362
+ object-fit: contain;
1363
+ }
1364
+
1365
+ #deep-link-post-modal .media-contents .media-item .landscape {
1366
+ width: 100%;
1367
+ height: 100%;
1368
+ -o-object-fit: contain !important;
1369
+ object-fit: contain !important;
1370
+ }
1371
+
1372
+ #deep-link-post-modal .deep-link-poster-details {
1373
+ padding-left: 5px;
1374
+ display: flex;
1375
+ gap: 15px;
1376
+ }
1377
+
1378
+ #deep-link-post-modal .deep-link-poster-details img {
1379
+ max-width: 40px;
1380
+ max-height: 40px;
1381
+ border-radius: 25px;
1382
+ }
1383
+
1384
+ #deep-link-post-modal #deep-link-post-container {
1385
+ position: absolute;
1386
+ bottom: 3%;
1387
+ padding: 0px;
1388
+ display: flex;
1389
+ z-index: 5;
1390
+ flex-direction: row;
1391
+ align-items: end;
1392
+ width: 100%;
1393
+ flex-wrap: nowrap;
1394
+ justify-content: space-between;
1395
+ }
1396
+
1397
+ #deep-link-post-modal .landscape img {
1398
+ width: 100%;
1399
+ height: 100vh;
1400
+ -o-object-fit: cover;
1401
+ object-fit: cover;
1402
+ }
1403
+
1404
+ #deep-link-post-modal .portrait img {
1405
+ width: 100%;
1406
+ height: 100vh;
1407
+ -o-object-fit: contain;
1408
+ object-fit: contain;
1409
+ }
1410
+
1411
+ #deep-link-post-modal .carousel {
1412
+ background-color: #131313;
1413
+ position: relative;
1414
+ }
1415
+
1416
+ #deep-link-post-modal .deep-link-post-comments-container {
1417
+ border-radius: 10px;
1418
+ padding: 20px 20px 0px 20px;
1419
+ }
1420
+
1421
+ #deep-link-post-modal .dropdown {
1422
+ text-align: end;
1423
+ }
1424
+
1425
+ #deep-link-post-modal .deep-link-post-details {
1426
+ position: relative;
1427
+ background-color: #100f2e;
1428
+ border-radius: 5px;
1429
+ width: 100%;
1430
+ height: 100%;
1431
+ max-height: 77vh;
1432
+ display: none;
1433
+ }
1434
+
1435
+ #deep-link-post-modal ::-webkit-scrollbar-track {
1436
+ -webkit-box-shadow: inset 0 0 0 0, 0, 0, 0;
1437
+ background-color: rgba(83, 83, 83, 0.623);
1438
+ }
1439
+
1440
+ #deep-link-post-modal ::-webkit-scrollbar {
1441
+ width: 5px;
1442
+ background-color: #181739;
1443
+ }
1444
+
1445
+ #deep-link-post-modal ::-webkit-scrollbar-thumb {
1446
+ -webkit-box-shadow: inset 0 0 3px rgb(0, 0, 0);
1447
+ background-color: #181739;
1448
+ }
1449
+
1450
+ #deep-link-post-modal .deep-link-post-details p {
1451
+ color: #fff;
1452
+ display: block;
1453
+ font-size: 1rem;
1454
+ font-weight: 400;
1455
+ margin: 0 0 2px;
1456
+ }
1457
+
1458
+ #deep-link-post-modal .deep-link-post-interaction button {
1459
+ font-weight: 500;
1460
+ }
1461
+
1462
+ #deep-link-post-modal .deep-link-post-socstat-container {
1463
+ display: flex;
1464
+ margin: 15px 0px;
1465
+ gap: 10px;
1466
+ justify-content: flex-end;
1467
+ font-family: monospace;
1468
+ font-weight: 500;
1469
+ justify-content: space-between;
1470
+ display: none !important;
1471
+ }
1472
+
1473
+ #deep-link-post-modal .deep-link-post-socstat-container p {
1474
+ font-size: 10px;
1475
+ font-weight: 500;
1476
+ }
1477
+
1478
+ #deep-link-post-modal .deep-link-post-socstat-container span {
1479
+ font-size: 11px;
1480
+ }
1481
+
1482
+ #deep-link-post-modal .deep-link-post-interaction .like-button {
1483
+ color: white;
1484
+ cursor: pointer;
1485
+ }
1486
+
1487
+ #deep-link-post-modal .deep-link-post-interaction .share-post-social {
1488
+ color: white;
1489
+ cursor: pointer;
1490
+ }
1491
+
1492
+ #deep-link-post-modal .deep-link-post-interaction .like-button img {
1493
+ width: 100%;
1494
+ max-width: 30px;
1495
+ display: flex;
1496
+ justify-content: center;
1497
+ }
1498
+
1499
+ #deep-link-post-modal .deep-link-post-interaction .active img {
1500
+ transform: scale(0.9);
1501
+ /* Zoom-in effect when active */
1502
+ opacity: 1;
1503
+ /* Ensure full opacity */
1504
+ filter: grayscale(0);
1505
+ /* Show full color */
1506
+ }
1507
+
1508
+ #deep-link-post-modal .deep-link-post-interaction .inactive img {
1509
+ transform: scale(1);
1510
+ /* Reset scale */
1511
+ opacity: 0.6;
1512
+ /* Reduce opacity */
1513
+ filter: grayscale(1);
1514
+ /* Make grayscale */
1515
+ animation: inactiveAnimation 0.5s ease forwards;
1516
+ /* Apply animation */
1517
+ }
1518
+
1519
+ #deep-link-post-modal .deep-link-post-interaction {
1520
+ margin-right: 0px;
1521
+ display: flex;
1522
+ flex-direction: column;
1523
+ align-items: center;
1524
+ gap: 4px;
1525
+ }
1526
+
1527
+ /* loading style */
1528
+
1529
+ /* end of loading style */
1530
+ @keyframes loadfull {
1531
+ 0% {
1532
+ width: 10%;
1533
+ flex-grow: 0;
1534
+ }
1535
+ }
1536
+
1537
+ @keyframes placeHolderShimmer {
1538
+ 0% {
1539
+ background-position: -800px 0;
1540
+ }
1541
+
1542
+ 100% {
1543
+ background-position: 800px 0;
1544
+ }
1545
+ }
1546
+
1547
+ /* DROPDOWN CSS */
1548
+ /*Styling Selectbox*/
1549
+ #deep-link-post-modal .post-dropdown-actions {
1550
+ transition: all 0.5s ease;
1551
+ position: relative;
1552
+ font-size: 20px;
1553
+ color: #f5f5f5;
1554
+ cursor: pointer;
1555
+ }
1556
+
1557
+ #deep-link-post-modal .post-dropdown-actions .select {
1558
+ cursor: pointer;
1559
+ display: block;
1560
+ padding: 10px;
1561
+ }
1562
+
1563
+ #deep-link-post-modal .post-dropdown-actions .select>i {
1564
+ font-size: 13px;
1565
+ cursor: pointer;
1566
+ transition: all 0.3s ease-in-out;
1567
+ float: right;
1568
+ line-height: 20px;
1569
+ }
1570
+
1571
+ #deep-link-post-modal .post-dropdown-actions:focus-visible {
1572
+ outline: unset;
1573
+ }
1574
+
1575
+ #deep-link-post-modal .post-dropdown-actions .post-menu-dropdown {
1576
+ font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
1577
+ position: absolute;
1578
+ background-color: #2d2c51;
1579
+ color: white;
1580
+ z-index: 9;
1581
+ min-width: 305px;
1582
+ left: -310px;
1583
+ margin-top: 0px;
1584
+ padding: 0px 0px 0px;
1585
+ border-radius: 5px;
1586
+ overflow: hidden;
1587
+ display: none;
1588
+ overflow-y: auto;
1589
+ padding: 8px 10px;
1590
+ top: -170px;
1591
+ }
1592
+
1593
+ #deep-link-post-modal .post-dropdown-actions .post-menu-dropdown li:last-child {
1594
+ border: none;
1595
+ }
1596
+
1597
+ #deep-link-post-modal .post-dropdown-actions .post-menu-dropdown li:hover {
1598
+ background-color: #100f2e;
1599
+ border-bottom: 2px solid #3d3d3d;
1600
+ }
1601
+
1602
+ #deep-link-post-modal .post-dropdown-actions .post-menu-dropdown li {
1603
+ padding: 10px;
1604
+ transition: all 0.2s ease-in-out;
1605
+ cursor: pointer;
1606
+ border-bottom: 2px solid #100f2e;
1607
+ display: flex;
1608
+ gap: 10px;
1609
+ align-items: center;
1610
+ font-size: 13px;
1611
+ text-align: left;
1612
+ }
1613
+
1614
+ #deep-link-post-modal .post-dropdown-actions .post-menu-dropdown {
1615
+ list-style: none;
1616
+ }
1617
+
1618
+ #deep-link-post-modal .post-dropdown-actions:focus {
1619
+ border: none;
1620
+ }
1621
+
1622
+ @media (max-width: 575.98px) {
1623
+
1624
+ #deep-link-post-modal .close-button {
1625
+ top: 0% !important;
1626
+ }
1627
+ }
1628
+
1629
+ /* Mobile comments panel */
1630
+ @media (max-width: 768px) {
1631
+ #Comments {
1632
+ border-top-left-radius: 12px;
1633
+ border-top-right-radius: 12px;
1634
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
1635
+ }
1636
+
1637
+ /* Optional: overlay dimmer */
1638
+ }
1639
+
1640
+ #deep-link-post-section {
1641
+ height: 100%;
1642
+ }
1643
+
1644
+ #deep-link-post-section .time {
1645
+ position: absolute;
1646
+ bottom: 1%;
1647
+ right: 1%;
1648
+ font-size: 11px;
1649
+ color: white;
1650
+ }
1651
+
1652
+ #deep-link-post-section .progress {
1653
+ position: absolute;
1654
+ height: 5px;
1655
+ width: 100%;
1656
+ background-color: rgba(255, 255, 255, 0.2);
1657
+ cursor: pointer;
1658
+ bottom: 0.5%;
1659
+ }
1660
+
1661
+ #deep-link-post-modal .close-button {
1662
+ position: absolute;
1663
+ top: 0.5%;
1664
+ right: 2%;
1665
+ z-index: 1000;
1666
+ color: white;
1667
+ border: none;
1668
+ border-radius: 50%;
1669
+ cursor: pointer;
1670
+ font-size: 35px;
1671
+ }
1672
+
1673
+ .edit-post-modal .modal-content {
1674
+ background-color: #03001c;
1675
+ }
1676
+
1677
+ .edit-post-modal .modal-header {
1678
+ background-color: #181828;
1679
+ border-bottom: 0px;
1680
+ }
1681
+
1682
+ .edit-post-modal .btn-close {
1683
+ filter: invert(1);
1684
+ }
1685
+
1686
+ .edit-post-modal button:focus:not(:focus-visible) {
1687
+ box-shadow: unset;
1688
+ }
1689
+
1690
+ .edit-post-modal .edit-post-title,
1691
+ .edit-post-modal .edit-post-text {
1692
+ background-color: #181828;
1693
+ color: rgb(250, 250, 250);
1694
+ }
1695
+
1696
+ .edit-post-modal .edit-post-title::-moz-placeholder {
1697
+ color: rgb(179, 179, 179);
1698
+ opacity: 1;
1699
+ }
1700
+
1701
+ .edit-post-modal .edit-post-title::placeholder {
1702
+ color: rgb(179, 179, 179);
1703
+ opacity: 1;
1704
+ }
1705
+
1706
+ .edit-post-modal label {
1707
+ color: rgb(185, 181, 181);
1708
+ }
1709
+
1710
+ .edit-post-modal .enhanced-modal-header .enhanced-close-btn {
1711
+ background: rgba(255, 255, 255, 0.1);
1712
+ border: 2px solid rgba(255, 255, 255, 0.2);
1713
+ border-radius: 8px;
1714
+ padding: 0.5rem 0.75rem;
1715
+ font-weight: 600;
1716
+ color: #ffffff;
1717
+ transition: all 0.3s ease;
1718
+ }
1719
+
1720
+ .edit-post-modal .enhanced-modal-header .enhanced-close-btn:hover {
1721
+ background: rgba(255, 255, 255, 0.2);
1722
+ border-color: rgba(255, 255, 255, 0.4);
1723
+ transform: translateY(-2px);
1724
+ box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
1725
+ }
1726
+
1727
+ .edit-post-modal .enhanced-modal-header .enhanced-close-btn:focus {
1728
+ box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25);
1729
+ }
1730
+
1731
+ .edit-post-modal .enhanced-modal-header .enhanced-post-btn {
1732
+ background: linear-gradient(135deg, #4a3aff 0%, #6c5ce7 100%);
1733
+ border: none;
1734
+ border-radius: 8px;
1735
+ padding: 0.5rem 0.75rem;
1736
+ font-weight: 600;
1737
+ box-shadow: 0 4px 15px rgba(74, 58, 255, 0.3);
1738
+ transition: all 0.3s ease;
1739
+ }
1740
+
1741
+ .edit-post-modal .enhanced-modal-header .enhanced-post-btn:hover:not(:disabled) {
1742
+ transform: translateY(-2px);
1743
+ box-shadow: 0 6px 20px rgba(74, 58, 255, 0.4);
1744
+ }
1745
+
1746
+ .edit-post-modal .enhanced-modal-header .enhanced-post-btn:disabled {
1747
+ opacity: 0.7;
1748
+ transform: none;
1749
+ }
1750
+
1751
+ .edit-post-modal .video-player-container video {
1752
+ max-height: 500px;
1753
+ -o-object-fit: contain !important;
1754
+ object-fit: contain !important;
1755
+ }
1756
+
1757
+ .edit-post-modal .time {
1758
+ position: absolute;
1759
+ bottom: 2%;
1760
+ right: 1%;
1761
+ font-size: 11px;
1762
+ color: white;
1763
+ }
1764
+
1765
+ .edit-post-modal .progress {
1766
+ position: absolute;
1767
+ height: 5px;
1768
+ width: 100%;
1769
+ background-color: rgba(255, 255, 255, 0.2);
1770
+ cursor: pointer;
1771
+ bottom: 0.5%;
1772
+ }
1773
+
1774
+ @media screen and (max-width: 575.98px) {
1775
+ .edit-post-modal .video-player-container video {
1776
+ max-height: 320px;
1777
+ -o-object-fit: contain !important;
1778
+ object-fit: contain !important;
1779
+ }
1780
+
1781
+ .edit-post-modal .modal-body .btn {
1782
+ cursor: pointer;
1783
+ box-shadow: none !important;
1784
+ font-size: 15px;
1785
+ padding: 5px 15px;
1786
+ }
1787
+ }
1788
+
1789
+ .each-post-feed.post-card {
1790
+ background: linear-gradient(145deg, #ffffff, #f8f9fa);
1791
+ border-radius: 16px;
1792
+ margin-bottom: 1.5rem;
1793
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1794
+ border: 1px solid rgba(0, 0, 0, 0.08);
1795
+ overflow: hidden;
1796
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.05);
1797
+ }
1798
+
1799
+ .each-post-feed.post-card:hover {
1800
+ transform: translateY(-2px);
1801
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(0, 0, 0, 0.05);
1802
+ }
1803
+
1804
+ @media (prefers-color-scheme: dark) {
1805
+ .each-post-feed.post-card {
1806
+ background: linear-gradient(145deg, #1a1a2e, #16213e);
1807
+ border: 1px solid rgba(255, 255, 255, 0.1);
1808
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.05);
1809
+ }
1810
+
1811
+ .each-post-feed.post-card:hover {
1812
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1);
1813
+ }
1814
+ }
1815
+
1816
+ .post-card-header {
1817
+ display: flex;
1818
+ align-items: center;
1819
+ justify-content: space-between;
1820
+ padding: 1.25rem 1.25rem 0.75rem 1.25rem;
1821
+ position: relative;
1822
+ }
1823
+
1824
+ .post-card-header::after {
1825
+ content: "";
1826
+ position: absolute;
1827
+ bottom: 0;
1828
+ left: 1.25rem;
1829
+ right: 1.25rem;
1830
+ height: 1px;
1831
+ background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1), transparent);
1832
+ }
1833
+
1834
+ @media (prefers-color-scheme: dark) {
1835
+ .post-card-header::after {
1836
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
1837
+ }
1838
+ }
1839
+
1840
+ .post-card-avatar {
1841
+ width: 48px !important;
1842
+ height: 48px !important;
1843
+ border-radius: 50%;
1844
+ -o-object-fit: cover;
1845
+ object-fit: cover;
1846
+ border: 3px solid transparent;
1847
+ background: linear-gradient(45deg, #667eea, #764ba2);
1848
+ background-clip: padding-box;
1849
+ margin-right: 0.75rem;
1850
+ transition: all 0.3s ease;
1851
+ position: relative;
1852
+ }
1853
+
1854
+ .post-card-avatar::before {
1855
+ content: "";
1856
+ position: absolute;
1857
+ top: -3px;
1858
+ left: -3px;
1859
+ right: -3px;
1860
+ bottom: -3px;
1861
+ background: linear-gradient(45deg, #667eea, #764ba2, #f093fb, #f5576c);
1862
+ border-radius: 50%;
1863
+ z-index: -1;
1864
+ opacity: 0;
1865
+ transition: opacity 0.3s ease;
1866
+ }
1867
+
1868
+ .post-card-avatar:hover::before {
1869
+ opacity: 1;
1870
+ }
1871
+
1872
+ @media (prefers-color-scheme: dark) {
1873
+ .post-card-avatar {
1874
+ border: 3px solid transparent;
1875
+ background: linear-gradient(45deg, #4facfe, #00f2fe);
1876
+ }
1877
+
1878
+ .post-card-avatar::before {
1879
+ background: linear-gradient(45deg, #4facfe, #00f2fe, #43e97b, #38f9d7);
1880
+ }
1881
+ }
1882
+
1883
+ .post-card-username {
1884
+ color: #2d3748;
1885
+ font-weight: 700;
1886
+ font-size: 1rem;
1887
+ text-decoration: none;
1888
+ transition: color 0.3s ease;
1889
+ }
1890
+
1891
+ .post-card-username:hover {
1892
+ color: #667eea;
1893
+ text-decoration: none;
1894
+ }
1895
+
1896
+ @media (prefers-color-scheme: dark) {
1897
+ .post-card-username {
1898
+ color: #e2e8f0;
1899
+ }
1900
+
1901
+ .post-card-username:hover {
1902
+ color: #4facfe;
1903
+ }
1904
+ }
1905
+
1906
+ .post-card-timestamp {
1907
+ color: #718096;
1908
+ font-size: 0.875rem;
1909
+ font-weight: 500;
1910
+ }
1911
+
1912
+ @media (prefers-color-scheme: dark) {
1913
+ .post-card-timestamp {
1914
+ color: #a0aec0;
1915
+ }
1916
+ }
1917
+
1918
+ .post-card-media {
1919
+ width: 100%;
1920
+ background: #f7fafc;
1921
+ margin: 0;
1922
+ overflow: hidden;
1923
+ cursor: pointer;
1924
+ position: relative;
1925
+ }
1926
+
1927
+ @media (prefers-color-scheme: dark) {
1928
+ .post-card-media {
1929
+ background: #1a202c;
1930
+ }
1931
+ }
1932
+
1933
+ .post-card-media img,
1934
+ .post-card-media video {
1935
+ width: 100%;
1936
+ height: auto;
1937
+ display: block;
1938
+ transition: transform 0.3s ease;
1939
+ }
1940
+
1941
+ .post-card-media:hover img,
1942
+ .post-card-media:hover video {
1943
+ transform: scale(1.02);
1944
+ }
1945
+
1946
+ .post-card-body {
1947
+ color: #2d3748;
1948
+ padding: 1rem 1.25rem;
1949
+ line-height: 1.6;
1950
+ }
1951
+
1952
+ @media (prefers-color-scheme: dark) {
1953
+ .post-card-body {
1954
+ color: #e2e8f0;
1955
+ }
1956
+ }
1957
+
1958
+ .post-card-title {
1959
+ font-size: 1.25rem;
1960
+ font-weight: 700;
1961
+ margin-bottom: 0.5rem;
1962
+ color: #1a202c;
1963
+ line-height: 1.4;
1964
+ }
1965
+
1966
+ @media (prefers-color-scheme: dark) {
1967
+ .post-card-title {
1968
+ color: #f7fafc;
1969
+ }
1970
+ }
1971
+
1972
+ .post-card-text {
1973
+ font-size: 1rem;
1974
+ color: #4a5568;
1975
+ margin-bottom: 0.75rem;
1976
+ line-height: 1.6;
1977
+ }
1978
+
1979
+ @media (prefers-color-scheme: dark) {
1980
+ .post-card-text {
1981
+ color: #cbd5e0;
1982
+ }
1983
+ }
1984
+
1985
+ .post-card-token,
1986
+ .post-card-nft {
1987
+ display: inline-block;
1988
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1989
+ color: white;
1990
+ font-size: 0.875rem;
1991
+ font-weight: 600;
1992
+ border-radius: 20px;
1993
+ padding: 0.375rem 0.75rem;
1994
+ margin: 0.25rem 0.5rem 0.25rem 0;
1995
+ box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
1996
+ transition: all 0.3s ease;
1997
+ }
1998
+
1999
+ .post-card-token:hover,
2000
+ .post-card-nft:hover {
2001
+ transform: translateY(-1px);
2002
+ box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
2003
+ }
2004
+
2005
+ @media (prefers-color-scheme: dark) {
2006
+
2007
+ .post-card-token,
2008
+ .post-card-nft {
2009
+ background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
2010
+ box-shadow: 0 2px 4px rgba(79, 172, 254, 0.2);
2011
+ }
2012
+
2013
+ .post-card-token:hover,
2014
+ .post-card-nft:hover {
2015
+ box-shadow: 0 4px 8px rgba(79, 172, 254, 0.3);
2016
+ }
2017
+ }
2018
+
2019
+ .post-card-actions {
2020
+ display: flex;
2021
+ align-items: center;
2022
+ justify-content: space-between;
2023
+ border-top: 1px solid #23233a;
2024
+ padding-top: 0.5rem;
2025
+ margin-top: 0.5rem;
2026
+ }
2027
+
2028
+ .like-button {
2029
+ background: none;
2030
+ border: none;
2031
+ outline: none;
2032
+ cursor: pointer;
2033
+ padding: 0;
2034
+ transition: transform 0.1s;
2035
+ }
2036
+
2037
+ .like-button:hover {
2038
+ transform: scale(1.15);
2039
+ }
2040
+
2041
+ .like-button img {
2042
+ width: 28px;
2043
+ height: 28px;
2044
+ filter: grayscale(0.2);
2045
+ transition: filter 0.2s;
2046
+ }
2047
+
2048
+ .like-button img:hover {
2049
+ filter: grayscale(0) brightness(1.2);
2050
+ }
2051
+
2052
+ .post-card-likes,
2053
+ .post-card-comments {
2054
+ color: #b3b3ff;
2055
+ font-size: 0.95rem;
2056
+ margin-right: 1rem;
2057
+ }
2058
+
2059
+ .share-modal-overlay {
2060
+ position: fixed;
2061
+ z-index: 1;
2062
+ left: 0;
2063
+ right: 0;
2064
+ top: 0;
2065
+ bottom: 0;
2066
+ background: rgba(0, 0, 0, 0.4);
2067
+ display: flex;
2068
+ align-items: flex-end;
2069
+ justify-content: center;
2070
+ }
2071
+
2072
+ .share-modal-bottom-sheet {
2073
+ background: #222;
2074
+ border-radius: 16px 16px 0 0;
2075
+ width: 100%;
2076
+ max-width: 400px;
2077
+ margin-bottom: 0;
2078
+ padding: 8px 10px 5px 10px;
2079
+ box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.2);
2080
+ position: relative;
2081
+ animation: slideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2082
+ }
2083
+
2084
+ @keyframes slideUp {
2085
+ from {
2086
+ transform: translateY(100%);
2087
+ }
2088
+
2089
+ to {
2090
+ transform: translateY(0);
2091
+ }
2092
+ }
2093
+
2094
+ .share-modal-close {
2095
+ font-size: 1.2rem;
2096
+ }
2097
+
2098
+ .share-modal-icons {
2099
+ display: flex;
2100
+ justify-content: space-around;
2101
+ align-items: center;
2102
+ }
2103
+
2104
+ .share-modal-icons a,
2105
+ .share-modal-icons button {
2106
+ background: none;
2107
+ border: none;
2108
+ color: #fff;
2109
+ cursor: pointer;
2110
+ padding: 0;
2111
+ outline: none;
2112
+ transition: color 0.2s;
2113
+ }
2114
+
2115
+ .share-modal-icons a:hover,
2116
+ .share-modal-icons button:hover {
2117
+ color: #1da1f2;
2118
+ /* Twitter blue as highlight */
2119
+ }
2120
+
2121
+ .share-btn-modal {
2122
+ border: 0px;
2123
+ background-color: transparent;
2124
+ padding: 0px;
2125
+ }
2126
+
2127
+ .share-btn-modal i,
2128
+ .fa-ellipsis-h {
2129
+ color: rgb(187, 187, 187) !important;
2130
+ }
2131
+
2132
+ @keyframes spin {
2133
+ 0% {
2134
+ transform: rotate(0deg);
2135
+ }
2136
+
2137
+ 100% {
2138
+ transform: rotate(360deg);
2139
+ }
2140
+ }
2141
+
2142
+ .media-item__skeleton {
2143
+ width: 100%;
2144
+ height: 100%;
2145
+ background: linear-gradient(90deg, #222 25%, #333 50%, #222 75%);
2146
+ animation: skeleton-loading 1.2s infinite linear;
2147
+ }
2148
+
2149
+ @keyframes skeleton-loading {
2150
+ 0% {
2151
+ background-position: -200px 0;
2152
+ }
2153
+
2154
+ 100% {
2155
+ background-position: calc(200px + 100%) 0;
2156
+ }
2157
+ }
2158
+
2159
+ .view-post-modal {
2160
+ perspective: 1000px;
2161
+ transform-style: preserve-3d;
2162
+ }
2163
+
2164
+ .view-post-carousel-container {
2165
+ width: 100%;
2166
+ height: 100%;
2167
+ position: relative;
2168
+ overflow: hidden;
2169
+ }
2170
+
2171
+ .view-post-close-button {
2172
+ /* Inherits .close-button, just for specificity */
2173
+ }
2174
+
2175
+ .view-post-loading-body {
2176
+ /* No extra styles needed, but class for targeting if needed */
2177
+ }
2178
+
2179
+ .view-post-share-modal-icons {
2180
+ display: flex;
2181
+ justify-content: space-around;
2182
+ align-items: center;
2183
+ gap: 20px;
2184
+ }
2185
+
2186
+ .view-post-share-copy-btn,
2187
+ .view-post-share-modal-close {
2188
+ background: none;
2189
+ border: none;
2190
+ cursor: pointer;
2191
+ padding: 8px;
2192
+ }
2193
+
2194
+ .view-post-share-icon-facebook {
2195
+ color: #1877f2;
2196
+ }
2197
+
2198
+ .view-post-share-icon-twitter {
2199
+ color: #1da1f2;
2200
+ }
2201
+
2202
+ .view-post-share-icon-linkedin {
2203
+ color: #0077b5;
2204
+ }
2205
+
2206
+ .view-post-share-icon-email {
2207
+ color: #ea4335;
2208
+ }
2209
+
2210
+ .view-post-share-icon-copy,
2211
+ .view-post-share-icon-close {
2212
+ color: #666;
2213
+ }
2214
+
2215
+ .deeplink-media-slide {
2216
+ width: 100%;
2217
+ height: 100vh;
2218
+ display: flex;
2219
+ align-items: center;
2220
+ justify-content: center;
2221
+ }
2222
+
2223
+ .deeplink-media-item {
2224
+ width: 100%;
2225
+ height: 100vh;
2226
+ -o-object-fit: contain;
2227
+ object-fit: contain;
2228
+ display: block;
2229
+ }
2230
+
2231
+ .post-card-skeleton {
2232
+ background: #181828;
2233
+ padding: 16px;
2234
+ margin-bottom: 16px;
2235
+ border: 1px solid #23233a;
2236
+ }
2237
+
2238
+ .post-card-skeleton .poster-profile-img-loader,
2239
+ .post-card-skeleton .poster-profile-name-loader,
2240
+ .post-card-skeleton .post-date-loader,
2241
+ .post-card-skeleton .post-profile-title,
2242
+ .post-card-skeleton .post-feed-img-loader,
2243
+ .post-card-skeleton .filter-btn-loader {
2244
+ border-radius: 6px;
2245
+ animation: loadfull 2s infinite;
2246
+ position: relative;
2247
+ overflow: hidden;
2248
+ }
2249
+
2250
+ .post-card-skeleton .poster-profile-img-loader::before,
2251
+ .post-card-skeleton .poster-profile-name-loader::before,
2252
+ .post-card-skeleton .post-date-loader::before,
2253
+ .post-card-skeleton .post-profile-title::before,
2254
+ .post-card-skeleton .post-feed-img-loader::before,
2255
+ .post-card-skeleton .filter-btn-loader::before {
2256
+ content: "";
2257
+ position: absolute;
2258
+ top: 0;
2259
+ left: -100%;
2260
+ width: 100%;
2261
+ height: 100%;
2262
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
2263
+ animation: shimmer 1.5s infinite;
2264
+ }
2265
+
2266
+ @keyframes shimmer {
2267
+ 0% {
2268
+ left: -100%;
2269
+ }
2270
+
2271
+ 100% {
2272
+ left: 100%;
2273
+ }
2274
+ }
2275
+
2276
+ .post-image-skeleton,
2277
+ .post-video-skeleton {
2278
+ width: 100%;
2279
+ height: 100%;
2280
+ }
2281
+
2282
+ .post-image-skeleton .post-feed-img-loader,
2283
+ .post-video-skeleton .post-feed-img-loader {
2284
+ width: 100%;
2285
+ height: 100%;
2286
+ animation: loadfull 2s infinite;
2287
+ position: relative;
2288
+ overflow: hidden;
2289
+ }
2290
+
2291
+ .post-image-skeleton .post-feed-img-loader::before,
2292
+ .post-video-skeleton .post-feed-img-loader::before {
2293
+ content: "";
2294
+ position: absolute;
2295
+ top: 0;
2296
+ left: -100%;
2297
+ width: 100%;
2298
+ height: 100%;
2299
+ background: linear-gradient(90deg, #222 25%, #333 50%, #222 75%);
2300
+ animation: shimmer 1.5s infinite;
2301
+ }
2302
+
2303
+ .post-profile-skeleton {
2304
+ width: 100%;
2305
+ height: 100%;
2306
+ }
2307
+
2308
+ .post-profile-skeleton .poster-profile-img-loader {
2309
+ width: 100%;
2310
+ height: 100%;
2311
+ background-color: #232c39;
2312
+ border-radius: 50%;
2313
+ animation: loadfull 2s infinite;
2314
+ position: relative;
2315
+ overflow: hidden;
2316
+ }
2317
+
2318
+ .post-profile-skeleton .poster-profile-img-loader::before {
2319
+ content: "";
2320
+ position: absolute;
2321
+ top: 0;
2322
+ left: -100%;
2323
+ width: 100%;
2324
+ height: 100%;
2325
+ background: linear-gradient(90deg, #222 25%, #333 50%, #222 75%);
2326
+ animation: shimmer 1.5s infinite;
2327
+ }
2328
+
2329
+ .skeleton-profile-section {
2330
+ display: flex;
2331
+ align-items: center;
2332
+ margin-bottom: 12px;
2333
+ }
2334
+
2335
+ .skeleton-profile-section .poster-profile-img-loader {
2336
+ margin-right: 12px;
2337
+ border-radius: 50%;
2338
+ width: 50px !important;
2339
+ }
2340
+
2341
+ .skeleton-profile-section .skeleton-profile-info {
2342
+ flex: 1;
2343
+ display: flex;
2344
+ flex-direction: column;
2345
+ gap: 8px;
2346
+ }
2347
+
2348
+ .skeleton-content-section {
2349
+ margin-bottom: 16px;
2350
+ display: flex;
2351
+ flex-direction: column;
2352
+ gap: 8px;
2353
+ }
2354
+
2355
+ .skeleton-content-section .post-profile-title {
2356
+ height: 16px !important;
2357
+ max-width: 100% !important;
2358
+ }
2359
+
2360
+ .skeleton-media-section {
2361
+ margin-bottom: 16px;
2362
+ }
2363
+
2364
+ .skeleton-media-section .post-feed-img-loader {
2365
+ height: 250px !important;
2366
+ width: 100% !important;
2367
+ max-width: 100% !important;
2368
+ }
2369
+
2370
+ .skeleton-actions-section {
2371
+ display: flex;
2372
+ gap: 20px;
2373
+ align-items: center;
2374
+ }
2375
+
2376
+ .skeleton-actions-section .filter-btn-loader {
2377
+ height: 24px !important;
2378
+ width: 60px !important;
2379
+ max-width: 60px !important;
2380
+ }
2381
+
2382
+ .initial-loading-container {
2383
+ padding: 16px 0;
2384
+ }
2385
+
2386
+ .initial-loading-container .loading-feed {
2387
+ margin-bottom: 16px;
2388
+ }
2389
+
2390
+ .initial-loading-container .loading-feed:last-child {
2391
+ margin-bottom: 0;
2392
+ }
2393
+
2394
+ @keyframes fadeInUp {
2395
+ from {
2396
+ opacity: 0;
2397
+ transform: translateY(20px);
2398
+ }
2399
+
2400
+ to {
2401
+ opacity: 1;
2402
+ transform: translateY(0);
2403
+ }
2404
+ }
2405
+
2406
+ .active i {
2407
+ color: white !important;
2408
+ }
2409
+
2410
+ .enhanced-skeleton {
2411
+ position: relative;
2412
+ overflow: hidden;
2413
+ background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%);
2414
+ background-size: 200% 100%;
2415
+ animation: placeHolderShimmer 2s infinite linear;
2416
+ }
2417
+
2418
+ .enhanced-skeleton .skeleton-shimmer {
2419
+ position: absolute;
2420
+ top: 0;
2421
+ left: -100%;
2422
+ width: 100%;
2423
+ height: 100%;
2424
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
2425
+ animation: skeletonShimmer 1.5s infinite;
2426
+ }
2427
+
2428
+ .enhanced-skeleton-card {
2429
+ background: rgba(255, 255, 255, 0.02);
2430
+ padding: 16px;
2431
+ margin-bottom: 16px;
2432
+ border: 1px solid rgba(255, 255, 255, 0.1);
2433
+ animation: skeletonFadeIn 0.3s ease-out;
2434
+ }
2435
+
2436
+ .post-video-skeleton {
2437
+ position: relative;
2438
+ }
2439
+
2440
+ .post-profile-skeleton {
2441
+ border-radius: 50%;
2442
+ overflow: hidden;
2443
+ }
2444
+
2445
+ .view-post-modal-skeleton {
2446
+ background: rgba(0, 0, 0, 0.9);
2447
+ overflow: hidden;
2448
+ }
2449
+
2450
+ .view-post-modal-skeleton .modal-header-skeleton {
2451
+ display: flex;
2452
+ align-items: center;
2453
+ justify-content: space-between;
2454
+ padding: 16px;
2455
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
2456
+ }
2457
+
2458
+ .view-post-modal-skeleton .modal-header-skeleton .close-button-skeleton {
2459
+ width: 32px;
2460
+ height: 32px;
2461
+ border-radius: 50%;
2462
+ }
2463
+
2464
+ .view-post-modal-skeleton .modal-header-skeleton .title-skeleton {
2465
+ height: 20px;
2466
+ width: 200px;
2467
+ }
2468
+
2469
+ .view-post-modal-skeleton .modal-body-skeleton {
2470
+ padding: 16px;
2471
+ }
2472
+
2473
+ .view-post-modal-skeleton .modal-body-skeleton .media-skeleton {
2474
+ height: 400px;
2475
+ width: 100%;
2476
+ }
2477
+
2478
+ .post-feed-img-loader.enhanced-skeleton {
2479
+ background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%);
2480
+ background-size: 200% 100%;
2481
+ animation: placeHolderShimmer 2s infinite linear;
2482
+ position: relative;
2483
+ overflow: hidden;
2484
+ }
2485
+
2486
+ .post-feed-img-loader.enhanced-skeleton::before {
2487
+ content: "";
2488
+ position: absolute;
2489
+ top: 0;
2490
+ left: -100%;
2491
+ width: 100%;
2492
+ height: 100%;
2493
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
2494
+ animation: skeletonShimmer 1.5s infinite;
2495
+ }
2496
+
2497
+ .poster-profile-img-loader.enhanced-skeleton {
2498
+ background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%);
2499
+ background-size: 200% 100%;
2500
+ animation: placeHolderShimmer 2s infinite linear;
2501
+ border-radius: 50%;
2502
+ position: relative;
2503
+ overflow: hidden;
2504
+ }
2505
+
2506
+ .poster-profile-img-loader.enhanced-skeleton::before {
2507
+ content: "";
2508
+ position: absolute;
2509
+ top: 0;
2510
+ left: -100%;
2511
+ width: 100%;
2512
+ height: 100%;
2513
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
2514
+ animation: skeletonShimmer 1.5s infinite;
2515
+ }
2516
+
2517
+ @media (max-width: 768px) {
2518
+ .enhanced-skeleton {
2519
+ animation-duration: 1.5s;
2520
+ }
2521
+
2522
+ .post-feed-img-loader.enhanced-skeleton {
2523
+ min-height: 200px;
2524
+ }
2525
+
2526
+ .view-post-modal-skeleton .modal-body-skeleton .media-skeleton {
2527
+ height: 300px;
2528
+ }
2529
+ }
2530
+
2531
+ .feed-main-container {
2532
+ transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
2533
+ }
2534
+
2535
+ .feed-main-container.feed-hidden {
2536
+ opacity: 0;
2537
+ transform: translateY(20px);
2538
+ pointer-events: none;
2539
+ }
2540
+
2541
+ .feed-main-container.feed-visible {
2542
+ opacity: 1;
2543
+ transform: translateY(0);
2544
+ pointer-events: auto;
2545
+ }
2546
+
2547
+ .view-post-modal.modal-open~.feed-main-container {
2548
+ opacity: 0.3;
2549
+ transform: scale(0.98);
2550
+ filter: blur(1px);
2551
+ transition: all 0.3s ease-in-out;
2552
+ }
2553
+
2554
+ @media (max-width: 768px) {
2555
+ .feed-main-container {
2556
+ transition-duration: 0.2s;
2557
+ }
2558
+
2559
+ .feed-main-container.feed-hidden {
2560
+ transform: translateY(10px);
2561
+ }
2562
+ }
2563
+
2564
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid {
2565
+ display: grid;
2566
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
2567
+ gap: 1.5rem;
2568
+ margin-top: 1rem;
2569
+ }
2570
+
2571
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.single-item {
2572
+ grid-template-columns: 1fr;
2573
+ max-width: 100%;
2574
+ margin: 1rem 0;
2575
+ }
2576
+
2577
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.two-items {
2578
+ grid-template-columns: 1fr 1fr;
2579
+ gap: 2rem;
2580
+ max-width: 800px;
2581
+ margin: 1rem auto;
2582
+ }
2583
+
2584
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items {
2585
+ grid-template-columns: 1fr 1fr;
2586
+ grid-template-rows: repeat(2, 1fr);
2587
+ gap: 1.5rem;
2588
+ max-width: 900px;
2589
+ margin: 1rem auto;
2590
+ }
2591
+
2592
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items .enhanced-media-grid-item:first-child {
2593
+ grid-column: 1;
2594
+ grid-row: 1/3;
2595
+ height: auto;
2596
+ }
2597
+
2598
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items .enhanced-media-grid-item:first-child .enhanced-media-container {
2599
+ height: 100%;
2600
+ min-height: 420px;
2601
+ }
2602
+
2603
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items .enhanced-media-grid-item:nth-child(2) {
2604
+ grid-column: 2;
2605
+ grid-row: 1;
2606
+ }
2607
+
2608
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items .enhanced-media-grid-item:nth-child(3) {
2609
+ grid-column: 2;
2610
+ grid-row: 2;
2611
+ }
2612
+
2613
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.four-plus-items {
2614
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
2615
+ gap: 1.5rem;
2616
+ }
2617
+
2618
+ @media (max-width: 992px) {
2619
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid {
2620
+ grid-template-columns: 1fr 1fr;
2621
+ gap: 1.5rem;
2622
+ }
2623
+
2624
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items {
2625
+ grid-template-columns: 1fr 1fr;
2626
+ grid-template-rows: repeat(2, 1fr);
2627
+ max-width: 700px;
2628
+ }
2629
+
2630
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items .enhanced-media-grid-item:first-child .enhanced-media-container {
2631
+ min-height: 350px;
2632
+ }
2633
+
2634
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.four-plus-items {
2635
+ grid-template-columns: 1fr 1fr;
2636
+ }
2637
+ }
2638
+
2639
+ @media (max-width: 768px) {
2640
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid {
2641
+ grid-template-columns: 1fr;
2642
+ gap: 1rem;
2643
+ justify-items: center;
2644
+ }
2645
+
2646
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.single-item,
2647
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.two-items,
2648
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items,
2649
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.four-plus-items {
2650
+ grid-template-columns: 1fr;
2651
+ grid-template-rows: auto;
2652
+ max-width: none;
2653
+ margin: 1rem 0;
2654
+ }
2655
+
2656
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.single-item .enhanced-media-grid-item,
2657
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.two-items .enhanced-media-grid-item,
2658
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items .enhanced-media-grid-item,
2659
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.four-plus-items .enhanced-media-grid-item {
2660
+ grid-column: 1 !important;
2661
+ grid-row: auto !important;
2662
+ }
2663
+
2664
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.single-item .enhanced-media-grid-item .enhanced-media-container,
2665
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.two-items .enhanced-media-grid-item .enhanced-media-container,
2666
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.three-items .enhanced-media-grid-item .enhanced-media-container,
2667
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid.four-plus-items .enhanced-media-grid-item .enhanced-media-container {
2668
+ height: 250px !important;
2669
+ min-height: auto !important;
2670
+ }
2671
+ }
2672
+
2673
+ @media (max-width: 480px) {
2674
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid {
2675
+ grid-template-columns: 1fr;
2676
+ gap: 1rem;
2677
+ }
2678
+
2679
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid .enhanced-media-grid-item .enhanced-media-container {
2680
+ height: 200px !important;
2681
+ }
2682
+ }
2683
+
2684
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item {
2685
+ position: relative;
2686
+ border-radius: 16px;
2687
+ overflow: hidden;
2688
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
2689
+ transition: all 0.3s ease;
2690
+ background: #000;
2691
+ border: 2px solid transparent;
2692
+ display: flex;
2693
+ flex-direction: column;
2694
+ animation: fadeInUp 0.5s ease-out;
2695
+ }
2696
+
2697
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item:hover {
2698
+ transform: translateY(-4px);
2699
+ box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
2700
+ }
2701
+
2702
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item.selected-thumbnail {
2703
+ border-color: #4a3aff;
2704
+ box-shadow: 0 0 0 2px rgba(74, 58, 255, 0.3), 0 8px 25px rgba(0, 0, 0, 0.3);
2705
+ animation: pulseGlow 2s infinite;
2706
+ }
2707
+
2708
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item.selected-thumbnail::before {
2709
+ content: "";
2710
+ position: absolute;
2711
+ top: 0;
2712
+ left: 0;
2713
+ right: 0;
2714
+ bottom: 0;
2715
+ background: linear-gradient(45deg, rgba(74, 58, 255, 0.1) 0%, rgba(108, 92, 231, 0.1) 100%);
2716
+ pointer-events: none;
2717
+ z-index: 1;
2718
+ animation: shimmer 3s infinite;
2719
+ }
2720
+
2721
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item.selected-thumbnail:hover {
2722
+ border-color: #4a3aff;
2723
+ box-shadow: 0 0 0 2px rgba(74, 58, 255, 0.5), 0 8px 25px rgba(0, 0, 0, 0.3);
2724
+ transform: translateY(-6px) scale(1.02);
2725
+ }
2726
+
2727
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item.edit-mode {
2728
+ border-color: rgba(255, 193, 7, 0.3);
2729
+ animation: editPulse 2s infinite;
2730
+ }
2731
+
2732
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item.edit-mode:hover {
2733
+ border-color: rgba(255, 193, 7, 0.6);
2734
+ box-shadow: 0 8px 25px rgba(255, 193, 7, 0.2);
2735
+ transform: translateY(-4px);
2736
+ }
2737
+
2738
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-container {
2739
+ width: 100%;
2740
+ height: 250px;
2741
+ display: flex;
2742
+ align-items: center;
2743
+ justify-content: center;
2744
+ background: #000;
2745
+ border-radius: 16px;
2746
+ overflow: hidden;
2747
+ position: relative;
2748
+ flex: 1;
2749
+ }
2750
+
2751
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-container img,
2752
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-container video {
2753
+ width: 100%;
2754
+ height: 100%;
2755
+ -o-object-fit: cover;
2756
+ object-fit: cover;
2757
+ border-radius: 16px;
2758
+ transition: transform 0.3s ease;
2759
+ }
2760
+
2761
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-container img:hover,
2762
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-container video:hover {
2763
+ transform: scale(1.05);
2764
+ }
2765
+
2766
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-container video {
2767
+ -o-object-fit: contain;
2768
+ object-fit: contain;
2769
+ }
2770
+
2771
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-container video:hover {
2772
+ transform: scale(1.02);
2773
+ }
2774
+
2775
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .thumbnail-indicator {
2776
+ position: absolute;
2777
+ top: 12px;
2778
+ right: 12px;
2779
+ background: linear-gradient(135deg, #4a3aff 0%, #6c5ce7 100%);
2780
+ color: white;
2781
+ padding: 0.5rem 0.75rem;
2782
+ border-radius: 20px;
2783
+ font-size: 0.75rem;
2784
+ font-weight: 600;
2785
+ box-shadow: 0 2px 8px rgba(74, 58, 255, 0.3);
2786
+ z-index: 10;
2787
+ animation: slideInRight 0.5s ease-out;
2788
+ -webkit-backdrop-filter: blur(10px);
2789
+ backdrop-filter: blur(10px);
2790
+ }
2791
+
2792
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .thumbnail-indicator i {
2793
+ font-size: 0.875rem;
2794
+ margin-right: 0.25rem;
2795
+ animation: rotateIn 0.6s ease-out;
2796
+ }
2797
+
2798
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls {
2799
+ padding: 1rem;
2800
+ background: rgba(0, 0, 0, 0.8);
2801
+ -webkit-backdrop-filter: blur(10px);
2802
+ backdrop-filter: blur(10px);
2803
+ display: flex;
2804
+ gap: 0.75rem;
2805
+ align-items: center;
2806
+ justify-content: center;
2807
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
2808
+ }
2809
+
2810
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn,
2811
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn {
2812
+ border-radius: 8px;
2813
+ padding: 0.5rem 1rem;
2814
+ font-weight: 600;
2815
+ transition: all 0.3s ease;
2816
+ min-width: 100px;
2817
+ font-size: 0.875rem;
2818
+ position: relative;
2819
+ overflow: hidden;
2820
+ }
2821
+
2822
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn::before,
2823
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn::before {
2824
+ content: "";
2825
+ position: absolute;
2826
+ top: 0;
2827
+ left: -100%;
2828
+ width: 100%;
2829
+ height: 100%;
2830
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
2831
+ transition: left 0.5s;
2832
+ }
2833
+
2834
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn:hover,
2835
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn:hover {
2836
+ transform: translateY(-2px);
2837
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
2838
+ }
2839
+
2840
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn:hover::before,
2841
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn:hover::before {
2842
+ left: 100%;
2843
+ }
2844
+
2845
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn:active,
2846
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn:active {
2847
+ transform: translateY(0);
2848
+ }
2849
+
2850
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn i,
2851
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn i {
2852
+ font-size: 1rem;
2853
+ transition: transform 0.3s ease;
2854
+ }
2855
+
2856
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn:hover i,
2857
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn:hover i {
2858
+ transform: scale(1.1);
2859
+ }
2860
+
2861
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn small,
2862
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn small {
2863
+ font-size: 0.75rem;
2864
+ margin-top: 0.25rem;
2865
+ transition: all 0.3s ease;
2866
+ }
2867
+
2868
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn.active {
2869
+ background: linear-gradient(135deg, #00b894 0%, #00a085 100%);
2870
+ border-color: #00b894;
2871
+ color: white;
2872
+ box-shadow: 0 4px 15px rgba(0, 184, 148, 0.3);
2873
+ animation: successPulse 1.5s infinite;
2874
+ }
2875
+
2876
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn.active:hover {
2877
+ background: linear-gradient(135deg, #00a085 0%, #00b894 100%);
2878
+ box-shadow: 0 6px 20px rgba(0, 184, 148, 0.4);
2879
+ }
2880
+
2881
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn[variant=outline-secondary]:hover {
2882
+ background: #6c757d;
2883
+ border-color: #6c757d;
2884
+ color: white;
2885
+ box-shadow: 0 4px 15px rgba(108, 117, 125, 0.3);
2886
+ }
2887
+
2888
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn:hover {
2889
+ background: #ff6b6b;
2890
+ border-color: #ff6b6b;
2891
+ color: white;
2892
+ box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
2893
+ animation: shake 0.5s ease-in-out;
2894
+ }
2895
+
2896
+ @media (max-width: 768px) {
2897
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-container {
2898
+ height: 200px;
2899
+ }
2900
+
2901
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls {
2902
+ padding: 0.75rem;
2903
+ gap: 0.5rem;
2904
+ }
2905
+
2906
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn,
2907
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn {
2908
+ min-width: 80px;
2909
+ padding: 0.375rem 0.75rem;
2910
+ font-size: 0.75rem;
2911
+ }
2912
+
2913
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn i,
2914
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn i {
2915
+ font-size: 0.875rem;
2916
+ }
2917
+
2918
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-thumbnail-btn small,
2919
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .enhanced-media-controls .enhanced-delete-btn small {
2920
+ font-size: 0.625rem;
2921
+ }
2922
+
2923
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .thumbnail-indicator {
2924
+ top: 8px;
2925
+ right: 8px;
2926
+ padding: 0.375rem 0.5rem;
2927
+ font-size: 0.625rem;
2928
+ }
2929
+
2930
+ .edit-post-modal .enhanced-media-preview .enhanced-media-grid-item .thumbnail-indicator i {
2931
+ font-size: 0.75rem;
2932
+ }
2933
+ }
2934
+
2935
+ @keyframes fadeInUp {
2936
+ from {
2937
+ opacity: 0;
2938
+ transform: translateY(30px);
2939
+ }
2940
+
2941
+ to {
2942
+ opacity: 1;
2943
+ transform: translateY(0);
2944
+ }
2945
+ }
2946
+
2947
+ @keyframes pulseGlow {
2948
+
2949
+ 0%,
2950
+ 100% {
2951
+ box-shadow: 0 0 0 2px rgba(74, 58, 255, 0.3), 0 8px 25px rgba(0, 0, 0, 0.3);
2952
+ }
2953
+
2954
+ 50% {
2955
+ box-shadow: 0 0 0 4px rgba(74, 58, 255, 0.5), 0 8px 25px rgba(0, 0, 0, 0.3);
2956
+ }
2957
+ }
2958
+
2959
+ @keyframes shimmer {
2960
+ 0% {
2961
+ background-position: -200% 0;
2962
+ }
2963
+
2964
+ 100% {
2965
+ background-position: 200% 0;
2966
+ }
2967
+ }
2968
+
2969
+ @keyframes editPulse {
2970
+
2971
+ 0%,
2972
+ 100% {
2973
+ border-color: rgba(255, 193, 7, 0.3);
2974
+ }
2975
+
2976
+ 50% {
2977
+ border-color: rgba(255, 193, 7, 0.6);
2978
+ }
2979
+ }
2980
+
2981
+ @keyframes slideInRight {
2982
+ from {
2983
+ opacity: 0;
2984
+ transform: translateX(20px);
2985
+ }
2986
+
2987
+ to {
2988
+ opacity: 1;
2989
+ transform: translateX(0);
2990
+ }
2991
+ }
2992
+
2993
+ @keyframes rotateIn {
2994
+ from {
2995
+ transform: rotate(-180deg);
2996
+ opacity: 0;
2997
+ }
2998
+
2999
+ to {
3000
+ transform: rotate(0deg);
3001
+ opacity: 1;
3002
+ }
3003
+ }
3004
+
3005
+ @keyframes successPulse {
3006
+
3007
+ 0%,
3008
+ 100% {
3009
+ box-shadow: 0 4px 15px rgba(0, 184, 148, 0.3);
3010
+ }
3011
+
3012
+ 50% {
3013
+ box-shadow: 0 6px 20px rgba(0, 184, 148, 0.5);
3014
+ }
3015
+ }
3016
+
3017
+ @keyframes shake {
3018
+
3019
+ 0%,
3020
+ 100% {
3021
+ transform: translateY(-2px) translateX(0);
3022
+ }
3023
+
3024
+ 25% {
3025
+ transform: translateY(-2px) translateX(-2px);
3026
+ }
3027
+
3028
+ 75% {
3029
+ transform: translateY(-2px) translateX(2px);
3030
+ }
3031
+ }
3032
+
3033
+ /* Reusable Media Grid Component */
3034
+ .media-grid {
3035
+ display: grid;
3036
+ width: 100%;
3037
+ height: 100%;
3038
+ gap: 2px;
3039
+ }
3040
+
3041
+ /* Single item: full width and height */
3042
+ .media-grid--single {
3043
+ grid-template-columns: 1fr;
3044
+ grid-template-rows: 1fr;
3045
+ }
3046
+
3047
+ /* Double items: side by side, equal width */
3048
+ .media-grid--double {
3049
+ grid-template-columns: 1fr 1fr;
3050
+ grid-template-rows: 1fr;
3051
+ }
3052
+
3053
+ /* Triple items: first item full height left, second+third stacked right */
3054
+ .media-grid--triple {
3055
+ grid-template-columns: 1fr 1fr;
3056
+ grid-template-rows: 1fr 1fr;
3057
+ }
3058
+
3059
+ .media-grid--triple>.media-item:first-child {
3060
+ grid-row: 1 / span 2;
3061
+ }
3062
+
3063
+ /* Media item container */
3064
+ .media-item {
3065
+ position: relative;
3066
+ width: 100%;
3067
+ height: 100%;
3068
+ overflow: hidden;
3069
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
3070
+ cursor: pointer;
3071
+ }
3072
+
3073
+ .media-item:hover {
3074
+ transform: scale(1.02);
3075
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
3076
+ }
3077
+
3078
+ /* Image styling */
3079
+ .media-item__image {
3080
+ width: 100%;
3081
+ height: 100%;
3082
+ display: block;
3083
+ -o-object-fit: cover;
3084
+ object-fit: cover;
3085
+ backface-visibility: hidden;
3086
+ transform: translateZ(0);
3087
+ pointer-events: none;
3088
+ }
3089
+
3090
+ .media-item__image.portrait {
3091
+ -o-object-fit: contain;
3092
+ object-fit: contain;
3093
+ }
3094
+
3095
+ .media-item__image.landscape {
3096
+ -o-object-fit: cover;
3097
+ object-fit: cover;
3098
+ }
3099
+
3100
+ /* Video cells: make container and video fill the grid cell */
3101
+ .media-item--video .video-player-container {
3102
+ width: 100%;
3103
+ height: 100%;
3104
+ position: relative;
3105
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
3106
+ cursor: pointer;
3107
+ }
3108
+
3109
+ .media-item--video .video-player-container:hover {
3110
+ transform: scale(1.02);
3111
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
3112
+ }
3113
+
3114
+ .media-item--video video {
3115
+ width: 100%;
3116
+ height: 100%;
3117
+ -o-object-fit: cover;
3118
+ object-fit: cover;
3119
+ display: block;
3120
+ pointer-events: none;
3121
+ /* Prevent video from blocking container interactions */
3122
+ }
3123
+
3124
+ /* Image containers: trigger UI changes on container, not image */
3125
+ .media-item--image {
3126
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
3127
+ cursor: pointer;
3128
+ }
3129
+
3130
+ .media-item--image:hover {
3131
+ transform: scale(1.02);
3132
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
3133
+ }
3134
+
3135
+ .media-item--image .media-item__image {
3136
+ pointer-events: none;
3137
+ /* Prevent image from blocking container interactions */
3138
+ }
3139
+
3140
+ @keyframes fadeInUp {
3141
+ from {
3142
+ opacity: 0;
3143
+ transform: translateY(30px);
3144
+ }
3145
+
3146
+ to {
3147
+ opacity: 1;
3148
+ transform: translateY(0);
3149
+ }
3150
+ }
3151
+
3152
+ @keyframes pulseGlow {
3153
+
3154
+ 0%,
3155
+ 100% {
3156
+ box-shadow: 0 0 0 2px rgba(74, 58, 255, 0.3), 0 8px 25px rgba(0, 0, 0, 0.3);
3157
+ }
3158
+
3159
+ 50% {
3160
+ box-shadow: 0 0 0 2px rgba(74, 58, 255, 0.5), 0 8px 25px rgba(74, 58, 255, 0.2);
3161
+ }
3162
+ }
3163
+
3164
+ @keyframes shimmer {
3165
+ 0% {
3166
+ transform: translateX(-100%);
3167
+ }
3168
+
3169
+ 100% {
3170
+ transform: translateX(100%);
3171
+ }
3172
+ }
3173
+
3174
+ @keyframes editPulse {
3175
+
3176
+ 0%,
3177
+ 100% {
3178
+ border-color: rgba(255, 193, 7, 0.3);
3179
+ }
3180
+
3181
+ 50% {
3182
+ border-color: rgba(255, 193, 7, 0.6);
3183
+ }
3184
+ }
3185
+
3186
+ @keyframes slideInRight {
3187
+ from {
3188
+ opacity: 0;
3189
+ transform: translateX(30px);
3190
+ }
3191
+
3192
+ to {
3193
+ opacity: 1;
3194
+ transform: translateX(0);
3195
+ }
3196
+ }
3197
+
3198
+ @keyframes rotateIn {
3199
+ from {
3200
+ opacity: 0;
3201
+ transform: rotate(-180deg);
3202
+ }
3203
+
3204
+ to {
3205
+ opacity: 1;
3206
+ transform: rotate(0);
3207
+ }
3208
+ }
3209
+
3210
+ @keyframes successPulse {
3211
+
3212
+ 0%,
3213
+ 100% {
3214
+ box-shadow: 0 4px 15px rgba(0, 184, 148, 0.3);
3215
+ }
3216
+
3217
+ 50% {
3218
+ box-shadow: 0 6px 20px rgba(0, 184, 148, 0.5);
3219
+ }
3220
+ }
3221
+
3222
+ @keyframes shake {
3223
+
3224
+ 0%,
3225
+ 100% {
3226
+ transform: translateY(-2px);
3227
+ }
3228
+
3229
+ 25% {
3230
+ transform: translateY(-2px) translateX(-2px);
3231
+ }
3232
+
3233
+ 75% {
3234
+ transform: translateY(-2px) translateX(2px);
3235
+ }
3236
+ }