source: KernelRecordsMVC.Web/wwwroot/css/site.css@ 595d2e5

main
Last change on this file since 595d2e5 was 595d2e5, checked in by mmilevski <markomilevski3@…>, 4 weeks ago

Various UI bugfixes.

  • Property mode set to 100644
File size: 71.5 KB
Line 
1/* =========================================================
2 KERNEL RECORDS
3 MAIN STYLESHEET
4 ========================================================= */
5
6* {
7 box-sizing: border-box;
8 margin: 0;
9 padding: 0;
10}
11
12html {
13 font-size: 16px;
14 scroll-behavior: smooth;
15}
16
17body {
18 font-family:
19 Inter,
20 -apple-system,
21 BlinkMacSystemFont,
22 "Segoe UI",
23 sans-serif;
24
25 background: #f5f5f3;
26 color: #171717;
27
28 min-height: 100vh;
29
30 display: flex;
31 flex-direction: column;
32}
33
34a {
35 color: inherit;
36 text-decoration: none;
37}
38
39button,
40input,
41select,
42textarea {
43 font: inherit;
44}
45
46button {
47 cursor: pointer;
48}
49
50
51/* =========================================================
52 NAVBAR
53 ========================================================= */
54
55.site-header {
56 position: relative;
57 z-index: 1000;
58}
59
60.navbar {
61 background: #111;
62 color: white;
63 border-bottom: 1px solid #292929;
64}
65
66.navbar-container {
67 max-width: 1450px;
68 height: 82px;
69
70 margin: auto;
71 padding: 0 30px;
72
73 display: flex;
74 align-items: center;
75 gap: 35px;
76}
77
78.navbar-content {
79 flex: 1;
80
81 display: flex;
82 align-items: center;
83 gap: 25px;
84}
85
86.nav-links {
87 display: flex;
88 align-items: center;
89 gap: 25px;
90
91 list-style: none;
92 white-space: nowrap;
93}
94
95.nav-links a {
96 position: relative;
97
98 color: #d5d5d5;
99
100 font-size: 13px;
101 font-weight: 700;
102}
103
104.nav-links a:hover {
105 color: white;
106}
107
108.nav-links > li > a::after {
109 content: "";
110
111 position: absolute;
112
113 left: 0;
114 bottom: -8px;
115
116 width: 0;
117 height: 2px;
118
119 background: white;
120
121 transition: width .2s ease;
122}
123
124.nav-links > li > a:hover::after {
125 width: 100%;
126}
127
128.nav-sale {
129 color: #ffb4b4 !important;
130}
131
132
133/* =========================================================
134 DROPDOWNS
135 ========================================================= */
136
137.nav-dropdown {
138 position: relative;
139}
140
141.dropdown-toggle {
142 display: flex;
143 align-items: center;
144 gap: 6px;
145}
146
147.arrow {
148 font-size: 12px;
149 opacity: .7;
150}
151
152.dropdown-menu {
153 position: absolute;
154
155 top: calc(100% + 22px);
156 left: -15px;
157
158 width: 190px;
159
160 padding: 8px 0;
161
162 background: #1b1b1b;
163
164 border: 1px solid #303030;
165 border-radius: 8px;
166
167 box-shadow: 0 15px 40px rgba(0,0,0,.35);
168
169 opacity: 0;
170 visibility: hidden;
171
172 transform: translateY(-5px);
173
174 transition:
175 opacity .2s ease,
176 transform .2s ease,
177 visibility .2s ease;
178}
179
180.nav-dropdown:hover .dropdown-menu {
181 opacity: 1;
182 visibility: visible;
183 transform: translateY(0);
184}
185
186.dropdown-menu a {
187 display: block;
188
189 padding: 11px 17px;
190
191 color: #ccc;
192}
193
194.dropdown-menu a:hover {
195 background: #292929;
196 color: white;
197}
198
199
200/* =========================================================
201 NAV SEARCH
202 ========================================================= */
203
204.navbar-search {
205 flex: 1;
206
207 max-width: 320px;
208 height: 40px;
209
210 margin-left: auto;
211
212 display: flex;
213
214 background: #242424;
215
216 border: 1px solid #343434;
217 border-radius: 6px;
218
219 overflow: hidden;
220}
221
222.navbar-search input {
223 flex: 1;
224
225 min-width: 0;
226
227 padding: 0 14px;
228
229 border: none;
230 outline: none;
231
232 background: transparent;
233 color: white;
234
235 font-size: 13px;
236}
237
238.navbar-search input::placeholder {
239 color: #888;
240}
241
242.navbar-search button {
243 width: 43px;
244
245 border: none;
246 background: transparent;
247
248 color: #aaa;
249
250 font-size: 22px;
251}
252
253.navbar-search button:hover {
254 background: #303030;
255 color: white;
256}
257
258
259/* =========================================================
260 NAV ACTIONS
261 ========================================================= */
262
263.navbar-actions {
264 display: flex;
265 align-items: center;
266 gap: 17px;
267
268 flex-shrink: 0;
269}
270
271.nav-icon {
272 display: flex;
273 align-items: center;
274 gap: 7px;
275
276 color: #d1d1d1;
277
278 transition: color .2s ease;
279}
280
281.nav-icon:hover {
282 color: white;
283}
284
285.icon {
286 font-size: 21px;
287}
288
289.icon-label {
290 font-size: 12px;
291 font-weight: 700;
292}
293
294.cart-icon {
295 font-size: 17px;
296}
297
298
299/* =========================================================
300 AUTH
301 ========================================================= */
302
303.auth-buttons {
304 display: flex;
305 align-items: center;
306 gap: 8px;
307}
308
309.login-button,
310.register-button {
311 height: 38px;
312
313 padding: 0 15px;
314
315 display: flex;
316 align-items: center;
317 justify-content: center;
318
319 border-radius: 5px;
320
321 font-size: 12px;
322 font-weight: 800;
323}
324
325.login-button {
326 border: 1px solid #555;
327 background: transparent;
328 color: #eee;
329}
330
331.login-button:hover {
332 background: #292929;
333}
334
335.register-button {
336 border: 1px solid white;
337 background: white;
338 color: #111;
339}
340
341.register-button:hover {
342 background: #ddd;
343}
344
345
346/* =========================================================
347 ACCOUNT
348 ========================================================= */
349
350.account-dropdown {
351 position: relative;
352}
353
354.account-button {
355 height: 40px;
356
357 display: flex;
358 align-items: center;
359 gap: 8px;
360
361 padding: 0 5px;
362
363 border: none;
364 background: transparent;
365 color: white;
366}
367
368.user-icon {
369 width: 28px;
370 height: 28px;
371
372 display: flex;
373 align-items: center;
374 justify-content: center;
375
376 border-radius: 50%;
377
378 background: #303030;
379 color: #aaa;
380
381 font-size: 10px;
382}
383
384.account-name {
385 max-width: 100px;
386
387 overflow: hidden;
388 text-overflow: ellipsis;
389 white-space: nowrap;
390
391 font-size: 12px;
392 font-weight: 700;
393}
394
395.account-menu {
396 position: absolute;
397
398 right: 0;
399 top: calc(100% + 15px);
400
401 width: 210px;
402
403 padding: 7px 0;
404
405 background: #1b1b1b;
406
407 border: 1px solid #303030;
408 border-radius: 8px;
409
410 box-shadow: 0 15px 40px rgba(0,0,0,.35);
411
412 opacity: 0;
413 visibility: hidden;
414
415 transform: translateY(-5px);
416
417 transition:
418 opacity .2s ease,
419 transform .2s ease,
420 visibility .2s ease;
421}
422
423.account-dropdown:hover .account-menu {
424 opacity: 1;
425 visibility: visible;
426 transform: translateY(0);
427}
428
429.account-menu a,
430.logout-button {
431 width: 100%;
432
433 display: flex;
434 align-items: center;
435 gap: 11px;
436
437 padding: 11px 16px;
438
439 border: none;
440 background: transparent;
441
442 color: #d0d0d0;
443
444 font-size: 13px;
445 text-align: left;
446}
447
448.account-menu a:hover,
449.logout-button:hover {
450 background: #292929;
451 color: white;
452}
453
454.menu-divider {
455 height: 1px;
456
457 margin: 6px 0;
458
459 background: #303030;
460}
461
462/* =========================================================
463 NAVBAR CART COUNT
464 ========================================================= */
465
466.nav-cart-link {
467 position: relative;
468}
469
470.nav-cart-icon-wrap {
471 position: relative;
472
473 display: inline-flex;
474 align-items: center;
475 justify-content: center;
476}
477
478.nav-cart-count {
479 position: absolute;
480
481 top: -10px;
482 right: -13px;
483
484 min-width: 18px;
485 height: 18px;
486
487 display: inline-flex;
488 align-items: center;
489 justify-content: center;
490
491 padding: 0 5px;
492
493 border: 2px solid #111;
494 border-radius: 999px;
495
496 background: white;
497 color: #111;
498
499 font-size: 9px;
500 font-weight: 900;
501 line-height: 1;
502}
503
504/* =========================================================
505 ANNOUNCEMENT
506 ========================================================= */
507
508.announcement-bar {
509 height: 32px;
510
511 display: flex;
512 align-items: center;
513 justify-content: center;
514 gap: 10px;
515
516 background: #e8e8e8;
517 color: #333;
518
519 font-size: 9px;
520 font-weight: 900;
521 letter-spacing: 1.3px;
522}
523
524/* =========================================================
525 MAIN
526 ========================================================= */
527
528.main-content {
529 flex: 1;
530 width: 100%;
531}
532
533
534/* =========================================================
535 GENERAL
536 ========================================================= */
537
538.page-eyebrow,
539.section-label {
540 display: block;
541
542 color: #777;
543
544 font-size: 10px;
545 font-weight: 900;
546
547 letter-spacing: 1.8px;
548 text-transform: uppercase;
549}
550
551.store-button {
552 min-height: 42px;
553
554 display: inline-flex;
555 align-items: center;
556 justify-content: center;
557
558 padding: 0 18px;
559
560 border: 1px solid #171717;
561 border-radius: 6px;
562
563 font-size: 12px;
564 font-weight: 800;
565
566 transition:
567 background .2s ease,
568 color .2s ease,
569 transform .2s ease;
570}
571
572.store-button:hover {
573 transform: translateY(-1px);
574}
575
576.store-button.primary {
577 background: #171717;
578 color: white;
579}
580
581.store-button.primary:hover {
582 background: #333;
583}
584
585.store-button.secondary {
586 background: white;
587 color: #171717;
588 border-color: #d4d4d4;
589}
590
591.store-button.secondary:hover {
592 background: #eee;
593}
594
595.store-button.small {
596 min-height: 36px;
597 padding: 0 14px;
598}
599
600.store-button.full {
601 width: 100%;
602}
603
604
605/* =========================================================
606 RELEASE INDEX
607 ========================================================= */
608
609.releases-page {
610 max-width: 1380px;
611
612 margin: 0 auto;
613
614 padding: 55px 30px 80px;
615}
616
617.releases-header {
618 display: flex;
619 align-items: flex-end;
620 justify-content: space-between;
621
622 margin-bottom: 35px;
623}
624
625.releases-header h1 {
626 margin-top: 8px;
627
628 font-size: 44px;
629 font-weight: 900;
630 letter-spacing: -1.5px;
631}
632
633.releases-header p {
634 margin-top: 8px;
635
636 color: #777;
637
638 font-size: 15px;
639}
640
641.release-count {
642 color: #777;
643
644 font-size: 12px;
645 font-weight: 800;
646}
647
648
649/* =========================================================
650 FILTERS
651 ========================================================= */
652
653.release-filters {
654 display: grid;
655
656 grid-template-columns:
657 2fr
658 1fr
659 1fr
660 1fr
661 1fr
662 auto;
663
664 gap: 12px;
665
666 align-items: end;
667
668 padding: 18px;
669
670 margin-bottom: 35px;
671
672 background: white;
673
674 border: 1px solid #ddd;
675 border-radius: 10px;
676
677 box-shadow: 0 5px 20px rgba(0,0,0,.04);
678}
679
680.release-filters label {
681 display: block;
682
683 margin-bottom: 7px;
684
685 color: #666;
686
687 font-size: 9px;
688 font-weight: 900;
689
690 text-transform: uppercase;
691 letter-spacing: 1px;
692}
693
694.release-filters input,
695.release-filters select {
696 width: 100%;
697 height: 44px;
698
699 padding: 0 13px;
700
701 border: 1px solid #d5d5d5;
702 border-radius: 6px;
703
704 outline: none;
705
706 background: white;
707 color: #171717;
708
709 font-size: 12px;
710}
711
712.release-filters input:focus,
713.release-filters select:focus {
714 border-color: #777;
715}
716
717.filter-button .store-button {
718 height: 44px;
719}
720
721.clear-filter {
722 grid-column: 1 / -1;
723}
724
725.clear-filter a {
726 color: #777;
727
728 font-size: 11px;
729 font-weight: 700;
730}
731
732.clear-filter a:hover {
733 color: #111;
734}
735
736
737/* =========================================================
738 RELEASE GRID
739 ========================================================= */
740
741.release-grid {
742 display: grid;
743
744 grid-template-columns:
745 repeat(4, minmax(0, 1fr));
746
747 gap: 24px;
748}
749
750.release-card {
751 overflow: hidden;
752
753 background: white;
754
755 border: 1px solid #ddd;
756 border-radius: 10px;
757
758 transition:
759 transform .25s ease,
760 box-shadow .25s ease;
761}
762
763.release-card:hover {
764 transform: translateY(-5px);
765
766 box-shadow:
767 0 18px 40px rgba(0,0,0,.10);
768}
769
770.release-card-cover {
771 position: relative;
772
773 display: block;
774
775 aspect-ratio: 1 / 1;
776
777 overflow: hidden;
778
779 background: #ddd;
780}
781
782.release-card-cover img {
783 width: 100%;
784 height: 100%;
785
786 display: block;
787
788 object-fit: cover;
789
790 transition: transform .4s ease;
791}
792
793.release-card:hover .release-card-cover img {
794 transform: scale(1.04);
795}
796
797.release-no-cover {
798 width: 100%;
799 height: 100%;
800
801 display: flex;
802 align-items: center;
803 justify-content: center;
804
805 background:
806 linear-gradient(
807 135deg,
808 #222,
809 #555
810 );
811
812 color: white;
813}
814
815.release-no-cover span {
816 font-size: 55px;
817}
818
819.release-type-badge {
820 position: absolute;
821
822 top: 12px;
823 left: 12px;
824
825 padding: 6px 9px;
826
827 background: rgba(17,17,17,.9);
828 color: white;
829
830 border-radius: 4px;
831
832 font-size: 9px;
833 font-weight: 900;
834
835 letter-spacing: 1px;
836}
837
838.release-card-body {
839 padding: 19px;
840}
841
842.release-card-meta {
843 display: flex;
844 justify-content: space-between;
845
846 margin-bottom: 8px;
847
848 color: #888;
849
850 font-size: 9px;
851 font-weight: 800;
852
853 text-transform: uppercase;
854 letter-spacing: .8px;
855}
856
857.release-card h2 {
858 margin-bottom: 5px;
859
860 font-size: 20px;
861 font-weight: 800;
862
863 line-height: 1.2;
864}
865
866.release-card h2 a:hover {
867 text-decoration: underline;
868}
869
870.release-card-artist {
871 min-height: 20px;
872
873 color: #666;
874
875 font-size: 13px;
876}
877
878.format-list {
879 display: flex;
880 flex-wrap: wrap;
881
882 gap: 6px;
883
884 margin-top: 14px;
885}
886
887.format-pill {
888 padding: 5px 8px;
889
890 background: #f0f0ee;
891
892 border-radius: 4px;
893
894 color: #555;
895
896 font-size: 9px;
897 font-weight: 900;
898
899 letter-spacing: .6px;
900}
901
902.release-card-bottom {
903 display: flex;
904 align-items: center;
905 justify-content: space-between;
906
907 gap: 10px;
908
909 margin-top: 18px;
910 padding-top: 15px;
911
912 border-top: 1px solid #eee;
913}
914
915.release-starting {
916 color: #888;
917
918 font-size: 10px;
919}
920
921.release-starting strong {
922 display: block;
923
924 margin-top: 2px;
925
926 color: #171717;
927
928 font-size: 14px;
929}
930
931
932/* =========================================================
933 EMPTY STATES
934 ========================================================= */
935
936.empty-store,
937.no-sales-data {
938 padding: 80px 25px;
939
940 text-align: center;
941
942 background: white;
943
944 border: 1px solid #ddd;
945 border-radius: 10px;
946}
947
948.empty-store-icon {
949 margin-bottom: 15px;
950
951 color: #777;
952
953 font-size: 48px;
954}
955
956.empty-store h2,
957.no-sales-data h2 {
958 margin-bottom: 8px;
959
960 font-size: 25px;
961}
962
963.empty-store p,
964.no-sales-data p {
965 margin-bottom: 22px;
966
967 color: #777;
968}
969
970
971/* =========================================================
972 RELEASE DETAILS
973 ========================================================= */
974
975.release-details-page {
976 max-width: 1250px;
977
978 margin: 0 auto;
979
980 padding: 50px 30px 80px;
981}
982
983.release-hero {
984 display: grid;
985
986 grid-template-columns:
987 minmax(350px, 500px)
988 1fr;
989
990 gap: 55px;
991
992 align-items: start;
993}
994
995.release-hero-cover {
996 aspect-ratio: 1 / 1;
997
998 overflow: hidden;
999
1000 border-radius: 8px;
1001
1002 background: #ddd;
1003}
1004
1005.release-hero-cover img {
1006 width: 100%;
1007 height: 100%;
1008
1009 object-fit: cover;
1010}
1011
1012.release-hero-info h1 {
1013 margin-top: 8px;
1014
1015 font-size: 55px;
1016 line-height: .95;
1017 letter-spacing: -2px;
1018 font-weight: 900;
1019}
1020
1021.release-artists-main {
1022 margin: 22px 0 32px;
1023
1024 color: #555;
1025
1026 font-size: 19px;
1027}
1028
1029.release-facts {
1030 display: grid;
1031
1032 grid-template-columns:
1033 repeat(3, 1fr);
1034
1035 gap: 15px;
1036
1037 padding: 20px 0;
1038
1039 border-top: 1px solid #ddd;
1040 border-bottom: 1px solid #ddd;
1041}
1042
1043.release-facts div {
1044 display: flex;
1045 flex-direction: column;
1046
1047 gap: 5px;
1048}
1049
1050.release-facts span {
1051 color: #888;
1052
1053 font-size: 9px;
1054 font-weight: 900;
1055
1056 text-transform: uppercase;
1057 letter-spacing: 1px;
1058}
1059
1060.release-facts strong {
1061 font-size: 13px;
1062}
1063
1064.artist-section {
1065 margin-top: 25px;
1066}
1067
1068.release-artists {
1069 display: flex;
1070 flex-wrap: wrap;
1071
1072 gap: 7px;
1073
1074 margin-top: 10px;
1075}
1076
1077.artist-tag {
1078 padding: 7px 10px;
1079
1080 background: white;
1081
1082 border: 1px solid #ddd;
1083 border-radius: 5px;
1084
1085 font-size: 12px;
1086 font-weight: 700;
1087}
1088
1089.artist-role {
1090 color: #888;
1091
1092 font-size: 9px;
1093
1094 text-transform: uppercase;
1095}
1096
1097
1098/* =========================================================
1099 RELEASE SECTIONS
1100 ========================================================= */
1101
1102.release-section {
1103 margin-top: 70px;
1104}
1105
1106.section-heading {
1107 display: flex;
1108 align-items: flex-end;
1109 justify-content: space-between;
1110
1111 margin-bottom: 22px;
1112 padding-bottom: 15px;
1113
1114 border-bottom: 1px solid #ddd;
1115}
1116
1117.section-heading h2 {
1118 margin-top: 5px;
1119
1120 font-size: 28px;
1121 font-weight: 900;
1122}
1123
1124.track-count {
1125 color: #888;
1126
1127 font-size: 12px;
1128}
1129
1130
1131/* =========================================================
1132 PRODUCT CARDS
1133 ========================================================= */
1134
1135.product-grid {
1136 display: grid;
1137
1138 grid-template-columns:
1139 repeat(3, minmax(0, 1fr));
1140
1141 gap: 18px;
1142}
1143
1144.store-product-card {
1145 padding: 23px;
1146
1147 background: white;
1148
1149 border: 1px solid #ddd;
1150 border-radius: 9px;
1151
1152 transition:
1153 transform .2s ease,
1154 box-shadow .2s ease;
1155}
1156
1157.store-product-card:hover {
1158 transform: translateY(-3px);
1159
1160 box-shadow:
1161 0 12px 30px rgba(0,0,0,.08);
1162}
1163
1164.product-card-top {
1165 display: flex;
1166 align-items: center;
1167 justify-content: space-between;
1168
1169 margin-bottom: 20px;
1170}
1171
1172.product-format {
1173 font-size: 13px;
1174 font-weight: 900;
1175
1176 letter-spacing: 1px;
1177}
1178
1179.product-stock {
1180 font-size: 10px;
1181 font-weight: 800;
1182}
1183
1184.product-stock.available {
1185 color: #27804d;
1186}
1187
1188.product-stock.unavailable {
1189 color: #a33;
1190}
1191
1192.product-price {
1193 margin-bottom: 10px;
1194
1195 font-size: 28px;
1196 font-weight: 900;
1197}
1198
1199.product-description {
1200 min-height: 48px;
1201
1202 color: #777;
1203
1204 font-size: 12px;
1205 line-height: 1.6;
1206}
1207
1208.product-actions {
1209 display: grid;
1210
1211 grid-template-columns:
1212 1fr 1fr;
1213
1214 gap: 8px;
1215
1216 margin-top: 20px;
1217}
1218
1219
1220/* =========================================================
1221 TRACK LIST
1222 ========================================================= */
1223
1224.track-list {
1225 background: white;
1226
1227 border: 1px solid #ddd;
1228 border-radius: 8px;
1229
1230 overflow: hidden;
1231
1232 list-style: none;
1233}
1234
1235.track-row {
1236 min-height: 68px;
1237
1238 display: grid;
1239
1240 grid-template-columns:
1241 55px 1fr auto;
1242
1243 align-items: center;
1244
1245 gap: 15px;
1246
1247 padding: 10px 20px;
1248
1249 border-bottom: 1px solid #eee;
1250}
1251
1252.track-row:last-child {
1253 border-bottom: none;
1254}
1255
1256.track-number {
1257 color: #999;
1258
1259 font-size: 12px;
1260 font-weight: 800;
1261}
1262
1263.track-main strong {
1264 font-size: 13px;
1265}
1266
1267.song-artists {
1268 margin-top: 4px;
1269
1270 color: #888;
1271
1272 font-size: 11px;
1273}
1274
1275.track-duration {
1276 color: #777;
1277
1278 font-size: 12px;
1279}
1280
1281
1282/* =========================================================
1283 SINGLE
1284 ========================================================= */
1285
1286.single-info-card {
1287 display: flex;
1288 align-items: center;
1289 justify-content: space-between;
1290
1291 padding: 25px;
1292
1293 background: white;
1294
1295 border: 1px solid #ddd;
1296 border-radius: 8px;
1297}
1298
1299.single-info-card h2 {
1300 margin-top: 5px;
1301
1302 font-size: 22px;
1303}
1304
1305.single-duration {
1306 text-align: right;
1307}
1308
1309.single-duration span {
1310 display: block;
1311
1312 color: #888;
1313
1314 font-size: 9px;
1315 font-weight: 900;
1316
1317 text-transform: uppercase;
1318 letter-spacing: 1px;
1319}
1320
1321.single-duration strong {
1322 display: block;
1323
1324 margin-top: 4px;
1325
1326 font-size: 20px;
1327}
1328
1329
1330/* =========================================================
1331 CART
1332 ========================================================= */
1333
1334.cart-page {
1335 max-width: 1250px;
1336
1337 margin: 0 auto;
1338
1339 padding: 55px 30px 80px;
1340}
1341
1342.cart-header {
1343 display: flex;
1344 align-items: flex-end;
1345 justify-content: space-between;
1346
1347 margin-bottom: 35px;
1348}
1349
1350.cart-header h1 {
1351 margin-top: 7px;
1352
1353 font-size: 44px;
1354 font-weight: 900;
1355
1356 letter-spacing: -1.5px;
1357}
1358
1359.cart-header p {
1360 margin-top: 8px;
1361
1362 color: #777;
1363
1364 font-size: 14px;
1365}
1366
1367.cart-layout {
1368 display: grid;
1369
1370 grid-template-columns:
1371 1fr 330px;
1372
1373 gap: 25px;
1374
1375 align-items: start;
1376}
1377
1378.cart-items {
1379 background: white;
1380
1381 border: 1px solid #ddd;
1382 border-radius: 9px;
1383
1384 overflow: hidden;
1385}
1386
1387.cart-items-header {
1388 padding: 16px 20px;
1389
1390 background: #fafafa;
1391
1392 border-bottom: 1px solid #ddd;
1393
1394 color: #777;
1395
1396 font-size: 12px;
1397 font-weight: 800;
1398}
1399
1400.cart-item {
1401 min-height: 130px;
1402
1403 display: grid;
1404
1405 grid-template-columns:
1406 90px 1fr auto auto 30px;
1407
1408 align-items: center;
1409
1410 gap: 18px;
1411
1412 padding: 20px;
1413
1414 border-bottom: 1px solid #eee;
1415}
1416
1417.cart-item:last-child {
1418 border-bottom: none;
1419}
1420
1421.cart-item-cover {
1422 width: 90px;
1423 height: 90px;
1424
1425 display: flex;
1426 align-items: center;
1427 justify-content: center;
1428
1429 overflow: hidden;
1430
1431 background:
1432 linear-gradient(
1433 135deg,
1434 #222,
1435 #555
1436 );
1437
1438 color: white;
1439
1440 border-radius: 5px;
1441}
1442
1443.cart-item-cover img {
1444 width: 100%;
1445 height: 100%;
1446
1447 object-fit: cover;
1448}
1449
1450.cart-item-type {
1451 color: #888;
1452
1453 font-size: 9px;
1454 font-weight: 900;
1455
1456 text-transform: uppercase;
1457 letter-spacing: 1px;
1458}
1459
1460.cart-item-info h2 {
1461 margin-top: 5px;
1462
1463 font-size: 17px;
1464 font-weight: 800;
1465}
1466
1467.cart-item-info h2 a:hover {
1468 text-decoration: underline;
1469}
1470
1471.cart-item-price {
1472 margin-top: 6px;
1473
1474 color: #777;
1475
1476 font-size: 11px;
1477}
1478
1479.cart-item-quantity form {
1480 display: flex;
1481 align-items: center;
1482
1483 gap: 6px;
1484}
1485
1486.cart-item-quantity input {
1487 width: 58px;
1488 height: 36px;
1489
1490 padding: 0 8px;
1491
1492 border: 1px solid #ccc;
1493 border-radius: 5px;
1494
1495 text-align: center;
1496}
1497
1498.cart-item-quantity button {
1499 height: 36px;
1500
1501 padding: 0 9px;
1502
1503 border: 1px solid #ccc;
1504 border-radius: 5px;
1505
1506 background: white;
1507 color: #555;
1508
1509 font-size: 10px;
1510 font-weight: 800;
1511}
1512
1513.cart-item-quantity button:hover {
1514 background: #eee;
1515}
1516
1517.cart-item-total {
1518 min-width: 80px;
1519
1520 text-align: right;
1521
1522 font-size: 15px;
1523 font-weight: 900;
1524}
1525
1526.cart-remove {
1527 width: 28px;
1528 height: 28px;
1529
1530 border: none;
1531 background: transparent;
1532
1533 color: #999;
1534
1535 font-size: 24px;
1536}
1537
1538.cart-remove:hover {
1539 color: #a33;
1540}
1541
1542.cart-summary {
1543 position: sticky;
1544 top: 25px;
1545
1546 padding: 25px;
1547
1548 background: white;
1549
1550 border: 1px solid #ddd;
1551 border-radius: 9px;
1552
1553 box-shadow: 0 8px 25px rgba(0,0,0,.05);
1554}
1555
1556.cart-summary h2 {
1557 margin-top: 6px;
1558
1559 font-size: 23px;
1560}
1561
1562.summary-line {
1563 display: flex;
1564 justify-content: space-between;
1565
1566 padding: 15px 0;
1567
1568 color: #777;
1569
1570 font-size: 13px;
1571
1572 border-bottom: 1px solid #eee;
1573}
1574
1575.summary-line.total {
1576 margin-bottom: 20px;
1577
1578 color: #171717;
1579
1580 font-size: 17px;
1581 font-weight: 900;
1582}
1583
1584/* =========================================================
1585 WISHLIST
1586 ========================================================= */
1587
1588.wishlist-page {
1589 max-width: 1250px;
1590 margin: 0 auto;
1591 padding: 55px 30px 80px;
1592}
1593
1594.page-header {
1595 margin-bottom: 35px;
1596}
1597
1598.page-header h1 {
1599 margin-top: 7px;
1600 font-size: 44px;
1601 font-weight: 900;
1602 letter-spacing: -1.5px;
1603}
1604
1605.page-header p {
1606 margin-top: 8px;
1607 color: #777;
1608 font-size: 14px;
1609}
1610
1611.wishlist-grid {
1612 display: grid;
1613 grid-template-columns: repeat(2, minmax(0, 1fr));
1614 gap: 20px;
1615}
1616
1617.wishlist-card {
1618 min-width: 0;
1619 min-height: 190px;
1620
1621 display: grid;
1622 grid-template-columns: 190px minmax(0, 1fr);
1623
1624 overflow: hidden;
1625
1626 background: white;
1627 border: 1px solid #ddd;
1628 border-radius: 10px;
1629
1630 transition:
1631 transform .2s ease,
1632 box-shadow .2s ease,
1633 border-color .2s ease;
1634}
1635
1636.wishlist-card:hover {
1637 transform: translateY(-2px);
1638 border-color: #ccc;
1639 box-shadow: 0 12px 30px rgba(0,0,0,.06);
1640}
1641
1642.wishlist-cover {
1643 width: 190px;
1644 height: 190px;
1645
1646 display: block;
1647
1648 overflow: hidden;
1649 background: #ddd;
1650}
1651
1652.wishlist-cover img,
1653.wishlist-cover .release-no-cover {
1654 width: 190px;
1655 height: 190px;
1656 display: block;
1657}
1658
1659.wishlist-cover img {
1660 object-fit: cover;
1661 object-position: center;
1662 transition: transform .35s ease;
1663}
1664
1665.wishlist-card:hover .wishlist-cover img {
1666 transform: scale(1.035);
1667}
1668
1669.wishlist-info {
1670 min-width: 0;
1671
1672 display: flex;
1673 flex-direction: column;
1674 justify-content: center;
1675
1676 padding: 22px 24px;
1677}
1678
1679.wishlist-format {
1680 display: block;
1681 margin-bottom: 7px;
1682
1683 color: #888;
1684
1685 font-size: 9px;
1686 font-weight: 900;
1687 text-transform: uppercase;
1688 letter-spacing: 1px;
1689}
1690
1691.wishlist-info h2 {
1692 margin: 0;
1693 font-size: 20px;
1694 font-weight: 900;
1695 line-height: 1.2;
1696}
1697
1698.wishlist-info h2 a:hover {
1699 text-decoration: underline;
1700}
1701
1702.wishlist-genre {
1703 margin-top: 6px;
1704 color: #777;
1705 font-size: 12px;
1706}
1707
1708.wishlist-bottom {
1709 display: flex;
1710 align-items: center;
1711 justify-content: space-between;
1712
1713 gap: 18px;
1714 margin-top: 20px;
1715}
1716
1717.wishlist-price-area {
1718 min-width: 90px;
1719 flex-shrink: 0;
1720}
1721
1722.wishlist-price {
1723 margin: 0;
1724 font-size: 23px;
1725 font-weight: 900;
1726 line-height: 1;
1727}
1728
1729.stock {
1730 display: block;
1731 margin-top: 7px;
1732 font-size: 10px;
1733 font-weight: 800;
1734}
1735
1736.stock.available {
1737 color: #27804d;
1738}
1739
1740.stock.unavailable {
1741 color: #a33;
1742}
1743
1744.wishlist-actions {
1745 display: flex;
1746 align-items: center;
1747 justify-content: flex-end;
1748 flex-wrap: wrap;
1749
1750 gap: 8px;
1751 margin: 0;
1752}
1753
1754.wishlist-actions form {
1755 margin: 0;
1756}
1757
1758.wishlist-actions .store-button,
1759.wishlist-actions .btn-remove {
1760 min-height: 40px;
1761
1762 display: inline-flex;
1763 align-items: center;
1764 justify-content: center;
1765
1766 padding: 0 15px;
1767
1768 border-radius: 6px;
1769
1770 font-size: 10px;
1771 font-weight: 900;
1772 line-height: 1;
1773 white-space: nowrap;
1774}
1775
1776.wishlist-actions .store-button {
1777 border: 1px solid #171717;
1778 background: #171717;
1779 color: white;
1780}
1781
1782.wishlist-actions .store-button:hover {
1783 background: #333;
1784 color: white;
1785}
1786
1787.btn-remove,
1788.wishlist-actions .btn-remove {
1789 min-height: 40px;
1790
1791 padding: 0 15px;
1792
1793 border: 1px solid #ccc;
1794 border-radius: 6px;
1795
1796 background: white;
1797 color: #666;
1798
1799 font-size: 10px;
1800 font-weight: 900;
1801}
1802
1803.btn-remove:hover,
1804.wishlist-actions .btn-remove:hover {
1805 border-color: #a33;
1806 background: #fff7f7;
1807 color: #a33;
1808}
1809
1810.empty-wishlist {
1811 padding: 75px 25px;
1812
1813 text-align: center;
1814
1815 background: white;
1816
1817 border: 1px solid #ddd;
1818 border-radius: 10px;
1819}
1820
1821.empty-wishlist .empty-icon {
1822 margin-bottom: 15px;
1823 color: #777;
1824 font-size: 48px;
1825}
1826
1827.empty-wishlist h2 {
1828 margin-bottom: 8px;
1829 font-size: 25px;
1830}
1831
1832.empty-wishlist p {
1833 margin-bottom: 22px;
1834 color: #777;
1835}
1836
1837@media (max-width: 1000px) {
1838 .wishlist-grid {
1839 grid-template-columns: 1fr;
1840 }
1841}
1842
1843@media (max-width: 650px) {
1844 .wishlist-card {
1845 grid-template-columns: 140px minmax(0, 1fr);
1846 min-height: 140px;
1847 }
1848
1849 .wishlist-cover,
1850 .wishlist-cover img,
1851 .wishlist-cover .release-no-cover {
1852 width: 140px;
1853 height: 140px;
1854 }
1855
1856 .wishlist-info {
1857 padding: 18px;
1858 }
1859
1860 .wishlist-bottom {
1861 align-items: flex-start;
1862 flex-direction: column;
1863 gap: 13px;
1864 margin-top: 16px;
1865 }
1866
1867 .wishlist-actions {
1868 justify-content: flex-start;
1869 }
1870}
1871
1872@media (max-width: 500px) {
1873 .wishlist-card {
1874 grid-template-columns: 1fr;
1875 }
1876
1877 .wishlist-cover,
1878 .wishlist-cover img,
1879 .wishlist-cover .release-no-cover {
1880 width: 100%;
1881 height: auto;
1882 aspect-ratio: 1 / 1;
1883 }
1884
1885 .wishlist-info {
1886 padding: 20px;
1887 }
1888
1889 .wishlist-actions {
1890 width: 100%;
1891 flex-direction: row;
1892 }
1893
1894 .wishlist-actions form {
1895 flex: 1;
1896 }
1897
1898 .wishlist-actions .store-button,
1899 .wishlist-actions .btn-remove {
1900 width: 100%;
1901 }
1902}
1903
1904/* =========================================================
1905 SALE
1906 ========================================================= */
1907
1908.sale-page {
1909 max-width: 1380px;
1910
1911 margin: 0 auto;
1912
1913 padding: 55px 30px 80px;
1914}
1915
1916.sale-header {
1917 margin-bottom: 40px;
1918}
1919
1920.sale-header h1 {
1921 margin-top: 8px;
1922
1923 font-size: 48px;
1924 font-weight: 900;
1925
1926 letter-spacing: -2px;
1927}
1928
1929.sale-header p {
1930 margin-top: 8px;
1931
1932 color: #777;
1933}
1934
1935.sale-grid {
1936 display: grid;
1937
1938 grid-template-columns:
1939 repeat(4, minmax(0, 1fr));
1940
1941 gap: 24px;
1942}
1943
1944.sale-card {
1945 overflow: hidden;
1946
1947 background: white;
1948
1949 border: 1px solid #ddd;
1950 border-radius: 10px;
1951
1952 transition:
1953 transform .25s ease,
1954 box-shadow .25s ease;
1955}
1956
1957.sale-card:hover {
1958 transform: translateY(-5px);
1959
1960 box-shadow:
1961 0 18px 40px rgba(0,0,0,.10);
1962}
1963
1964.sale-card-cover {
1965 position: relative;
1966
1967 display: block;
1968
1969 aspect-ratio: 1 / 1;
1970
1971 overflow: hidden;
1972
1973 background: #ddd;
1974}
1975
1976.sale-card-cover img {
1977 width: 100%;
1978 height: 100%;
1979
1980 object-fit: cover;
1981
1982 transition: transform .4s ease;
1983}
1984
1985.sale-card:hover .sale-card-cover img {
1986 transform: scale(1.04);
1987}
1988
1989.sale-badge {
1990 position: absolute;
1991
1992 top: 12px;
1993 right: 12px;
1994
1995 padding: 7px 9px;
1996
1997 background: #171717;
1998 color: white;
1999
2000 border-radius: 4px;
2001
2002 font-size: 10px;
2003 font-weight: 900;
2004}
2005
2006.sale-card-body {
2007 padding: 20px;
2008}
2009
2010.sale-card-body h2 {
2011 margin-top: 7px;
2012
2013 font-size: 20px;
2014 font-weight: 900;
2015}
2016
2017.sale-card-body h2 a:hover {
2018 text-decoration: underline;
2019}
2020
2021.sale-price-row {
2022 display: flex;
2023 align-items: baseline;
2024 gap: 9px;
2025
2026 margin-top: 18px;
2027}
2028
2029.sale-old-price {
2030 color: #999;
2031
2032 font-size: 13px;
2033
2034 text-decoration: line-through;
2035}
2036
2037.sale-price {
2038 font-size: 25px;
2039 font-weight: 900;
2040}
2041
2042.sale-actions {
2043 display: grid;
2044
2045 gap: 8px;
2046
2047 margin-top: 20px;
2048}
2049
2050
2051/* =========================================================
2052 TOP SELLERS
2053 ========================================================= */
2054
2055.top-sellers-page {
2056 max-width: 1380px;
2057
2058 margin: 0 auto;
2059
2060 padding: 55px 30px 80px;
2061}
2062
2063.top-sellers-header {
2064 margin-bottom: 40px;
2065}
2066
2067.top-sellers-header h1 {
2068 margin-top: 8px;
2069
2070 font-size: 48px;
2071 font-weight: 900;
2072
2073 letter-spacing: -2px;
2074}
2075
2076.top-sellers-header p {
2077 margin-top: 8px;
2078
2079 color: #777;
2080}
2081
2082
2083/* =========================================================
2084 HOME
2085 ========================================================= */
2086
2087.home-page {
2088 max-width: 1400px;
2089
2090 margin: 0 auto;
2091
2092 padding: 35px 30px 80px;
2093}
2094
2095.home-hero {
2096 min-height: 540px;
2097
2098 position: relative;
2099
2100 display: flex;
2101 align-items: center;
2102
2103 padding: 75px;
2104
2105 overflow: hidden;
2106
2107 background: #111;
2108 color: white;
2109
2110 border-radius: 16px;
2111}
2112
2113.home-hero-content {
2114 position: relative;
2115 z-index: 2;
2116
2117 max-width: 680px;
2118}
2119
2120.home-hero h1 {
2121 margin-top: 16px;
2122
2123 font-size: clamp(48px, 6vw, 82px);
2124
2125 line-height: .93;
2126
2127 font-weight: 900;
2128
2129 letter-spacing: -4px;
2130}
2131
2132.home-hero h1 span {
2133 color: #777;
2134}
2135
2136.home-hero p {
2137 max-width: 540px;
2138
2139 margin-top: 25px;
2140
2141 color: #bbb;
2142
2143 font-size: 17px;
2144 line-height: 1.7;
2145}
2146
2147.home-hero-actions {
2148 display: flex;
2149 gap: 10px;
2150
2151 margin-top: 30px;
2152}
2153
2154.home-button {
2155 min-height: 46px;
2156
2157 display: inline-flex;
2158 align-items: center;
2159 justify-content: center;
2160
2161 padding: 0 21px;
2162
2163 border-radius: 6px;
2164
2165 font-size: 12px;
2166 font-weight: 900;
2167}
2168
2169.home-button.primary {
2170 background: white;
2171 color: #111;
2172}
2173
2174.home-button.primary:hover {
2175 background: #ddd;
2176}
2177
2178.home-button.secondary {
2179 border: 1px solid #555;
2180 color: white;
2181}
2182
2183.home-button.secondary:hover {
2184 background: #292929;
2185}
2186
2187.home-section {
2188 margin-top: 70px;
2189}
2190
2191.home-section-header {
2192 margin-bottom: 25px;
2193}
2194
2195.home-section-header h2 {
2196 margin-top: 7px;
2197
2198 font-size: 32px;
2199 font-weight: 900;
2200}
2201
2202.home-feature-grid {
2203 display: grid;
2204
2205 grid-template-columns:
2206 repeat(3, 1fr);
2207
2208 gap: 18px;
2209}
2210
2211.home-feature-card {
2212 min-height: 220px;
2213
2214 padding: 27px;
2215
2216 background: white;
2217
2218 border: 1px solid #ddd;
2219 border-radius: 10px;
2220
2221 transition:
2222 transform .2s ease,
2223 box-shadow .2s ease;
2224}
2225
2226.home-feature-card:hover {
2227 transform: translateY(-4px);
2228
2229 box-shadow:
2230 0 15px 35px rgba(0,0,0,.08);
2231}
2232
2233.home-feature-card > span {
2234 color: #999;
2235
2236 font-size: 10px;
2237 font-weight: 900;
2238}
2239
2240.home-feature-card h3 {
2241 margin-top: 35px;
2242
2243 font-size: 23px;
2244 font-weight: 900;
2245}
2246
2247.home-feature-card p {
2248 margin-top: 8px;
2249
2250 color: #777;
2251
2252 font-size: 13px;
2253}
2254
2255.home-feature-card strong {
2256 display: block;
2257
2258 margin-top: 25px;
2259
2260 font-size: 12px;
2261}
2262
2263.home-feature-card.sale-feature {
2264 background: #171717;
2265 color: white;
2266}
2267
2268.home-feature-card.sale-feature p {
2269 color: #aaa;
2270}
2271
2272.home-collection {
2273 margin-top: 70px;
2274 padding: 40px;
2275
2276 display: flex;
2277 justify-content: space-between;
2278 gap: 40px;
2279
2280 background: #e9e9e7;
2281
2282 border-radius: 10px;
2283}
2284
2285.home-collection h2 {
2286 margin-top: 7px;
2287
2288 font-size: 32px;
2289 font-weight: 900;
2290}
2291
2292.home-collection p {
2293 max-width: 450px;
2294
2295 color: #666;
2296
2297 line-height: 1.7;
2298}
2299
2300
2301/* =========================================================
2302 PROFILE
2303 ========================================================= */
2304
2305.profile-page {
2306 max-width: 1100px;
2307
2308 margin: 0 auto;
2309
2310 padding: 55px 30px 80px;
2311}
2312
2313.profile-header {
2314 margin-bottom: 35px;
2315}
2316
2317.profile-header h1 {
2318 margin-top: 8px;
2319
2320 font-size: 44px;
2321 font-weight: 900;
2322
2323 letter-spacing: -1.5px;
2324}
2325
2326.profile-header p {
2327 margin-top: 8px;
2328
2329 color: #777;
2330}
2331
2332.profile-layout {
2333 display: grid;
2334
2335 grid-template-columns:
2336 280px 1fr;
2337
2338 gap: 25px;
2339
2340 align-items: start;
2341}
2342
2343.profile-sidebar,
2344.profile-card {
2345 background: white;
2346
2347 border: 1px solid #ddd;
2348 border-radius: 10px;
2349}
2350
2351.profile-sidebar {
2352 padding: 30px;
2353
2354 text-align: center;
2355}
2356
2357.profile-avatar {
2358 width: 80px;
2359 height: 80px;
2360
2361 margin: 0 auto 18px;
2362
2363 display: flex;
2364 align-items: center;
2365 justify-content: center;
2366
2367 border-radius: 50%;
2368
2369 background: #171717;
2370 color: white;
2371
2372 font-size: 32px;
2373 font-weight: 900;
2374}
2375
2376.profile-sidebar h2 {
2377 font-size: 21px;
2378}
2379
2380.profile-sidebar > p {
2381 margin-top: 5px;
2382
2383 color: #777;
2384
2385 font-size: 12px;
2386
2387 word-break: break-word;
2388}
2389
2390.profile-member,
2391.profile-points {
2392 margin-top: 28px;
2393 padding-top: 20px;
2394
2395 border-top: 1px solid #eee;
2396}
2397
2398.profile-member span,
2399.profile-points span {
2400 display: block;
2401
2402 color: #888;
2403
2404 font-size: 9px;
2405 font-weight: 900;
2406
2407 letter-spacing: 1px;
2408}
2409
2410.profile-member strong,
2411.profile-points strong {
2412 display: block;
2413
2414 margin-top: 6px;
2415
2416 font-size: 14px;
2417}
2418
2419.profile-points strong {
2420 font-size: 25px;
2421}
2422
2423.profile-card {
2424 padding: 30px;
2425}
2426
2427.profile-card-header {
2428 padding-bottom: 20px;
2429
2430 border-bottom: 1px solid #eee;
2431}
2432
2433.profile-card-header h2 {
2434 margin-top: 6px;
2435
2436 font-size: 24px;
2437}
2438
2439.profile-form {
2440 padding-top: 25px;
2441}
2442
2443.profile-field {
2444 margin-bottom: 20px;
2445}
2446
2447.profile-field label {
2448 display: block;
2449
2450 margin-bottom: 7px;
2451
2452 color: #555;
2453
2454 font-size: 10px;
2455 font-weight: 900;
2456
2457 text-transform: uppercase;
2458 letter-spacing: 1px;
2459}
2460
2461.profile-field input,
2462.profile-field textarea {
2463 width: 100%;
2464
2465 padding: 12px 13px;
2466
2467 border: 1px solid #d4d4d4;
2468 border-radius: 6px;
2469
2470 outline: none;
2471
2472 background: white;
2473 color: #171717;
2474
2475 font-size: 13px;
2476}
2477
2478.profile-field textarea {
2479 resize: vertical;
2480}
2481
2482.profile-field input:focus,
2483.profile-field textarea:focus {
2484 border-color: #777;
2485}
2486
2487.profile-field input[readonly] {
2488 background: #f3f3f3;
2489 color: #777;
2490}
2491
2492.profile-field small {
2493 display: block;
2494
2495 margin-top: 5px;
2496
2497 color: #999;
2498
2499 font-size: 10px;
2500}
2501
2502.field-error,
2503.validation-summary {
2504 color: #a33;
2505
2506 font-size: 11px;
2507}
2508
2509.profile-form-actions {
2510 display: flex;
2511 gap: 8px;
2512
2513 margin-top: 25px;
2514}
2515
2516.profile-alert {
2517 margin-bottom: 20px;
2518
2519 padding: 14px 16px;
2520
2521 border-radius: 6px;
2522
2523 font-size: 12px;
2524 font-weight: 700;
2525}
2526
2527.profile-alert.success {
2528 background: #e8f5ed;
2529 color: #28734a;
2530
2531 border: 1px solid #c9e6d4;
2532}
2533
2534
2535/* =========================================================
2536 FOOTER
2537 ========================================================= */
2538
2539.site-footer {
2540 margin-top: 80px;
2541
2542 background: #111;
2543 color: #aaa;
2544}
2545
2546.footer-container {
2547 max-width: 1200px;
2548
2549 margin: 0 auto;
2550
2551 padding: 55px 30px;
2552
2553 display: grid;
2554
2555 grid-template-columns:
2556 2fr 1fr 1fr 1fr;
2557
2558 gap: 50px;
2559}
2560
2561.footer-logo {
2562 color: white;
2563
2564 font-size: 20px;
2565 font-weight: 900;
2566
2567 letter-spacing: 2px;
2568}
2569
2570.footer-brand p {
2571 max-width: 260px;
2572
2573 margin-top: 13px;
2574
2575 color: #777;
2576
2577 font-size: 13px;
2578 line-height: 1.7;
2579}
2580
2581.footer-column {
2582 display: flex;
2583 flex-direction: column;
2584
2585 gap: 10px;
2586}
2587
2588.footer-column h4 {
2589 margin-bottom: 8px;
2590
2591 color: white;
2592
2593 font-size: 11px;
2594 font-weight: 900;
2595
2596 text-transform: uppercase;
2597 letter-spacing: 1.3px;
2598}
2599
2600.footer-column a {
2601 width: fit-content;
2602
2603 color: #777;
2604
2605 font-size: 12px;
2606}
2607
2608.footer-column a:hover {
2609 color: white;
2610}
2611
2612.footer-bottom {
2613 max-width: 1200px;
2614
2615 margin: auto;
2616 padding: 18px 30px;
2617
2618 border-top: 1px solid #292929;
2619
2620 display: flex;
2621 justify-content: space-between;
2622
2623 color: #666;
2624
2625 font-size: 10px;
2626}
2627
2628
2629/* =========================================================
2630 RESPONSIVE
2631 ========================================================= */
2632
2633.mobile-menu-button {
2634 display: none;
2635}
2636
2637@media (max-width: 1200px) {
2638
2639 .navbar-container {
2640 gap: 20px;
2641 }
2642
2643 .nav-links {
2644 gap: 15px;
2645 }
2646
2647 .icon-label {
2648 display: none;
2649 }
2650
2651 .release-grid,
2652 .sale-grid {
2653 grid-template-columns:
2654 repeat(3, minmax(0, 1fr));
2655 }
2656
2657 .release-filters {
2658 grid-template-columns:
2659 2fr 1fr 1fr 1fr;
2660 }
2661
2662 .filter-search {
2663 grid-column: 1 / -1;
2664 }
2665
2666 .filter-button {
2667 grid-column: 1 / -1;
2668 }
2669}
2670
2671
2672@media (max-width: 1000px) {
2673
2674 .release-grid,
2675 .sale-grid {
2676 grid-template-columns:
2677 repeat(2, minmax(0, 1fr));
2678 }
2679
2680 .release-hero {
2681 grid-template-columns:
2682 1fr 1fr;
2683
2684 gap: 30px;
2685 }
2686
2687 .product-grid {
2688 grid-template-columns:
2689 repeat(2, minmax(0, 1fr));
2690 }
2691
2692 .cart-layout {
2693 grid-template-columns: 1fr;
2694 }
2695
2696 .cart-summary {
2697 position: static;
2698 }
2699
2700 .profile-layout {
2701 grid-template-columns: 1fr;
2702 }
2703
2704 .profile-sidebar {
2705 text-align: left;
2706 }
2707
2708 .profile-avatar {
2709 margin-left: 0;
2710 }
2711
2712 .home-feature-grid {
2713 grid-template-columns: 1fr 1fr;
2714 }
2715}
2716
2717
2718@media (max-width: 950px) {
2719
2720 .navbar-container {
2721 height: 70px;
2722 }
2723
2724 .mobile-menu-button {
2725 display: block;
2726
2727 margin-left: auto;
2728
2729 width: 42px;
2730 height: 42px;
2731
2732 border: 1px solid #444;
2733 border-radius: 6px;
2734
2735 background: #222;
2736 color: white;
2737
2738 font-size: 21px;
2739 }
2740
2741 .navbar-content {
2742 display: none;
2743
2744 position: absolute;
2745
2746 top: 70px;
2747 left: 0;
2748 right: 0;
2749
2750 padding: 20px 25px 25px;
2751
2752 background: #111;
2753
2754 border-top: 1px solid #292929;
2755
2756 flex-direction: column;
2757 align-items: stretch;
2758
2759 gap: 20px;
2760 }
2761
2762 .navbar-content.mobile-open {
2763 display: flex;
2764 }
2765
2766 .nav-links {
2767 flex-direction: column;
2768 align-items: stretch;
2769
2770 gap: 0;
2771 }
2772
2773 .nav-links li {
2774 border-bottom: 1px solid #292929;
2775 }
2776
2777 .nav-links a {
2778 display: block;
2779
2780 padding: 13px 0;
2781 }
2782
2783 .nav-links > li > a::after {
2784 display: none;
2785 }
2786
2787 .dropdown-menu {
2788 position: static;
2789
2790 width: 100%;
2791
2792 display: none;
2793
2794 opacity: 1;
2795 visibility: visible;
2796
2797 transform: none;
2798
2799 border: none;
2800
2801 box-shadow: none;
2802
2803 background: #181818;
2804 }
2805
2806 .nav-dropdown:hover .dropdown-menu {
2807 display: block;
2808 }
2809
2810 .navbar-search {
2811 width: 100%;
2812 max-width: none;
2813
2814 margin: 0;
2815 }
2816
2817 .navbar-actions {
2818 width: 100%;
2819
2820 justify-content: flex-start;
2821 }
2822
2823 .icon-label {
2824 display: inline;
2825 }
2826
2827 .auth-buttons {
2828 margin-left: auto;
2829 }
2830}
2831
2832
2833@media (max-width: 768px) {
2834
2835 .releases-page,
2836 .release-details-page,
2837 .cart-page,
2838 .wishlist-page,
2839 .sale-page,
2840 .top-sellers-page,
2841 .profile-page,
2842 .home-page {
2843 padding: 35px 18px 60px;
2844 }
2845
2846 .releases-header,
2847 .cart-header {
2848 align-items: flex-start;
2849
2850 flex-direction: column;
2851
2852 gap: 18px;
2853 }
2854
2855 .releases-header h1,
2856 .cart-header h1,
2857 .page-header h1,
2858 .sale-header h1,
2859 .top-sellers-header h1,
2860 .profile-header h1 {
2861 font-size: 36px;
2862 }
2863
2864 .release-filters {
2865 grid-template-columns: 1fr;
2866 }
2867
2868 .filter-search,
2869 .filter-button,
2870 .clear-filter {
2871 grid-column: auto;
2872 }
2873
2874 .release-grid,
2875 .sale-grid {
2876 grid-template-columns: 1fr;
2877 }
2878
2879 .release-hero {
2880 grid-template-columns: 1fr;
2881
2882 gap: 30px;
2883 }
2884
2885 .release-hero-cover {
2886 max-width: 550px;
2887
2888 margin: 0 auto;
2889 }
2890
2891 .release-hero-info h1 {
2892 font-size: 43px;
2893 }
2894
2895 .release-facts {
2896 grid-template-columns:
2897 1fr 1fr;
2898 }
2899
2900 .product-grid {
2901 grid-template-columns: 1fr;
2902 }
2903
2904 .product-actions {
2905 grid-template-columns: 1fr;
2906 }
2907
2908 .track-row {
2909 grid-template-columns:
2910 35px 1fr;
2911
2912 padding: 14px;
2913 }
2914
2915 .track-duration {
2916 grid-column: 2;
2917 }
2918
2919 .cart-item {
2920 grid-template-columns:
2921 70px 1fr 30px;
2922
2923 gap: 12px;
2924 }
2925
2926 .cart-item-cover {
2927 width: 70px;
2928 height: 70px;
2929 }
2930
2931 .cart-item-quantity,
2932 .cart-item-total {
2933 grid-column: 2;
2934 }
2935
2936 .cart-item-total {
2937 text-align: left;
2938 }
2939
2940 .cart-remove {
2941 grid-column: 3;
2942 grid-row: 1;
2943 }
2944
2945 .home-hero {
2946 min-height: 500px;
2947
2948 padding: 45px 30px;
2949 }
2950 .home-feature-grid {
2951 grid-template-columns: 1fr;
2952 }
2953
2954 .home-collection {
2955 flex-direction: column;
2956 }
2957
2958 .profile-sidebar {
2959 text-align: center;
2960 }
2961
2962 .profile-avatar {
2963 margin-left: auto;
2964 }
2965
2966 .footer-container {
2967 grid-template-columns:
2968 1fr 1fr;
2969
2970 gap: 35px;
2971
2972 padding: 40px 25px;
2973 }
2974
2975 .footer-brand {
2976 grid-column: 1 / -1;
2977 }
2978
2979 .footer-bottom {
2980 padding: 18px 25px;
2981
2982 flex-direction: column;
2983
2984 gap: 5px;
2985 }
2986}
2987
2988
2989@media (max-width: 500px) {
2990
2991 .home-hero {
2992 padding: 35px 22px;
2993 }
2994
2995 .home-hero h1 {
2996 font-size: 45px;
2997 }
2998
2999 .home-hero-actions {
3000 flex-direction: column;
3001 }
3002
3003 .home-button {
3004 width: 100%;
3005 }
3006
3007 .profile-card {
3008 padding: 20px;
3009 }
3010
3011 .profile-form-actions {
3012 flex-direction: column;
3013 }
3014
3015 .profile-form-actions .store-button {
3016 width: 100%;
3017 }
3018}
3019/* =========================================================
3020 RELEASE PRODUCT DISCOUNT PRICE
3021 ========================================================= */
3022
3023.product-sale-price {
3024 margin-bottom: 12px;
3025}
3026
3027.product-price-row {
3028 display: flex;
3029 align-items: baseline;
3030 flex-wrap: wrap;
3031
3032 gap: 10px;
3033}
3034
3035.product-original-price {
3036 color: #999;
3037
3038 font-size: 16px;
3039 font-weight: 700;
3040
3041 text-decoration: line-through;
3042}
3043
3044.product-current-price {
3045 color: #171717;
3046
3047 font-size: 28px;
3048 font-weight: 900;
3049}
3050
3051.product-discount-badge {
3052 width: fit-content;
3053
3054 display: inline-flex;
3055 align-items: center;
3056 justify-content: center;
3057
3058 margin-top: 7px;
3059 padding: 5px 8px;
3060
3061 border-radius: 4px;
3062
3063 background: #171717;
3064 color: white;
3065
3066 font-size: 9px;
3067 font-weight: 900;
3068
3069 letter-spacing: .5px;
3070}
3071/* =========================================================
3072 ADMIN
3073 ========================================================= */
3074
3075.admin-page {
3076 max-width: 1250px;
3077
3078 margin: 0 auto;
3079
3080 padding: 55px 30px 80px;
3081}
3082
3083
3084/* =========================================================
3085 ADMIN HEADER
3086 ========================================================= */
3087
3088.admin-header {
3089 display: flex;
3090 align-items: flex-end;
3091 justify-content: space-between;
3092
3093 gap: 30px;
3094
3095 margin-bottom: 35px;
3096}
3097
3098.admin-eyebrow {
3099 display: block;
3100
3101 margin-bottom: 7px;
3102
3103 color: #888;
3104
3105 font-size: 9px;
3106 font-weight: 900;
3107
3108 letter-spacing: 1.7px;
3109 text-transform: uppercase;
3110}
3111
3112.admin-header h1 {
3113 font-size: 44px;
3114 font-weight: 900;
3115
3116 letter-spacing: -1.5px;
3117}
3118
3119.admin-header p {
3120 margin-top: 8px;
3121
3122 color: #777;
3123
3124 font-size: 14px;
3125}
3126
3127.admin-back-link {
3128 display: block;
3129
3130 margin-bottom: 22px;
3131
3132 color: #777;
3133
3134 font-size: 12px;
3135 font-weight: 700;
3136}
3137
3138.admin-back-link:hover {
3139 color: #111;
3140}
3141
3142
3143/* =========================================================
3144 ADMIN BUTTONS
3145 ========================================================= */
3146
3147.admin-button {
3148 min-height: 41px;
3149
3150 display: inline-flex;
3151 align-items: center;
3152 justify-content: center;
3153
3154 gap: 7px;
3155
3156 padding: 0 17px;
3157
3158 border-radius: 6px;
3159
3160 font-size: 12px;
3161 font-weight: 800;
3162
3163 transition:
3164 background .2s ease,
3165 border-color .2s ease,
3166 color .2s ease,
3167 transform .2s ease;
3168}
3169
3170.admin-button:hover {
3171 transform: translateY(-1px);
3172}
3173
3174.admin-button.primary {
3175 border: 1px solid #171717;
3176
3177 background: #171717;
3178 color: white;
3179}
3180
3181.admin-button.primary:hover {
3182 background: #333;
3183}
3184
3185.admin-button.secondary {
3186 border: 1px solid #d4d4d4;
3187
3188 background: white;
3189 color: #333;
3190}
3191
3192.admin-button.secondary:hover {
3193 background: #eee;
3194}
3195
3196.admin-button.small {
3197 min-height: 34px;
3198
3199 padding: 0 13px;
3200
3201 font-size: 10px;
3202}
3203/* =========================================================
3204 ADMIN ARTIST LIST
3205 ========================================================= */
3206
3207.admin-artist-cell {
3208 display: flex;
3209 align-items: center;
3210
3211 gap: 14px;
3212
3213 min-width: 220px;
3214}
3215
3216.admin-artist-thumb {
3217 width: 70px;
3218 height: 70px;
3219
3220 min-width: 70px;
3221 max-width: 70px;
3222
3223 flex: 0 0 70px;
3224
3225 display: block;
3226
3227 overflow: hidden;
3228
3229 border-radius: 8px;
3230
3231 background: #eee;
3232
3233 object-fit: cover;
3234 object-position: center;
3235}
3236
3237.admin-artist-thumb.placeholder {
3238 width: 70px;
3239 height: 70px;
3240
3241 min-width: 70px;
3242 max-width: 70px;
3243
3244 flex: 0 0 70px;
3245
3246 display: flex;
3247 align-items: center;
3248 justify-content: center;
3249
3250 background: #171717;
3251 color: white;
3252
3253 font-size: 24px;
3254 font-weight: 900;
3255}
3256
3257.admin-artist-cell strong {
3258 min-width: 0;
3259
3260 font-size: 13px;
3261 font-weight: 900;
3262
3263 overflow-wrap: anywhere;
3264}
3265
3266.admin-table-actions {
3267 white-space: nowrap;
3268
3269 text-align: right;
3270}
3271
3272.admin-table-actions .admin-button {
3273 margin-left: 6px;
3274}
3275
3276
3277/* =========================================================
3278 ADMIN ARTISTS RESPONSIVE
3279 ========================================================= */
3280
3281@media (max-width: 700px) {
3282
3283 .admin-artist-thumb,
3284 .admin-artist-thumb.placeholder {
3285 width: 58px;
3286 height: 58px;
3287
3288 min-width: 58px;
3289 max-width: 58px;
3290
3291 flex-basis: 58px;
3292 }
3293
3294 .admin-artist-cell {
3295 min-width: 180px;
3296 }
3297
3298}
3299
3300/* =========================================================
3301 ALERT
3302 ========================================================= */
3303
3304.admin-alert {
3305 display: flex;
3306 align-items: center;
3307
3308 gap: 9px;
3309
3310 margin-bottom: 25px;
3311
3312 padding: 14px 17px;
3313
3314 border-radius: 7px;
3315
3316 font-size: 12px;
3317 font-weight: 700;
3318}
3319
3320.admin-alert.success {
3321 border: 1px solid #c9e6d3;
3322
3323 background: #ecf8f0;
3324
3325 color: #287348;
3326}
3327
3328
3329/* =========================================================
3330 DASHBOARD STATS
3331 ========================================================= */
3332
3333.admin-stat-grid {
3334 display: grid;
3335
3336 grid-template-columns:
3337 repeat(4, minmax(0, 1fr));
3338
3339 gap: 16px;
3340
3341 margin-bottom: 55px;
3342}
3343
3344.admin-stat-card {
3345 min-height: 150px;
3346
3347 padding: 22px;
3348
3349 background: white;
3350
3351 border: 1px solid #ddd;
3352 border-radius: 9px;
3353}
3354
3355.admin-stat-label {
3356 display: block;
3357
3358 color: #888;
3359
3360 font-size: 9px;
3361 font-weight: 900;
3362
3363 letter-spacing: 1.2px;
3364}
3365
3366.admin-stat-card > strong {
3367 display: block;
3368
3369 margin-top: 13px;
3370
3371 font-size: 34px;
3372 font-weight: 900;
3373}
3374
3375.admin-stat-card p {
3376 margin-top: 7px;
3377
3378 color: #888;
3379
3380 font-size: 11px;
3381 line-height: 1.5;
3382}
3383
3384.admin-stat-card.warning {
3385 border-top: 3px solid #c88a27;
3386}
3387
3388.admin-stat-card.danger {
3389 border-top: 3px solid #ad4545;
3390}
3391
3392
3393/* =========================================================
3394 DASHBOARD ACTIONS
3395 ========================================================= */
3396
3397.admin-section {
3398 margin-top: 20px;
3399}
3400
3401.admin-section-heading {
3402 margin-bottom: 20px;
3403
3404 padding-bottom: 15px;
3405
3406 border-bottom: 1px solid #ddd;
3407}
3408
3409.admin-section-heading h2 {
3410 margin-top: 5px;
3411
3412 font-size: 27px;
3413 font-weight: 900;
3414}
3415
3416.admin-action-grid {
3417 display: grid;
3418
3419 grid-template-columns:
3420 repeat(2, minmax(0, 1fr));
3421
3422 gap: 16px;
3423}
3424
3425.admin-action-card {
3426 min-height: 170px;
3427
3428 display: grid;
3429
3430 grid-template-columns:
3431 55px 1fr 25px;
3432
3433 align-items: center;
3434
3435 gap: 18px;
3436
3437 padding: 25px;
3438
3439 background: white;
3440
3441 border: 1px solid #ddd;
3442 border-radius: 9px;
3443
3444 transition:
3445 transform .2s ease,
3446 box-shadow .2s ease;
3447}
3448
3449.admin-action-card:hover {
3450 transform: translateY(-3px);
3451
3452 box-shadow:
3453 0 12px 30px rgba(0,0,0,.07);
3454}
3455
3456.admin-action-icon {
3457 width: 48px;
3458 height: 48px;
3459
3460 display: flex;
3461 align-items: center;
3462 justify-content: center;
3463
3464 border-radius: 7px;
3465
3466 background: #171717;
3467 color: white;
3468
3469 font-size: 21px;
3470}
3471
3472.admin-action-card h3 {
3473 font-size: 18px;
3474 font-weight: 900;
3475}
3476
3477.admin-action-card p {
3478 margin-top: 6px;
3479
3480 color: #777;
3481
3482 font-size: 12px;
3483 line-height: 1.5;
3484}
3485
3486.admin-action-arrow {
3487 color: #999;
3488
3489 font-size: 18px;
3490}
3491
3492
3493/* =========================================================
3494 PRODUCT TABLE
3495 ========================================================= */
3496
3497.admin-list-summary {
3498 display: flex;
3499
3500 gap: 20px;
3501
3502 margin-bottom: 13px;
3503
3504 color: #777;
3505
3506 font-size: 11px;
3507 font-weight: 700;
3508}
3509
3510.admin-table-wrapper {
3511 overflow-x: auto;
3512
3513 background: white;
3514
3515 border: 1px solid #ddd;
3516 border-radius: 9px;
3517}
3518
3519.admin-table {
3520 width: 100%;
3521
3522 border-collapse: collapse;
3523}
3524
3525.admin-table th {
3526 padding: 14px 18px;
3527
3528 background: #fafafa;
3529
3530 border-bottom: 1px solid #ddd;
3531
3532 color: #777;
3533
3534 font-size: 9px;
3535 font-weight: 900;
3536
3537 text-align: left;
3538 text-transform: uppercase;
3539 letter-spacing: 1px;
3540}
3541
3542.admin-table td {
3543 padding: 14px 18px;
3544
3545 border-bottom: 1px solid #eee;
3546
3547 font-size: 12px;
3548
3549 vertical-align: middle;
3550}
3551
3552.admin-table tbody tr:last-child td {
3553 border-bottom: none;
3554}
3555
3556.admin-table tbody tr:hover {
3557 background: #fcfcfc;
3558}
3559
3560.admin-product-release {
3561 display: flex;
3562 align-items: center;
3563
3564 gap: 13px;
3565}
3566
3567.admin-product-cover {
3568 width: 48px;
3569 height: 48px;
3570
3571 flex-shrink: 0;
3572
3573 display: flex;
3574 align-items: center;
3575 justify-content: center;
3576
3577 overflow: hidden;
3578
3579 border-radius: 4px;
3580
3581 background: #eee;
3582}
3583
3584.admin-product-cover img {
3585 width: 100%;
3586 height: 100%;
3587
3588 object-fit: cover;
3589}
3590
3591.admin-product-release strong {
3592 display: block;
3593
3594 font-size: 12px;
3595}
3596
3597.admin-product-release small {
3598 display: block;
3599
3600 margin-top: 3px;
3601
3602 color: #999;
3603
3604 font-size: 9px;
3605}
3606
3607.admin-format-badge {
3608 display: inline-flex;
3609
3610 padding: 5px 8px;
3611
3612 border-radius: 4px;
3613
3614 background: #eee;
3615
3616 color: #555;
3617
3618 font-size: 9px;
3619 font-weight: 900;
3620}
3621
3622.admin-price {
3623 font-weight: 800;
3624}
3625
3626.admin-stock {
3627 display: inline-flex;
3628
3629 padding: 5px 8px;
3630
3631 border-radius: 20px;
3632
3633 font-size: 9px;
3634 font-weight: 800;
3635}
3636
3637.admin-stock.success {
3638 background: #e7f5ec;
3639 color: #287148;
3640}
3641
3642.admin-stock.warning {
3643 background: #fbf1df;
3644 color: #976317;
3645}
3646
3647.admin-stock.danger {
3648 background: #fae8e8;
3649 color: #983b3b;
3650}
3651
3652.admin-table-action {
3653 text-align: right;
3654}
3655
3656
3657/* =========================================================
3658 FORMS
3659 ========================================================= */
3660
3661.admin-form-layout {
3662 display: grid;
3663
3664 grid-template-columns:
3665 minmax(0, 1fr)
3666 300px;
3667
3668 gap: 22px;
3669
3670 align-items: start;
3671}
3672
3673.admin-form-card,
3674.admin-help-card,
3675.admin-product-summary {
3676 background: white;
3677
3678 border: 1px solid #ddd;
3679 border-radius: 9px;
3680}
3681
3682.admin-form-card {
3683 padding: 30px;
3684}
3685
3686.admin-form-card-header {
3687 margin-bottom: 27px;
3688
3689 padding-bottom: 19px;
3690
3691 border-bottom: 1px solid #eee;
3692}
3693
3694.admin-form-card-header h2 {
3695 margin-top: 5px;
3696
3697 font-size: 23px;
3698 font-weight: 900;
3699}
3700
3701.admin-form-row {
3702 display: grid;
3703
3704 grid-template-columns:
3705 1fr 1fr;
3706
3707 gap: 16px;
3708}
3709
3710.admin-form-field {
3711 margin-bottom: 20px;
3712}
3713
3714.admin-form-field label {
3715 display: block;
3716
3717 margin-bottom: 7px;
3718
3719 color: #555;
3720
3721 font-size: 10px;
3722 font-weight: 900;
3723
3724 text-transform: uppercase;
3725 letter-spacing: .8px;
3726}
3727
3728.admin-form-field input,
3729.admin-form-field select,
3730.admin-form-field textarea {
3731 width: 100%;
3732
3733 padding: 11px 12px;
3734
3735 border: 1px solid #d4d4d4;
3736 border-radius: 6px;
3737
3738 outline: none;
3739
3740 background: white;
3741 color: #171717;
3742
3743 font-size: 12px;
3744}
3745
3746.admin-form-field select,
3747.admin-form-field input {
3748 min-height: 42px;
3749}
3750
3751.admin-form-field textarea {
3752 resize: vertical;
3753
3754 line-height: 1.6;
3755}
3756
3757.admin-form-field input:focus,
3758.admin-form-field select:focus,
3759.admin-form-field textarea:focus {
3760 border-color: #777;
3761}
3762
3763.admin-form-field small {
3764 display: block;
3765
3766 margin-top: 6px;
3767
3768 color: #999;
3769
3770 font-size: 10px;
3771 line-height: 1.5;
3772}
3773
3774.admin-input-prefix,
3775.admin-input-suffix {
3776 display: flex;
3777
3778 overflow: hidden;
3779
3780 border: 1px solid #d4d4d4;
3781 border-radius: 6px;
3782}
3783
3784.admin-input-prefix:focus-within,
3785.admin-input-suffix:focus-within {
3786 border-color: #777;
3787}
3788
3789.admin-input-prefix > span,
3790.admin-input-suffix > span {
3791 min-width: 42px;
3792
3793 display: flex;
3794 align-items: center;
3795 justify-content: center;
3796
3797 background: #f5f5f5;
3798
3799 color: #777;
3800
3801 font-size: 12px;
3802 font-weight: 800;
3803}
3804
3805.admin-input-prefix input,
3806.admin-input-suffix input {
3807 border: none;
3808 border-radius: 0;
3809}
3810
3811.admin-field-error,
3812.admin-validation {
3813 display: block;
3814
3815 margin-top: 5px;
3816
3817 color: #a33;
3818
3819 font-size: 10px;
3820}
3821
3822.admin-validation {
3823 margin-bottom: 18px;
3824}
3825
3826.admin-form-actions {
3827 display: flex;
3828
3829 gap: 8px;
3830
3831 margin-top: 28px;
3832
3833 padding-top: 22px;
3834
3835 border-top: 1px solid #eee;
3836}
3837
3838
3839/* =========================================================
3840 HELP CARD
3841 ========================================================= */
3842
3843.admin-help-card {
3844 padding: 25px;
3845}
3846
3847.admin-help-card h3 {
3848 margin-top: 6px;
3849 margin-bottom: 22px;
3850
3851 font-size: 18px;
3852}
3853
3854.admin-help-item {
3855 display: grid;
3856
3857 grid-template-columns:
3858 30px 1fr;
3859
3860 gap: 11px;
3861
3862 padding: 15px 0;
3863
3864 border-top: 1px solid #eee;
3865}
3866
3867.admin-help-item strong {
3868 color: #999;
3869
3870 font-size: 10px;
3871}
3872
3873.admin-help-item p {
3874 color: #777;
3875
3876 font-size: 11px;
3877 line-height: 1.6;
3878}
3879
3880
3881/* =========================================================
3882 EDIT PRODUCT
3883 ========================================================= */
3884
3885.admin-product-summary {
3886 display: flex;
3887 align-items: center;
3888 justify-content: space-between;
3889
3890 gap: 30px;
3891
3892 padding: 24px;
3893
3894 margin-bottom: 20px;
3895}
3896
3897.admin-product-summary h2 {
3898 margin-top: 5px;
3899
3900 font-size: 23px;
3901}
3902
3903.admin-product-summary-meta {
3904 display: flex;
3905
3906 gap: 35px;
3907}
3908
3909.admin-product-summary-meta div {
3910 text-align: right;
3911}
3912
3913.admin-product-summary-meta span {
3914 display: block;
3915
3916 color: #999;
3917
3918 font-size: 8px;
3919 font-weight: 900;
3920
3921 letter-spacing: 1px;
3922}
3923
3924.admin-product-summary-meta strong {
3925 display: block;
3926
3927 margin-top: 5px;
3928
3929 font-size: 13px;
3930}
3931
3932.admin-edit-card {
3933 max-width: 900px;
3934}
3935
3936.admin-modification-options {
3937 display: grid;
3938
3939 grid-template-columns:
3940 1fr 1fr;
3941
3942 gap: 10px;
3943}
3944
3945.admin-modification-option {
3946 display: flex !important;
3947 align-items: flex-start;
3948
3949 gap: 10px;
3950
3951 padding: 15px;
3952
3953 border: 1px solid #ddd;
3954 border-radius: 7px;
3955
3956 cursor: pointer;
3957
3958 text-transform: none !important;
3959 letter-spacing: normal !important;
3960}
3961
3962.admin-modification-option:hover {
3963 border-color: #999;
3964}
3965
3966.admin-modification-option input {
3967 width: auto;
3968
3969 min-height: 0;
3970
3971 margin-top: 3px;
3972}
3973
3974.admin-modification-option strong {
3975 display: block;
3976
3977 color: #222;
3978
3979 font-size: 12px;
3980}
3981
3982.admin-modification-option small {
3983 margin-top: 4px;
3984
3985 color: #888;
3986
3987 font-size: 10px;
3988}
3989
3990.admin-edit-section {
3991 margin-top: 28px;
3992
3993 padding-top: 25px;
3994
3995 border-top: 1px solid #eee;
3996}
3997
3998.admin-edit-section-heading {
3999 margin-bottom: 22px;
4000}
4001
4002.admin-edit-section-heading h3 {
4003 margin-top: 5px;
4004
4005 font-size: 19px;
4006}
4007
4008.admin-edit-section-heading p {
4009 margin-top: 5px;
4010
4011 color: #777;
4012
4013 font-size: 11px;
4014}
4015
4016.admin-discount-preview {
4017 display: grid;
4018
4019 grid-template-columns:
4020 1fr 1fr;
4021
4022 gap: 8px 20px;
4023
4024 padding: 18px;
4025
4026 background: #f7f7f7;
4027
4028 border-radius: 7px;
4029}
4030
4031.admin-discount-preview span {
4032 color: #888;
4033
4034 font-size: 8px;
4035 font-weight: 900;
4036
4037 letter-spacing: 1px;
4038}
4039
4040.admin-discount-preview strong {
4041 font-size: 18px;
4042}
4043
4044
4045/* =========================================================
4046 ADMIN RESPONSIVE
4047 ========================================================= */
4048
4049@media (max-width: 1000px) {
4050
4051 .admin-stat-grid {
4052 grid-template-columns:
4053 repeat(2, 1fr);
4054 }
4055
4056 .admin-form-layout {
4057 grid-template-columns: 1fr;
4058 }
4059
4060 .admin-help-card {
4061 order: -1;
4062 }
4063
4064}
4065
4066
4067@media (max-width: 750px) {
4068
4069 .admin-page {
4070 padding: 35px 18px 60px;
4071 }
4072
4073 .admin-header {
4074 flex-direction: column;
4075 align-items: flex-start;
4076 }
4077
4078 .admin-header h1 {
4079 font-size: 35px;
4080 }
4081
4082 .admin-stat-grid,
4083 .admin-action-grid {
4084 grid-template-columns: 1fr;
4085 }
4086
4087 .admin-form-row,
4088 .admin-modification-options {
4089 grid-template-columns: 1fr;
4090 }
4091
4092 .admin-product-summary {
4093 align-items: flex-start;
4094 flex-direction: column;
4095 }
4096
4097 .admin-product-summary-meta {
4098 width: 100%;
4099
4100 justify-content: space-between;
4101 }
4102
4103 .admin-product-summary-meta div {
4104 text-align: left;
4105 }
4106
4107}
4108
4109
4110@media (max-width: 500px) {
4111
4112 .admin-stat-grid {
4113 grid-template-columns: 1fr;
4114 }
4115
4116 .admin-form-card {
4117 padding: 20px;
4118 }
4119
4120 .admin-form-actions {
4121 flex-direction: column;
4122 }
4123
4124 .admin-form-actions .admin-button {
4125 width: 100%;
4126 }
4127
4128}
4129/* =========================================================
4130 ADMIN RELEASE CREATOR
4131 ========================================================= */
4132
4133.release-create-section {
4134 margin-bottom: 20px;
4135}
4136
4137.admin-section-description {
4138 margin-top: 7px;
4139
4140 color: #888;
4141
4142 font-size: 11px;
4143 line-height: 1.6;
4144}
4145
4146
4147/* =========================================================
4148 MULTI SELECT
4149 ========================================================= */
4150
4151.admin-multi-select {
4152 min-height: 130px !important;
4153
4154 padding: 7px !important;
4155}
4156
4157.admin-multi-select option {
4158 padding: 8px 9px;
4159
4160 border-radius: 4px;
4161}
4162
4163
4164/* =========================================================
4165 COVER PREVIEW
4166 ========================================================= */
4167
4168.admin-cover-preview {
4169 margin-top: 25px;
4170
4171 padding-top: 22px;
4172
4173 border-top: 1px solid #eee;
4174}
4175
4176.admin-cover-preview-image {
4177 width: 150px;
4178 height: 150px;
4179
4180 margin-top: 10px;
4181
4182 display: flex;
4183 align-items: center;
4184 justify-content: center;
4185
4186 overflow: hidden;
4187
4188 background:
4189 linear-gradient(
4190 135deg,
4191 #222,
4192 #555
4193 );
4194
4195 color: white;
4196
4197 border-radius: 7px;
4198
4199 font-size: 35px;
4200}
4201
4202.admin-cover-preview-image img {
4203 width: 100%;
4204 height: 100%;
4205
4206 display: block;
4207
4208 object-fit: cover;
4209}
4210
4211
4212/* =========================================================
4213 TRACK HEADER
4214 ========================================================= */
4215
4216.track-header {
4217 display: flex;
4218 align-items: center;
4219 justify-content: space-between;
4220
4221 gap: 25px;
4222}
4223
4224
4225/* =========================================================
4226 TRACK CARDS
4227 ========================================================= */
4228
4229.admin-track-card {
4230 position: relative;
4231
4232 display: grid;
4233
4234 grid-template-columns:
4235 42px
4236 minmax(0, 1fr)
4237 35px;
4238
4239 gap: 15px;
4240
4241 margin-bottom: 12px;
4242 padding: 20px;
4243
4244 background: #fafafa;
4245
4246 border: 1px solid #ddd;
4247 border-radius: 8px;
4248}
4249
4250.admin-track-number {
4251 width: 36px;
4252 height: 36px;
4253
4254 display: flex;
4255 align-items: center;
4256 justify-content: center;
4257
4258 background: #171717;
4259 color: white;
4260
4261 border-radius: 50%;
4262
4263 font-size: 11px;
4264 font-weight: 900;
4265}
4266
4267.admin-track-content {
4268 min-width: 0;
4269}
4270
4271.admin-track-remove {
4272 width: 32px;
4273 height: 32px;
4274
4275 display: flex;
4276 align-items: center;
4277 justify-content: center;
4278
4279 border: 1px solid #ddd;
4280 border-radius: 5px;
4281
4282 background: white;
4283 color: #888;
4284
4285 font-size: 20px;
4286}
4287
4288.admin-track-remove:hover {
4289 border-color: #a44;
4290
4291 background: #fff5f5;
4292 color: #a44;
4293}
4294
4295
4296/* =========================================================
4297 RELEASE SUBMIT
4298 ========================================================= */
4299
4300.admin-release-submit {
4301 display: flex;
4302 align-items: center;
4303 justify-content: space-between;
4304
4305 gap: 25px;
4306
4307 margin-top: 30px;
4308 padding: 25px 30px;
4309
4310 background: #171717;
4311 color: white;
4312
4313 border-radius: 9px;
4314}
4315
4316.admin-release-submit p {
4317 margin-top: 5px;
4318
4319 color: #aaa;
4320
4321 font-size: 11px;
4322}
4323
4324.admin-release-submit .admin-eyebrow {
4325 color: #888;
4326}
4327
4328.admin-release-submit .release-actions {
4329 margin: 0;
4330 padding: 0;
4331
4332 border: none;
4333}
4334
4335.admin-release-submit .admin-button.primary {
4336 border-color: white;
4337
4338 background: white;
4339 color: #171717;
4340}
4341
4342.admin-release-submit .admin-button.primary:hover {
4343 background: #ddd;
4344}
4345
4346.admin-release-submit .admin-button.secondary {
4347 border-color: #444;
4348
4349 background: transparent;
4350 color: white;
4351}
4352
4353.admin-release-submit .admin-button.secondary:hover {
4354 background: #292929;
4355}
4356
4357
4358/* =========================================================
4359 RELEASE CREATOR RESPONSIVE
4360 ========================================================= */
4361
4362@media (max-width: 750px) {
4363
4364 .track-header {
4365 align-items: flex-start;
4366
4367 flex-direction: column;
4368 }
4369
4370 .admin-track-card {
4371 grid-template-columns:
4372 35px
4373 1fr;
4374 }
4375
4376 .admin-track-remove {
4377 position: absolute;
4378
4379 top: 15px;
4380 right: 15px;
4381 }
4382
4383 .admin-release-submit {
4384 align-items: flex-start;
4385
4386 flex-direction: column;
4387 }
4388
4389 .admin-release-submit .release-actions {
4390 width: 100%;
4391 }
4392
4393}
4394
4395/* =========================================================
4396 KERNEL RECORDS LOGO
4397 ========================================================= */
4398
4399.logo-brand {
4400 width: 170px;
4401 height: 72px;
4402
4403 flex: 0 0 170px;
4404
4405 display: flex;
4406 align-items: center;
4407 justify-content: flex-start;
4408
4409 padding: 0;
4410
4411 overflow: hidden;
4412 text-decoration: none;
4413}
4414
4415.logo-brand > .site-logo {
4416 width: 160px !important;
4417 height: 64px !important;
4418
4419 max-width: 160px !important;
4420 max-height: 64px !important;
4421
4422 display: block;
4423
4424 object-fit: contain;
4425 object-position: left center;
4426
4427 transform: none !important;
4428}
4429
4430.hero-logo {
4431 display: flex;
4432 justify-content: center;
4433 align-items: center;
4434}
4435
4436.hero-logo-image {
4437 width: min(520px, 90%);
4438 height: auto;
4439
4440 display: block;
4441
4442 object-fit: contain;
4443
4444 transform: translate(55px, 55px);
4445}
4446
4447@media (max-width: 950px) {
4448 .logo-brand {
4449 width: 145px;
4450 height: 60px;
4451 flex-basis: 145px;
4452 }
4453
4454 .logo-brand > .site-logo {
4455 width: 135px !important;
4456 height: 52px !important;
4457
4458 max-width: 135px !important;
4459 max-height: 52px !important;
4460 }
4461}
4462
4463@media (max-width: 700px) {
4464 .hero-logo-image {
4465 width: min(360px, 92%);
4466 transform: translate(0, 0);
4467 }
4468}
4469
4470/* =========================================================
4471 ARTISTS
4472 ========================================================= */
4473
4474.artist-page,
4475.artist-details-page {
4476 max-width: 1350px;
4477 margin: 0 auto;
4478 padding: 55px 30px 80px;
4479}
4480
4481.artist-page-header {
4482 margin-bottom: 35px;
4483}
4484
4485.artist-eyebrow {
4486 display: block;
4487 margin-bottom: 8px;
4488 color: #888;
4489 font-size: 10px;
4490 font-weight: 900;
4491 letter-spacing: 2px;
4492}
4493
4494.artist-page-header h1,
4495.artist-details-info h1 {
4496 margin: 0;
4497 font-size: clamp(38px, 6vw, 76px);
4498 line-height: 1;
4499 font-weight: 900;
4500 letter-spacing: -2px;
4501}
4502
4503.artist-page-header p {
4504 max-width: 600px;
4505 margin-top: 15px;
4506 color: #777;
4507 line-height: 1.7;
4508}
4509
4510/* Artist list: fixed 200 x 200 images */
4511
4512.artist-grid {
4513 display: grid;
4514 grid-template-columns: repeat(6, 200px);
4515 gap: 24px;
4516 align-items: start;
4517 justify-content: space-between;
4518}
4519
4520.artist-card {
4521 width: 200px;
4522 overflow: hidden;
4523 display: block;
4524 background: white;
4525 border: 1px solid #ddd;
4526 border-radius: 10px;
4527 color: inherit;
4528 text-decoration: none;
4529 transition:
4530 transform 0.2s ease,
4531 border-color 0.2s ease,
4532 box-shadow 0.2s ease;
4533}
4534
4535.artist-card:hover {
4536 transform: translateY(-4px);
4537 border-color: #999;
4538 box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
4539}
4540
4541.artist-card-image {
4542 width: 200px;
4543 height: 200px;
4544 overflow: hidden;
4545 background: #eee;
4546}
4547
4548.artist-card-image img {
4549 width: 200px;
4550 height: 200px;
4551 display: block;
4552 object-fit: cover;
4553 object-position: center;
4554}
4555
4556.artist-photo-placeholder {
4557 width: 100%;
4558 height: 100%;
4559 display: flex;
4560 align-items: center;
4561 justify-content: center;
4562 background: #1a1a1a;
4563 color: white;
4564 font-size: 40px;
4565}
4566
4567.artist-card-image .artist-photo-placeholder {
4568 width: 200px;
4569 height: 200px;
4570}
4571
4572.artist-photo-placeholder.large {
4573 width: 200px;
4574 height: 200px;
4575 min-height: 0;
4576 font-size: 60px;
4577}
4578
4579.artist-card-body {
4580 width: 200px;
4581 padding: 16px;
4582}
4583
4584.artist-card-body h2 {
4585 margin: 0 0 10px;
4586 overflow-wrap: anywhere;
4587 font-size: 17px;
4588 line-height: 1.25;
4589}
4590
4591.artist-card-body p {
4592 display: -webkit-box;
4593 overflow: hidden;
4594 margin: 0 0 15px;
4595 color: #777;
4596 font-size: 12px;
4597 line-height: 1.6;
4598 -webkit-line-clamp: 3;
4599 -webkit-box-orient: vertical;
4600}
4601
4602.artist-card-link {
4603 font-size: 10px;
4604 font-weight: 900;
4605 letter-spacing: 1px;
4606 text-transform: uppercase;
4607}
4608@media (max-width: 1450px) {
4609 .artist-grid {
4610 grid-template-columns: repeat(5, 200px);
4611 justify-content: space-between;
4612 }
4613}
4614
4615@media (max-width: 1200px) {
4616 .artist-grid {
4617 grid-template-columns: repeat(4, 200px);
4618 }
4619}
4620
4621@media (max-width: 950px) {
4622 .artist-grid {
4623 grid-template-columns: repeat(3, 200px);
4624 }
4625}
4626
4627@media (max-width: 700px) {
4628 .artist-grid {
4629 grid-template-columns: repeat(2, 200px);
4630 justify-content: center;
4631 }
4632}
4633
4634@media (max-width: 430px) {
4635 .artist-grid {
4636 grid-template-columns: 200px;
4637 }
4638}
4639
4640/* Artist details: fixed 200 x 200 profile image */
4641
4642.artist-back-link {
4643 display: inline-block;
4644 margin-bottom: 25px;
4645 color: #555;
4646 font-size: 11px;
4647 font-weight: 800;
4648 text-decoration: none;
4649}
4650
4651.artist-back-link:hover {
4652 color: #111;
4653}
4654
4655.artist-details-hero {
4656 display: grid;
4657 grid-template-columns: 200px minmax(0, 1fr);
4658 gap: 45px;
4659 align-items: center;
4660}
4661
4662.artist-details-image {
4663 width: 200px;
4664 height: 200px;
4665 overflow: hidden;
4666 border-radius: 10px;
4667 background: #eee;
4668}
4669
4670.artist-details-image img {
4671 width: 200px;
4672 height: 200px;
4673 display: block;
4674 object-fit: cover;
4675 object-position: center;
4676}
4677
4678.artist-details-image .artist-photo-placeholder {
4679 width: 200px;
4680 height: 200px;
4681}
4682
4683.artist-details-info {
4684 min-width: 0;
4685}
4686
4687.artist-details-info p {
4688 max-width: 650px;
4689 margin-top: 25px;
4690 color: #666;
4691 line-height: 1.8;
4692}
4693
4694/* Artist releases */
4695
4696.artist-release-section {
4697 margin-top: 70px;
4698}
4699
4700.artist-section-header {
4701 margin-bottom: 25px;
4702}
4703
4704.artist-section-header h2 {
4705 margin: 0;
4706 font-size: 30px;
4707}
4708
4709.artist-release-grid {
4710 display: grid;
4711 grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
4712 gap: 20px;
4713}
4714
4715.artist-release-card {
4716 display: block;
4717 color: inherit;
4718 text-decoration: none;
4719}
4720
4721.artist-release-cover {
4722 overflow: hidden;
4723 aspect-ratio: 1 / 1;
4724 border-radius: 8px;
4725 background: #eee;
4726}
4727
4728.artist-release-cover img {
4729 width: 100%;
4730 height: 100%;
4731 display: block;
4732 object-fit: cover;
4733}
4734
4735.artist-release-cover .artist-photo-placeholder {
4736 width: 100%;
4737 height: 100%;
4738}
4739
4740.artist-release-body {
4741 padding-top: 12px;
4742}
4743
4744.artist-release-body h3 {
4745 margin: 0;
4746 font-size: 15px;
4747}
4748
4749.artist-release-body p,
4750.artist-release-body span {
4751 color: #888;
4752 font-size: 11px;
4753}
4754
4755.artist-empty {
4756 padding: 30px;
4757 border: 1px dashed #ccc;
4758 border-radius: 8px;
4759 color: #777;
4760}
4761
4762/* Artist responsive */
4763
4764@media (max-width: 800px) {
4765 .artist-details-hero {
4766 grid-template-columns: 200px minmax(0, 1fr);
4767 gap: 28px;
4768 }
4769}
4770
4771@media (max-width: 600px) {
4772 .artist-page,
4773 .artist-details-page {
4774 padding: 35px 18px 60px;
4775 }
4776
4777 .artist-grid {
4778 justify-content: center;
4779 }
4780
4781 .artist-details-hero {
4782 grid-template-columns: 1fr;
4783 justify-items: start;
4784 }
4785
4786 .artist-details-image {
4787 width: 200px;
4788 height: 200px;
4789 }
4790}
4791
4792@media (max-width: 430px) {
4793 .artist-grid {
4794 grid-template-columns: 200px;
4795 }
4796}
4797/* =========================================================
4798 AUTH - LOGIN / REGISTER
4799 ========================================================= */
4800
4801.auth-page {
4802 width: 100%;
4803 min-height: calc(100vh - 114px);
4804
4805 display: flex;
4806 align-items: center;
4807 justify-content: center;
4808
4809 padding: 55px 30px 80px;
4810
4811 background: #f5f5f3;
4812}
4813
4814.auth-shell {
4815 width: min(100%, 1050px);
4816 min-height: 600px;
4817
4818 display: grid;
4819 grid-template-columns:
4820 minmax(0, 0.9fr)
4821 minmax(0, 1.1fr);
4822
4823 overflow: hidden;
4824
4825 background: white;
4826
4827 border: 1px solid #ddd;
4828 border-radius: 14px;
4829
4830 box-shadow:
4831 0 20px 55px rgba(0, 0, 0, 0.08);
4832}
4833
4834.auth-shell-register {
4835 width: min(100%, 1150px);
4836}
4837
4838
4839/* =========================================================
4840 AUTH BRAND SIDE
4841 ========================================================= */
4842
4843.auth-brand-panel {
4844 position: relative;
4845
4846 min-height: 600px;
4847
4848 display: flex;
4849 flex-direction: column;
4850 justify-content: space-between;
4851
4852 padding: 45px;
4853
4854 overflow: hidden;
4855
4856 background: #111;
4857 color: white;
4858}
4859
4860.auth-brand-panel::after {
4861 content: "";
4862
4863 position: absolute;
4864
4865 width: 430px;
4866 height: 430px;
4867
4868 right: -180px;
4869 bottom: -190px;
4870
4871 border: 55px solid #1c1c1c;
4872 border-radius: 50%;
4873}
4874
4875.auth-logo-link {
4876 position: relative;
4877 z-index: 2;
4878
4879 width: fit-content;
4880
4881 display: block;
4882}
4883
4884.auth-logo {
4885 width: auto;
4886 height: 85px;
4887
4888 display: block;
4889
4890 object-fit: contain;
4891}
4892
4893.auth-brand-copy {
4894 position: relative;
4895 z-index: 2;
4896
4897 max-width: 390px;
4898}
4899
4900.auth-eyebrow {
4901 display: block;
4902
4903 margin-bottom: 10px;
4904
4905 color: #999;
4906
4907 font-size: 9px;
4908 font-weight: 900;
4909
4910 letter-spacing: 2.2px;
4911 text-transform: uppercase;
4912}
4913
4914.auth-brand-copy h1 {
4915 max-width: 420px;
4916
4917 font-size: clamp(42px, 5vw, 65px);
4918 line-height: .95;
4919
4920 font-weight: 900;
4921
4922 letter-spacing: -3px;
4923}
4924
4925.auth-brand-copy p {
4926 max-width: 360px;
4927
4928 margin-top: 22px;
4929
4930 color: #aaa;
4931
4932 font-size: 14px;
4933 line-height: 1.8;
4934}
4935
4936
4937/* =========================================================
4938 AUTH FORM SIDE
4939 ========================================================= */
4940
4941.auth-form-panel {
4942 display: flex;
4943 flex-direction: column;
4944 justify-content: center;
4945
4946 padding: 55px 65px;
4947}
4948
4949.auth-form-header {
4950 margin-bottom: 30px;
4951}
4952
4953.auth-form-header h2 {
4954 margin: 0;
4955
4956 color: #171717;
4957
4958 font-size: 38px;
4959 font-weight: 900;
4960
4961 letter-spacing: -1.5px;
4962}
4963
4964.auth-form-header p {
4965 margin-top: 8px;
4966
4967 color: #777;
4968
4969 font-size: 13px;
4970 line-height: 1.6;
4971}
4972
4973
4974/* =========================================================
4975 AUTH FORM
4976 ========================================================= */
4977
4978.auth-form {
4979 width: 100%;
4980}
4981
4982.auth-field {
4983 min-width: 0;
4984
4985 margin-bottom: 20px;
4986}
4987
4988.auth-field label {
4989 display: flex;
4990 align-items: center;
4991
4992 gap: 8px;
4993
4994 margin-bottom: 8px;
4995
4996 color: #444;
4997
4998 font-size: 10px;
4999 font-weight: 900;
5000
5001 letter-spacing: .9px;
5002 text-transform: uppercase;
5003}
5004
5005.auth-optional {
5006 color: #999;
5007
5008 font-size: 8px;
5009 font-weight: 700;
5010
5011 letter-spacing: .5px;
5012}
5013
5014.auth-field input {
5015 width: 100%;
5016 height: 48px;
5017
5018 padding: 0 14px;
5019
5020 outline: none;
5021
5022 border: 1px solid #d3d3d3;
5023 border-radius: 6px;
5024
5025 background: white;
5026 color: #171717;
5027
5028 font-size: 13px;
5029
5030 transition:
5031 border-color .2s ease,
5032 box-shadow .2s ease,
5033 background .2s ease;
5034}
5035
5036.auth-field input::placeholder {
5037 color: #aaa;
5038}
5039
5040.auth-field input:focus {
5041 border-color: #777;
5042
5043 box-shadow:
5044 0 0 0 3px rgba(0, 0, 0, 0.05);
5045}
5046
5047.auth-form-row {
5048 display: grid;
5049 grid-template-columns:
5050 repeat(2, minmax(0, 1fr));
5051
5052 gap: 14px;
5053}
5054
5055
5056/* =========================================================
5057 PASSWORD
5058 ========================================================= */
5059
5060.auth-password-field {
5061 position: relative;
5062}
5063
5064.auth-password-field input {
5065 padding-right: 65px;
5066}
5067
5068.auth-password-toggle {
5069 position: absolute;
5070
5071 top: 50%;
5072 right: 8px;
5073
5074 transform: translateY(-50%);
5075
5076 height: 32px;
5077
5078 padding: 0 9px;
5079
5080 border: none;
5081 border-radius: 4px;
5082
5083 background: #f0f0f0;
5084 color: #555;
5085
5086 font-size: 9px;
5087 font-weight: 900;
5088
5089 text-transform: uppercase;
5090 letter-spacing: .5px;
5091}
5092
5093.auth-password-toggle:hover {
5094 background: #ddd;
5095 color: #171717;
5096}
5097
5098
5099/* =========================================================
5100 VALIDATION
5101 ========================================================= */
5102
5103.auth-field-error {
5104 display: block;
5105
5106 margin-top: 6px;
5107
5108 color: #a33;
5109
5110 font-size: 10px;
5111 line-height: 1.4;
5112}
5113
5114.auth-validation-summary {
5115 margin-bottom: 20px;
5116}
5117
5118.auth-validation-summary:empty {
5119 display: none;
5120}
5121
5122.auth-validation-summary ul {
5123 margin: 0;
5124
5125 padding: 13px 15px 13px 32px;
5126
5127 background: #fff3f3;
5128 color: #963c3c;
5129
5130 border: 1px solid #eccaca;
5131 border-radius: 6px;
5132
5133 font-size: 11px;
5134 line-height: 1.6;
5135}
5136
5137
5138/* =========================================================
5139 SUBMIT
5140 ========================================================= */
5141
5142.auth-submit {
5143 width: 100%;
5144 min-height: 50px;
5145
5146 margin-top: 5px;
5147
5148 display: flex;
5149 align-items: center;
5150 justify-content: center;
5151
5152 border: 1px solid #171717;
5153 border-radius: 6px;
5154
5155 background: #171717;
5156 color: white;
5157
5158 font-size: 11px;
5159 font-weight: 900;
5160
5161 letter-spacing: 1px;
5162 text-transform: uppercase;
5163
5164 transition:
5165 background .2s ease,
5166 transform .2s ease;
5167}
5168
5169.auth-submit:hover {
5170 background: #333;
5171
5172 transform: translateY(-1px);
5173}
5174
5175
5176/* =========================================================
5177 ACCOUNT SWITCH
5178 ========================================================= */
5179
5180.auth-switch {
5181 margin-top: 27px;
5182 padding-top: 22px;
5183
5184 display: flex;
5185 align-items: center;
5186 justify-content: center;
5187
5188 gap: 7px;
5189
5190 border-top: 1px solid #eee;
5191
5192 color: #777;
5193
5194 font-size: 11px;
5195}
5196
5197.auth-switch a {
5198 color: #171717;
5199
5200 font-weight: 900;
5201}
5202
5203.auth-switch a:hover {
5204 text-decoration: underline;
5205}
5206
5207
5208/* =========================================================
5209 AUTH RESPONSIVE
5210 ========================================================= */
5211
5212@media (max-width: 900px) {
5213
5214 .auth-shell,
5215 .auth-shell-register {
5216 grid-template-columns: 1fr;
5217 max-width: 650px;
5218 }
5219
5220 .auth-brand-panel {
5221 min-height: 290px;
5222
5223 padding: 35px;
5224 }
5225
5226 .auth-logo {
5227 height: 70px;
5228 }
5229
5230 .auth-brand-copy h1 {
5231 font-size: 42px;
5232 }
5233
5234 .auth-brand-copy p {
5235 margin-top: 14px;
5236 }
5237
5238 .auth-form-panel {
5239 padding: 45px;
5240 }
5241
5242}
5243
5244@media (max-width: 600px) {
5245
5246 .auth-page {
5247 padding: 25px 15px 50px;
5248 }
5249
5250 .auth-shell,
5251 .auth-shell-register {
5252 border-radius: 10px;
5253 }
5254
5255 .auth-brand-panel {
5256 min-height: 250px;
5257
5258 padding: 27px;
5259 }
5260
5261 .auth-logo {
5262 height: 60px;
5263 }
5264
5265 .auth-brand-copy h1 {
5266 font-size: 36px;
5267
5268 letter-spacing: -2px;
5269 }
5270
5271 .auth-brand-copy p {
5272 font-size: 12px;
5273 }
5274
5275 .auth-form-panel {
5276 padding: 32px 24px;
5277 }
5278
5279 .auth-form-header h2 {
5280 font-size: 32px;
5281 }
5282
5283 .auth-form-row {
5284 grid-template-columns: 1fr;
5285 gap: 0;
5286 }
5287
5288 .auth-switch {
5289 flex-direction: column;
5290 }
5291
5292}
Note: See TracBrowser for help on using the repository browser.