@cupcodev/ui 3.1.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/styles/global.css CHANGED
@@ -86,10 +86,10 @@
86
86
 
87
87
  /* ===== GLASS MORPHISM UTILITIES ===== */
88
88
  .glass {
89
- background: var(--glass-bg);
89
+ background: hsl(var(--glass-bg));
90
90
  backdrop-filter: blur(var(--glass-blur-md));
91
91
  -webkit-backdrop-filter: blur(var(--glass-blur-md));
92
- border: 1px solid var(--glass-border);
92
+ border: 1px solid hsl(var(--glass-border));
93
93
  position: relative;
94
94
  }
95
95
 
@@ -122,10 +122,10 @@
122
122
  }
123
123
 
124
124
  .glass-strong {
125
- background: var(--glass-bg-strong);
125
+ background: hsl(var(--glass-bg-strong));
126
126
  backdrop-filter: blur(var(--glass-blur-lg));
127
127
  -webkit-backdrop-filter: blur(var(--glass-blur-lg));
128
- border: 1px solid var(--glass-border);
128
+ border: 1px solid hsl(var(--glass-border));
129
129
  }
130
130
 
131
131
  .glass-inverse {
@@ -586,6 +586,10 @@
586
586
  .cc-gradient-galaxy {
587
587
  background: var(--cc-gradient-galaxy);
588
588
  }
589
+
590
+ .gradient-primary {
591
+ background: linear-gradient(135deg, hsl(281, 83%, 47.8%), hsl(331, 83%, 53.5%));
592
+ }
589
593
 
590
594
  .cc-gradient-comet {
591
595
  background: var(--cc-gradient-comet);
@@ -689,6 +693,334 @@
689
693
  60% { transform: scale(0.995, 1.005); }
690
694
  100% { transform: scale(1, 1); }
691
695
  }
696
+
697
+ /* ===== Blob CTA Button (Webflow button-1) ===== */
698
+ .cc-blob-cta {
699
+ --cc-blob-shell: linear-gradient(140deg, rgba(255, 255, 255, 0.64), rgba(248, 243, 255, 0.52));
700
+ --cc-blob-border: rgba(124, 91, 187, 0.26);
701
+ --cc-blob-shadow: 0 12px 26px -18px rgba(58, 42, 88, 0.45), 0 8px 20px -16px rgba(124, 91, 187, 0.5);
702
+ --cc-blob-shadow-hover: 0 16px 30px -18px rgba(58, 42, 88, 0.52), 0 10px 26px -16px rgba(124, 91, 187, 0.58);
703
+ --cc-blob-wrap-bg: rgba(255, 255, 255, 0.26);
704
+ --cc-blob-bg: linear-gradient(140deg, rgba(255, 255, 255, 0.62), rgba(246, 238, 255, 0.5));
705
+ --cc-blob-bg-hover: linear-gradient(140deg, rgba(255, 255, 255, 0.7), rgba(238, 224, 252, 0.56));
706
+ --cc-blob-bg-active: linear-gradient(140deg, rgba(255, 255, 255, 0.56), rgba(228, 210, 248, 0.48));
707
+ --cc-blob-label: hsl(var(--cc-ink));
708
+ --cc-blob-glow-1: rgba(151, 90, 182, 0.38);
709
+ --cc-blob-glow-2: rgba(237, 30, 121, 0.23);
710
+ --cc-blob-glow-opacity-1: 0.34;
711
+ --cc-blob-glow-opacity-2: 0.24;
712
+ --cc-blob-color-opacity: 0.88;
713
+ position: relative;
714
+ display: inline-flex;
715
+ align-items: center;
716
+ justify-content: center;
717
+ width: 160px;
718
+ height: 60px;
719
+ border: 0;
720
+ border-radius: 12px;
721
+ padding: 0 16px;
722
+ cursor: pointer;
723
+ background: var(--cc-blob-shell);
724
+ color: var(--cc-blob-label);
725
+ border: 1px solid var(--cc-blob-border);
726
+ overflow: visible;
727
+ isolation: isolate;
728
+ box-shadow: var(--cc-blob-shadow);
729
+ backdrop-filter: blur(var(--glass-blur-md)) saturate(145%);
730
+ -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(145%);
731
+ text-decoration: none;
732
+ transition: transform 200ms ease, box-shadow 300ms ease;
733
+ -webkit-tap-highlight-color: transparent;
734
+ }
735
+
736
+ .cc-blob-cta:focus {
737
+ outline: none;
738
+ }
739
+
740
+ .cc-blob-cta:focus-visible {
741
+ outline: 2px solid rgba(237, 30, 121, 0.55);
742
+ outline-offset: 2px;
743
+ }
744
+
745
+ .cc-blob-cta:hover {
746
+ box-shadow: var(--cc-blob-shadow-hover);
747
+ }
748
+
749
+ .cc-blob-cta:active {
750
+ transform: translateY(1px);
751
+ }
752
+
753
+ .cc-blob-cta:disabled {
754
+ cursor: not-allowed;
755
+ opacity: 0.6;
756
+ }
757
+
758
+ .cc-blob-cta--sm {
759
+ width: 132px;
760
+ height: 50px;
761
+ border-radius: 10px;
762
+ }
763
+
764
+ .cc-blob-cta--md {
765
+ width: 160px;
766
+ height: 60px;
767
+ border-radius: 12px;
768
+ }
769
+
770
+ .cc-blob-cta--lg {
771
+ width: 184px;
772
+ height: 68px;
773
+ border-radius: 14px;
774
+ }
775
+
776
+ .cc-blob-cta__color-wrap {
777
+ position: absolute;
778
+ inset: 0;
779
+ z-index: 0;
780
+ border-radius: inherit;
781
+ background-color: var(--cc-blob-wrap-bg);
782
+ border: 1px solid rgba(255, 255, 255, 0.65);
783
+ backdrop-filter: blur(var(--glass-blur-sm)) saturate(120%);
784
+ -webkit-backdrop-filter: blur(var(--glass-blur-sm)) saturate(120%);
785
+ overflow: hidden;
786
+ pointer-events: none;
787
+ }
788
+
789
+ .cc-blob-cta__bg {
790
+ position: absolute;
791
+ z-index: 3;
792
+ top: 50%;
793
+ left: 50%;
794
+ width: 97%;
795
+ height: 95%;
796
+ border-radius: inherit;
797
+ background: var(--cc-blob-bg);
798
+ box-shadow:
799
+ inset 0 1px 0 rgba(255, 255, 255, 0.7),
800
+ 0 4px 14px -14px rgba(58, 42, 88, 0.45);
801
+ backdrop-filter: blur(var(--glass-blur-sm));
802
+ -webkit-backdrop-filter: blur(var(--glass-blur-sm));
803
+ transform: translate(-50%, -50%);
804
+ transition: all 0.3s ease-in-out;
805
+ }
806
+
807
+ .cc-blob-cta:hover .cc-blob-cta__bg {
808
+ -webkit-backdrop-filter: blur(6px);
809
+ backdrop-filter: blur(6px);
810
+ background: var(--cc-blob-bg-hover);
811
+ }
812
+
813
+ .cc-blob-cta:active .cc-blob-cta__bg {
814
+ background: var(--cc-blob-bg-active);
815
+ }
816
+
817
+ .cc-blob-cta__label {
818
+ position: relative;
819
+ z-index: 5;
820
+ display: inline-flex;
821
+ align-items: center;
822
+ justify-content: center;
823
+ color: var(--cc-blob-label);
824
+ font-family: var(--font-display);
825
+ font-size: 14px;
826
+ font-weight: 600;
827
+ line-height: 1;
828
+ letter-spacing: 0.01em;
829
+ text-align: center;
830
+ pointer-events: none;
831
+ white-space: nowrap;
832
+ }
833
+
834
+ .cc-blob-cta--lg .cc-blob-cta__label {
835
+ font-size: 15px;
836
+ }
837
+
838
+ .cc-blob-cta--sm .cc-blob-cta__label {
839
+ font-size: 13px;
840
+ }
841
+
842
+ .cc-blob-cta__color {
843
+ position: absolute;
844
+ z-index: 1;
845
+ width: 50px;
846
+ height: 50px;
847
+ border-radius: 50%;
848
+ filter: blur(16px);
849
+ mix-blend-mode: normal;
850
+ opacity: var(--cc-blob-color-opacity);
851
+ will-change: transform;
852
+ }
853
+
854
+ .cc-blob-cta__color--1 {
855
+ top: -30%;
856
+ left: -5%;
857
+ background-image: linear-gradient(112deg, #ff0f33d6, #ff6600db);
858
+ }
859
+
860
+ .cc-blob-cta__color--2 {
861
+ top: -30%;
862
+ left: 29%;
863
+ background-image: linear-gradient(251deg, #07fc, #ad15ffe0);
864
+ }
865
+
866
+ .cc-blob-cta__color--3 {
867
+ top: -30%;
868
+ left: 8%;
869
+ background-image: linear-gradient(251deg, #7300ffd6, #e815ffd9);
870
+ }
871
+
872
+ .cc-blob-cta:hover .cc-blob-cta__color--1,
873
+ .cc-blob-cta:focus-visible .cc-blob-cta__color--1 {
874
+ animation: cc-blob-cta-move-1 3.5s linear infinite;
875
+ }
876
+
877
+ .cc-blob-cta:hover .cc-blob-cta__color--2,
878
+ .cc-blob-cta:focus-visible .cc-blob-cta__color--2 {
879
+ animation: cc-blob-cta-move-2 3.5s linear infinite;
880
+ }
881
+
882
+ .cc-blob-cta:hover .cc-blob-cta__color--3,
883
+ .cc-blob-cta:focus-visible .cc-blob-cta__color--3 {
884
+ animation: cc-blob-cta-move-3 3.5s linear infinite;
885
+ }
886
+
887
+ .cc-blob-cta--secondary .cc-blob-cta__color--1 {
888
+ background-image: linear-gradient(112deg, #8dff4ed9, #18b765db);
889
+ }
890
+
891
+ .cc-blob-cta--secondary .cc-blob-cta__color--2 {
892
+ background-image: linear-gradient(251deg, #42ffd3e0, #15d4ffe0);
893
+ }
894
+
895
+ .cc-blob-cta--secondary .cc-blob-cta__color--3 {
896
+ background-image: linear-gradient(251deg, #7cff95d4, #15ff8fd9);
897
+ }
898
+
899
+ .cc-blob-cta--secondary {
900
+ --cc-blob-wrap-bg: rgba(224, 255, 241, 0.34);
901
+ --cc-blob-bg: linear-gradient(140deg, rgba(255, 255, 255, 0.66), rgba(230, 255, 242, 0.52));
902
+ --cc-blob-bg-hover: linear-gradient(140deg, rgba(255, 255, 255, 0.72), rgba(208, 250, 227, 0.58));
903
+ --cc-blob-bg-active: linear-gradient(140deg, rgba(247, 255, 251, 0.58), rgba(191, 245, 217, 0.5));
904
+ --cc-blob-label: #114e36;
905
+ --cc-blob-border: rgba(24, 183, 101, 0.34);
906
+ --cc-blob-shadow: 0 12px 26px -18px rgba(17, 78, 54, 0.32), 0 10px 24px -16px rgba(24, 183, 101, 0.36);
907
+ --cc-blob-shadow-hover: 0 16px 30px -18px rgba(17, 78, 54, 0.38), 0 12px 28px -16px rgba(24, 183, 101, 0.42);
908
+ --cc-blob-glow-1: rgba(24, 183, 101, 0.28);
909
+ --cc-blob-glow-2: rgba(66, 255, 211, 0.2);
910
+ }
911
+
912
+ .cc-blob-cta--half {
913
+ --cc-blob-wrap-bg: rgba(235, 227, 250, 0.35);
914
+ --cc-blob-bg: linear-gradient(140deg, rgba(255, 255, 255, 0.66), rgba(236, 227, 252, 0.54));
915
+ --cc-blob-label: hsl(var(--cc-purple));
916
+ --cc-blob-border: rgba(124, 91, 187, 0.34);
917
+ --cc-blob-glow-1: rgba(124, 91, 187, 0.34);
918
+ --cc-blob-glow-2: rgba(95, 110, 255, 0.22);
919
+ }
920
+
921
+ .cc-blob-cta__glow {
922
+ position: absolute;
923
+ border-radius: 50%;
924
+ pointer-events: none;
925
+ }
926
+
927
+ .cc-blob-cta__glow--1 {
928
+ z-index: -3;
929
+ width: 220px;
930
+ height: 140px;
931
+ top: 18%;
932
+ right: -42%;
933
+ background-color: var(--cc-blob-glow-1);
934
+ opacity: var(--cc-blob-glow-opacity-1);
935
+ filter: blur(52px);
936
+ }
937
+
938
+ .cc-blob-cta__glow--2 {
939
+ z-index: -2;
940
+ width: 250px;
941
+ height: 170px;
942
+ top: 30%;
943
+ right: 50%;
944
+ background-color: var(--cc-blob-glow-2);
945
+ opacity: var(--cc-blob-glow-opacity-2);
946
+ filter: blur(56px);
947
+ }
948
+
949
+ .dark .cc-blob-cta {
950
+ --cc-blob-shell: linear-gradient(140deg, hsl(var(--cc-ink) / 0.62), hsl(var(--cc-ink) / 0.48));
951
+ --cc-blob-border: rgba(124, 91, 187, 0.36);
952
+ --cc-blob-shadow: 0 0 15px #3913b659;
953
+ --cc-blob-shadow-hover: 0 0 22px rgba(57, 19, 182, 0.5);
954
+ --cc-blob-wrap-bg: hsl(var(--cc-ink) / 0.52);
955
+ --cc-blob-bg: linear-gradient(140deg, hsl(var(--cc-ink) / 0.78), hsl(var(--cc-ink) / 0.62));
956
+ --cc-blob-bg-hover: linear-gradient(140deg, hsl(var(--cc-ink) / 0.86), hsl(var(--cc-ink) / 0.68));
957
+ --cc-blob-bg-active: linear-gradient(140deg, hsl(var(--cc-ink) / 0.66), hsl(var(--cc-ink) / 0.52));
958
+ --cc-blob-label: #ffffff;
959
+ --cc-blob-glow-1: hsl(var(--cc-ink));
960
+ --cc-blob-glow-2: rgba(124, 91, 187, 0.48);
961
+ --cc-blob-glow-opacity-1: 0.35;
962
+ --cc-blob-glow-opacity-2: 0.22;
963
+ --cc-blob-color-opacity: 1;
964
+ }
965
+
966
+ .dark .cc-blob-cta__color-wrap {
967
+ border-color: transparent;
968
+ }
969
+
970
+ .dark .cc-blob-cta__bg {
971
+ box-shadow: none;
972
+ }
973
+
974
+ .dark .cc-blob-cta--secondary {
975
+ --cc-blob-wrap-bg: rgba(9, 37, 24, 0.42);
976
+ --cc-blob-bg: linear-gradient(140deg, rgba(7, 22, 15, 0.76), rgba(9, 37, 24, 0.6));
977
+ --cc-blob-bg-hover: linear-gradient(140deg, rgba(9, 37, 24, 0.82), rgba(11, 45, 29, 0.64));
978
+ --cc-blob-bg-active: linear-gradient(140deg, rgba(8, 31, 21, 0.7), rgba(8, 31, 21, 0.56));
979
+ --cc-blob-label: #ecfff6;
980
+ --cc-blob-border: rgba(24, 183, 101, 0.34);
981
+ --cc-blob-shadow: 0 0 15px rgba(16, 126, 74, 0.38);
982
+ --cc-blob-shadow-hover: 0 0 24px rgba(16, 126, 74, 0.5);
983
+ --cc-blob-glow-1: rgba(24, 183, 101, 0.3);
984
+ --cc-blob-glow-2: rgba(66, 255, 211, 0.18);
985
+ }
986
+
987
+ .dark .cc-blob-cta--half {
988
+ --cc-blob-wrap-bg: hsl(var(--cc-ink) / 0.48);
989
+ --cc-blob-bg: linear-gradient(140deg, hsl(var(--cc-ink) / 0.74), rgba(16, 12, 35, 0.64));
990
+ --cc-blob-bg-hover: linear-gradient(140deg, hsl(var(--cc-ink) / 0.82), rgba(16, 12, 35, 0.7));
991
+ --cc-blob-bg-active: linear-gradient(140deg, hsl(var(--cc-ink) / 0.68), rgba(12, 8, 25, 0.62));
992
+ --cc-blob-label: #ece6ff;
993
+ }
994
+
995
+ @keyframes cc-blob-cta-move-1 {
996
+ 0% { transform: translate3d(0%, 0%, 0); }
997
+ 16.67% { transform: translate3d(120%, 0%, 0); }
998
+ 33.33% { transform: translate3d(230%, -20%, 0); }
999
+ 50% { transform: translate3d(240%, 60%, 0); }
1000
+ 66.67% { transform: translate3d(80%, 80%, 0); }
1001
+ 83.33% { transform: translate3d(0%, 80%, 0); }
1002
+ 100% { transform: translate3d(0%, 0%, 0); }
1003
+ }
1004
+
1005
+ @keyframes cc-blob-cta-move-2 {
1006
+ 0% { transform: translate3d(0%, 0%, 0); }
1007
+ 16.67% { transform: translate3d(130%, 0%, 0); }
1008
+ 33.33% { transform: translate3d(170%, 30%, 0); }
1009
+ 50% { transform: translate3d(170%, 80%, 0); }
1010
+ 66.67% { transform: translate3d(0%, 100%, 0); }
1011
+ 83.33% { transform: translate3d(-80%, 40%, 0); }
1012
+ 100% { transform: translate3d(0%, 0%, 0); }
1013
+ }
1014
+
1015
+ @keyframes cc-blob-cta-move-3 {
1016
+ 0% { transform: translate3d(0%, 0%, 0); }
1017
+ 16.67% { transform: translate3d(120%, 0%, 0); }
1018
+ 33.33% { transform: translate3d(120%, 80%, 0); }
1019
+ 50% { transform: translate3d(-120%, 80%, 0); }
1020
+ 66.67% { transform: translate3d(-120%, 0%, 0); }
1021
+ 83.33% { transform: translate3d(-120%, 0%, 0); }
1022
+ 100% { transform: translate3d(0%, 0%, 0); }
1023
+ }
692
1024
 
693
1025
  /* ===== FONT UTILITIES ===== */
694
1026
  .font-cupcode {
@@ -781,157 +1113,313 @@
781
1113
  left: 2px;
782
1114
  }
783
1115
 
784
- /* ===== AUDIO PLAYER CIRCLE ===== */
785
- .circle {
786
- display: grid;
787
- grid-template-rows: 1fr;
788
- grid-row: 4/6;
789
- grid-column: 2/3;
790
- align-items: center;
791
- justify-items: center;
792
- width: 6rem;
793
- height: 100%;
794
- border-radius: 1rem;
795
- position: absolute;
796
- top: calc(50% - 48px / 3);
797
- transform: translate(-50%, -50%);
798
- left: 50%;
799
- }
800
-
801
- .circle__btn {
1116
+ /* ===== VIDEO WATCH BUTTON ===== */
1117
+ .cc-video-watch-btn {
802
1118
  position: relative;
803
- z-index: 300;
804
- display: flex;
805
- grid-row: 1/2;
806
- grid-column: 1/2;
1119
+ display: inline-flex;
807
1120
  align-items: center;
808
- justify-content: center;
809
- justify-self: center;
810
- width: 3rem;
811
- height: 3rem;
812
- margin: 0.6rem;
813
- border-radius: 50%;
814
- background-color: #e4ebf5;
815
- color: #ffffff;
816
- box-shadow:
817
- 0.3rem 0.3rem 0.6rem #c8d0e7,
818
- -0.2rem -0.2rem 0.5rem #ffffff;
819
- font-size: 3.2rem;
1121
+ justify-content: flex-start;
1122
+ width: 64px;
1123
+ height: 64px;
1124
+ padding: 7px;
1125
+ border: 1px solid rgba(159, 160, 255, 0.3);
1126
+ border-radius: 9999px;
1127
+ background: rgba(255, 255, 255, 0.08);
1128
+ color: rgba(248, 244, 255, 0.96);
1129
+ text-decoration: none;
820
1130
  cursor: pointer;
821
- transition: all 0.3s;
1131
+ overflow: visible;
1132
+ isolation: isolate;
1133
+ transform: translateZ(0);
1134
+ -webkit-tap-highlight-color: transparent;
1135
+ box-shadow:
1136
+ inset 0 1px 0 rgba(255, 255, 255, 0.45),
1137
+ 0 14px 34px -22px rgba(0, 0, 0, 0.8);
1138
+ transition:
1139
+ width 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
1140
+ border-color 220ms ease,
1141
+ background-color 220ms ease,
1142
+ box-shadow 220ms ease;
822
1143
  }
823
1144
 
824
- .dark .circle__btn {
825
- background-color: rgba(23, 16, 45, 0.92);
826
- color: rgba(248, 244, 255, 0.92);
827
- box-shadow:
828
- 0.3rem 0.3rem 0.6rem rgba(4, 1, 18, 0.6),
829
- -0.2rem -0.2rem 0.5rem rgba(115, 72, 180, 0.35);
1145
+ .cc-video-watch-btn:focus {
1146
+ outline: none;
830
1147
  }
831
-
832
- .circle__btn:hover {
833
- color: #7c5bbb40;
834
- background-color: #fff;
1148
+
1149
+ .cc-video-watch-btn:hover,
1150
+ .cc-video-watch-btn:focus-visible {
1151
+ width: 180px;
1152
+ border-color: rgba(208, 154, 255, 0.5);
1153
+ background: rgba(255, 255, 255, 0.13);
1154
+ box-shadow:
1155
+ inset 0 1px 0 rgba(255, 255, 255, 0.55),
1156
+ 0 18px 38px -20px rgba(151, 90, 182, 0.62);
835
1157
  }
836
1158
 
837
- .dark .circle__btn:hover {
838
- color: var(--cc-hover-overlay);
839
- background-color: rgba(39, 27, 75, 0.95);
1159
+ .cc-video-watch-btn:focus-visible {
1160
+ outline: 2px solid rgba(237, 30, 121, 0.45);
1161
+ outline-offset: 2px;
840
1162
  }
841
-
842
- .circle__btn:hover ~ .circle__back-1 {
843
- background: linear-gradient(to bottom, #7c5bbb30 0%, #975ab630 100%);
1163
+
1164
+ .cc-video-watch-btn:active {
1165
+ transform: translateY(1px);
844
1166
  }
845
1167
 
846
- .dark .circle__btn:hover ~ .circle__back-1 {
847
- background: linear-gradient(to bottom, rgba(124, 91, 187, 0.45) 0%, rgba(151, 90, 182, 0.3) 100%);
1168
+ .cc-video-watch-btn__bg {
1169
+ position: relative;
1170
+ z-index: 2;
1171
+ display: inline-flex;
1172
+ align-items: center;
1173
+ gap: 10px;
1174
+ width: 48px;
1175
+ height: 48px;
1176
+ padding: 0 16px 0 14px;
1177
+ border: 1px solid rgba(255, 255, 255, 0.28);
1178
+ border-radius: 9999px;
1179
+ overflow: hidden;
1180
+ backdrop-filter: blur(14px) saturate(130%);
1181
+ -webkit-backdrop-filter: blur(14px) saturate(130%);
1182
+ background:
1183
+ radial-gradient(120% 140% at 84% 18%, rgba(255, 255, 255, 0.56) 0%, rgba(255, 255, 255, 0.15) 45%, rgba(255, 255, 255, 0.06) 100%),
1184
+ linear-gradient(120deg, rgba(151, 90, 182, 0.2), rgba(124, 91, 187, 0.16));
1185
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
1186
+ transition:
1187
+ width 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
1188
+ border-color 220ms ease,
1189
+ box-shadow 220ms ease;
848
1190
  }
849
-
850
- .circle__btn.shadow {
1191
+
1192
+ .cc-video-watch-btn:hover .cc-video-watch-btn__bg,
1193
+ .cc-video-watch-btn:focus-visible .cc-video-watch-btn__bg {
1194
+ width: 164px;
1195
+ border-color: rgba(255, 255, 255, 0.38);
851
1196
  box-shadow:
852
- inset 0.2rem 0.2rem 0.5rem #c8d0e7,
853
- inset -0.2rem -0.2rem 0.5rem #ffffff;
1197
+ inset 0 1px 0 rgba(255, 255, 255, 0.52),
1198
+ 0 6px 18px -16px rgba(151, 90, 182, 0.78);
854
1199
  }
855
1200
 
856
- .dark .circle__btn.shadow {
857
- box-shadow:
858
- inset 0.2rem 0.2rem 0.5rem rgba(4, 1, 18, 0.8),
859
- inset -0.2rem -0.2rem 0.5rem rgba(107, 66, 174, 0.35);
1201
+ .cc-video-watch-btn__icon {
1202
+ position: relative;
1203
+ z-index: 2;
1204
+ display: inline-flex;
1205
+ align-items: center;
1206
+ justify-content: center;
1207
+ flex-shrink: 0;
1208
+ transform: translateX(2px);
1209
+ color: hsl(var(--cc-pink));
1210
+ filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.32));
1211
+ transition: transform 320ms ease;
860
1212
  }
861
-
862
- .circle__btn .play {
863
- position: absolute;
1213
+
1214
+ .cc-video-watch-btn:hover .cc-video-watch-btn__icon,
1215
+ .cc-video-watch-btn:focus-visible .cc-video-watch-btn__icon {
1216
+ transform: translateX(0);
1217
+ }
1218
+
1219
+ .cc-video-watch-btn__label {
1220
+ position: relative;
1221
+ z-index: 2;
1222
+ display: inline-block;
1223
+ max-width: 0;
1224
+ overflow: hidden;
1225
+ white-space: nowrap;
864
1226
  opacity: 0;
865
- transition: 0.02s linear;
866
- font-size: 25px;
1227
+ transform: translateX(10px);
1228
+ font-family: var(--font-display);
1229
+ font-size: 0.875rem;
1230
+ font-weight: 600;
1231
+ line-height: 1;
1232
+ letter-spacing: 0.01em;
1233
+ color: hsl(var(--cc-pink));
1234
+ transition:
1235
+ max-width 380ms cubic-bezier(0.22, 0.61, 0.36, 1),
1236
+ opacity 240ms ease,
1237
+ transform 320ms ease;
867
1238
  }
868
-
869
- .circle__btn .play.visibility {
1239
+
1240
+ .cc-video-watch-btn:hover .cc-video-watch-btn__label,
1241
+ .cc-video-watch-btn:focus-visible .cc-video-watch-btn__label {
1242
+ max-width: 96px;
870
1243
  opacity: 1;
871
- transition: 0.02s linear;
1244
+ transform: translateX(0);
872
1245
  }
873
-
874
- .circle__btn .pause {
875
- position: absolute;
876
- opacity: 0;
877
- transition: 0.02s linear;
878
- font-size: 25px;
879
- }
880
1246
 
881
- .circle__btn .pause.visibility {
882
- opacity: 1;
883
- }
884
-
885
- .circle__back-1,
886
- .circle__back-2 {
887
- z-index: 100;
888
- grid-row: 1/2;
889
- grid-column: 1/2;
890
- width: 3rem;
891
- height: 3rem;
1247
+ .cc-video-watch-btn__mask {
1248
+ position: absolute;
1249
+ inset: 0;
1250
+ z-index: 1;
1251
+ border-radius: inherit;
1252
+ overflow: hidden;
1253
+ opacity: 0.86;
1254
+ pointer-events: none;
1255
+ }
1256
+
1257
+ .cc-video-watch-btn__blob {
1258
+ position: absolute;
1259
+ width: 50px;
1260
+ height: 50px;
892
1261
  border-radius: 50%;
893
- filter: blur(1px);
1262
+ will-change: transform;
894
1263
  }
895
-
896
- .circle__back-1 {
897
- background: linear-gradient(to bottom, #c8d0e7 0%, #ffffff 100%);
898
- box-shadow:
899
- 0.4rem 0.4rem 0.8rem #c8d0e7,
900
- -0.4rem -0.4rem 0.8rem #ffffff;
901
- animation: waves 4s linear infinite;
1264
+
1265
+ .cc-video-watch-btn__blob--1 {
1266
+ top: -8px;
1267
+ left: -12px;
1268
+ background: radial-gradient(
1269
+ circle at 30% 30%,
1270
+ rgba(159, 160, 255, 0.82) 0%,
1271
+ rgba(124, 91, 187, 0.58) 55%,
1272
+ rgba(124, 91, 187, 0) 100%
1273
+ );
1274
+ animation: cc-video-watch-blob-1 9.5s linear infinite;
902
1275
  }
903
1276
 
904
- .dark .circle__back-1 {
905
- background: linear-gradient(to bottom, rgba(54, 36, 92, 0.75) 0%, rgba(92, 42, 120, 0.65) 100%);
906
- box-shadow:
907
- 0.4rem 0.4rem 0.8rem rgba(4, 1, 18, 0.55),
908
- -0.4rem -0.4rem 0.8rem rgba(112, 70, 179, 0.28);
1277
+ .cc-video-watch-btn__blob--2 {
1278
+ top: 12px;
1279
+ left: 26px;
1280
+ background: radial-gradient(
1281
+ circle at 30% 30%,
1282
+ rgba(249, 104, 173, 0.86) 0%,
1283
+ rgba(237, 30, 121, 0.6) 55%,
1284
+ rgba(237, 30, 121, 0) 100%
1285
+ );
1286
+ animation: cc-video-watch-blob-2 9.5s linear infinite;
909
1287
  }
910
-
911
- .circle__back-2 {
912
- box-shadow:
913
- 0.4rem 0.4rem 0.8rem #c8d0e7,
914
- -0.4rem -0.4rem 0.8rem #ffffff;
915
- animation: waves 4s linear 2s infinite;
1288
+
1289
+ .cc-video-watch-btn__blob--3 {
1290
+ top: -16px;
1291
+ left: 18px;
1292
+ background: radial-gradient(
1293
+ circle at 30% 30%,
1294
+ rgba(111, 248, 222, 0.8) 0%,
1295
+ rgba(89, 200, 255, 0.56) 55%,
1296
+ rgba(89, 200, 255, 0) 100%
1297
+ );
1298
+ animation: cc-video-watch-blob-3 9.5s linear infinite;
916
1299
  }
917
1300
 
918
- .dark .circle__back-2 {
919
- box-shadow:
920
- 0.4rem 0.4rem 0.8rem rgba(4, 1, 18, 0.55),
921
- -0.4rem -0.4rem 0.8rem rgba(112, 70, 179, 0.28);
1301
+ .cc-video-watch-btn__blob--4 {
1302
+ top: 8px;
1303
+ left: 50px;
1304
+ background: radial-gradient(
1305
+ circle at 30% 30%,
1306
+ rgba(255, 197, 115, 0.82) 0%,
1307
+ rgba(255, 142, 161, 0.54) 55%,
1308
+ rgba(255, 142, 161, 0) 100%
1309
+ );
1310
+ animation: cc-video-watch-blob-4 9.5s linear infinite;
922
1311
  }
923
-
924
- @keyframes waves {
925
- 0% {
926
- opacity: 1;
927
- transform: scale(1);
1312
+
1313
+ .cc-video-watch-btn__blob--5 {
1314
+ top: -10px;
1315
+ left: 64px;
1316
+ background: radial-gradient(
1317
+ circle at 30% 30%,
1318
+ rgba(95, 110, 255, 0.82) 0%,
1319
+ rgba(151, 90, 182, 0.55) 55%,
1320
+ rgba(151, 90, 182, 0) 100%
1321
+ );
1322
+ animation: cc-video-watch-blob-5 9.5s linear infinite;
1323
+ }
1324
+
1325
+ .cc-video-watch-btn__glow {
1326
+ position: absolute;
1327
+ inset: 8px;
1328
+ z-index: 0;
1329
+ border-radius: 9999px;
1330
+ pointer-events: none;
1331
+ background: radial-gradient(80% 120% at 50% 85%, rgba(151, 90, 182, 0.52), rgba(151, 90, 182, 0));
1332
+ filter: blur(16px);
1333
+ opacity: 0.28;
1334
+ transition: opacity 320ms ease;
1335
+ }
1336
+
1337
+ .cc-video-watch-btn:hover .cc-video-watch-btn__glow,
1338
+ .cc-video-watch-btn:focus-visible .cc-video-watch-btn__glow {
1339
+ opacity: 0.72;
1340
+ }
1341
+
1342
+ .dark .cc-video-watch-btn {
1343
+ border-color: rgba(159, 160, 255, 0.38);
1344
+ background: rgba(255, 255, 255, 0.11);
1345
+ }
1346
+
1347
+ .dark .cc-video-watch-btn__bg {
1348
+ border-color: rgba(255, 255, 255, 0.32);
1349
+ }
1350
+
1351
+ @keyframes cc-video-watch-blob-1 {
1352
+ 0%, 21.05% {
1353
+ transform: translate3d(0, 0, 0);
928
1354
  }
929
- 50% {
930
- opacity: 1;
1355
+ 47.37% {
1356
+ transform: translate3d(130px, 68px, 0);
1357
+ }
1358
+ 73.68% {
1359
+ transform: translate3d(160px, -70px, 0);
1360
+ }
1361
+ 100% {
1362
+ transform: translate3d(0, 0, 0);
1363
+ }
1364
+ }
1365
+
1366
+ @keyframes cc-video-watch-blob-2 {
1367
+ 0%, 21.05% {
1368
+ transform: translate3d(0, 0, 0);
1369
+ }
1370
+ 47.37% {
1371
+ transform: translate3d(-140px, -53px, 0);
1372
+ }
1373
+ 73.68% {
1374
+ transform: translate3d(-260px, 40px, 0);
1375
+ }
1376
+ 100% {
1377
+ transform: translate3d(-66px, 0, 0);
1378
+ }
1379
+ }
1380
+
1381
+ @keyframes cc-video-watch-blob-3 {
1382
+ 0%, 21.05% {
1383
+ transform: translate3d(0, 0, 0);
1384
+ }
1385
+ 47.37% {
1386
+ transform: translate3d(100px, -73px, 0);
1387
+ }
1388
+ 73.68% {
1389
+ transform: translate3d(100px, 0, 0);
1390
+ }
1391
+ 100% {
1392
+ transform: translate3d(0, 0, 0);
1393
+ }
1394
+ }
1395
+
1396
+ @keyframes cc-video-watch-blob-4 {
1397
+ 0%, 21.05% {
1398
+ transform: translate3d(0, 0, 0);
1399
+ }
1400
+ 47.37% {
1401
+ transform: translate3d(-140px, -48px, 0);
1402
+ }
1403
+ 73.68% {
1404
+ transform: translate3d(20px, 80px, 0);
931
1405
  }
932
1406
  100% {
933
- opacity: 0;
934
- transform: scale(2);
1407
+ transform: translate3d(0, 0, 0);
1408
+ }
1409
+ }
1410
+
1411
+ @keyframes cc-video-watch-blob-5 {
1412
+ 0%, 21.05% {
1413
+ transform: translate3d(0, 0, 0);
1414
+ }
1415
+ 47.37% {
1416
+ transform: translate3d(180px, 10px, 0);
1417
+ }
1418
+ 73.68% {
1419
+ transform: translate3d(80px, -80px, 0);
1420
+ }
1421
+ 100% {
1422
+ transform: translate3d(0, 0, 0);
935
1423
  }
936
1424
  }
937
1425
 
@@ -1137,6 +1625,133 @@
1137
1625
  .animate-float-and-rotate-fast {
1138
1626
  animation: floatC 4.8s ease-in-out infinite;
1139
1627
  }
1628
+
1629
+ .cc-animacoes-cta-wrap {
1630
+ position: relative;
1631
+ display: inline-flex;
1632
+ }
1633
+
1634
+ .cc-animacoes-cta-btn {
1635
+ transform-origin: 50% 56%;
1636
+ will-change: transform;
1637
+ }
1638
+
1639
+ .cc-animacoes-cta-badge-wrap {
1640
+ position: absolute;
1641
+ right: -9px;
1642
+ top: -12px;
1643
+ z-index: 12;
1644
+ pointer-events: none;
1645
+ }
1646
+
1647
+ .cc-animacoes-cta-badge {
1648
+ position: relative;
1649
+ z-index: 2;
1650
+ display: inline-flex;
1651
+ align-items: center;
1652
+ justify-content: center;
1653
+ border-radius: 999px;
1654
+ border: 1px solid rgba(255, 255, 255, 0.8);
1655
+ background: linear-gradient(130deg, #f9247c, #ff8b3d);
1656
+ color: #fff;
1657
+ font-size: 10px;
1658
+ font-weight: 700;
1659
+ line-height: 1;
1660
+ letter-spacing: 0.04em;
1661
+ text-transform: uppercase;
1662
+ padding: 4px 7px;
1663
+ box-shadow: 0 8px 20px -10px rgba(249, 36, 124, 0.7);
1664
+ transform-origin: 62% 72%;
1665
+ animation: cc-animacoes-cta-wobble 2.6s ease-in-out infinite;
1666
+ will-change: transform;
1667
+ }
1668
+
1669
+ .cc-animacoes-cta-confetti {
1670
+ position: absolute;
1671
+ left: 50%;
1672
+ top: 50%;
1673
+ transform: translate(-50%, -50%);
1674
+ width: 78px;
1675
+ height: 52px;
1676
+ z-index: 1;
1677
+ pointer-events: none;
1678
+ overflow: visible;
1679
+ }
1680
+
1681
+ .cc-animacoes-cta-confetti line {
1682
+ stroke: rgba(255, 246, 245, 0.96);
1683
+ stroke-width: 1.8;
1684
+ stroke-linecap: round;
1685
+ transform-origin: 39px 26px;
1686
+ animation: cc-animacoes-confetti 1.35s ease-in-out infinite;
1687
+ }
1688
+
1689
+ .cc-animacoes-cta-confetti line:nth-child(2) {
1690
+ animation-delay: 120ms;
1691
+ }
1692
+
1693
+ .cc-animacoes-cta-confetti line:nth-child(3) {
1694
+ animation-delay: 240ms;
1695
+ }
1696
+
1697
+ .cc-animacoes-cta-confetti line:nth-child(4) {
1698
+ animation-delay: 360ms;
1699
+ }
1700
+
1701
+ .cc-animacoes-cta-confetti line:nth-child(5) {
1702
+ animation-delay: 480ms;
1703
+ }
1704
+
1705
+ .cc-animacoes-cta-confetti line:nth-child(6) {
1706
+ animation-delay: 600ms;
1707
+ }
1708
+
1709
+ .cc-animacoes-cta-confetti line:nth-child(7) {
1710
+ animation-delay: 720ms;
1711
+ }
1712
+
1713
+ .cc-animacoes-cta-confetti line:nth-child(8) {
1714
+ animation-delay: 840ms;
1715
+ }
1716
+
1717
+ @keyframes cc-animacoes-cta-wobble {
1718
+ 0%,
1719
+ 82%,
1720
+ 100% {
1721
+ transform: rotate(0deg);
1722
+ }
1723
+ 84% {
1724
+ transform: rotate(-2.6deg);
1725
+ }
1726
+ 86% {
1727
+ transform: rotate(2.2deg);
1728
+ }
1729
+ 88% {
1730
+ transform: rotate(-1.5deg);
1731
+ }
1732
+ 90% {
1733
+ transform: rotate(1.1deg);
1734
+ }
1735
+ 92% {
1736
+ transform: rotate(-0.6deg);
1737
+ }
1738
+ }
1739
+
1740
+ @keyframes cc-animacoes-confetti {
1741
+ 0%,
1742
+ 100% {
1743
+ opacity: 0.45;
1744
+ transform: scale(0.7) rotate(0deg);
1745
+ }
1746
+ 35% {
1747
+ opacity: 1;
1748
+ transform: scale(1.06) rotate(-4deg);
1749
+ }
1750
+ 70% {
1751
+ opacity: 0.68;
1752
+ transform: scale(0.82) rotate(3deg);
1753
+ }
1754
+ }
1140
1755
 
1141
1756
  /* ===== HERO SECTION ===== */
1142
1757
  #hero-section-one {
@@ -1246,16 +1861,26 @@
1246
1861
  img.ElementoFlutuante2 {
1247
1862
  display: none;
1248
1863
  }
1249
- .circle {
1250
- transform: translate(0%, -50%);
1251
- top: calc(50% - 32px / 3);
1252
- right: 0%;
1253
- left: unset;
1254
- width: 5rem;
1864
+ .cc-video-watch-btn {
1865
+ width: 60px;
1866
+ height: 60px;
1867
+ padding: 6px;
1868
+ }
1869
+ .cc-video-watch-btn:hover,
1870
+ .cc-video-watch-btn:focus-visible {
1871
+ width: 168px;
1872
+ }
1873
+ .cc-video-watch-btn__bg {
1874
+ width: 46px;
1875
+ height: 46px;
1876
+ padding: 0 14px 0 13px;
1877
+ }
1878
+ .cc-video-watch-btn:hover .cc-video-watch-btn__bg,
1879
+ .cc-video-watch-btn:focus-visible .cc-video-watch-btn__bg {
1880
+ width: 154px;
1255
1881
  }
1256
- .circle__btn {
1257
- width: 2rem;
1258
- height: 2rem;
1882
+ .cc-video-watch-btn__label {
1883
+ font-size: 0.8125rem;
1259
1884
  }
1260
1885
  .row-column-content {
1261
1886
  max-width: 100%;