Ignore:
Timestamp:
09/01/26 06:11:34 (4 weeks ago)
Author:
mmilevski <markomilevski3@…>
Branches:
main
Children:
d2eccb3
Parents:
08aefc6
Message:

Added major improvements.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • KernelRecordsMVC.Web/wwwroot/css/site.css

    r08aefc6 rfa0fbaf  
     1/* =========================================================
     2   KERNEL RECORDS
     3   MAIN STYLESHEET
     4   ========================================================= */
     5
     6* {
     7  box-sizing: border-box;
     8  margin: 0;
     9  padding: 0;
     10}
     11
    112html {
     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.brand {
     79  display: flex;
     80  flex-direction: column;
     81  flex-shrink: 0;
     82
     83  line-height: .9;
     84  letter-spacing: 2px;
     85}
     86
     87.brand-main {
     88  font-size: 25px;
     89  font-weight: 900;
     90}
     91
     92.brand-sub {
     93  margin-top: 6px;
     94
     95  font-size: 11px;
     96  font-weight: 600;
     97  letter-spacing: 5px;
     98
     99  opacity: .65;
     100}
     101
     102.navbar-content {
     103  flex: 1;
     104
     105  display: flex;
     106  align-items: center;
     107  gap: 25px;
     108}
     109
     110.nav-links {
     111  display: flex;
     112  align-items: center;
     113  gap: 25px;
     114
     115  list-style: none;
     116  white-space: nowrap;
     117}
     118
     119.nav-links a {
     120  position: relative;
     121
     122  color: #d5d5d5;
     123
     124  font-size: 13px;
     125  font-weight: 700;
     126}
     127
     128.nav-links a:hover {
     129  color: white;
     130}
     131
     132.nav-links > li > a::after {
     133  content: "";
     134
     135  position: absolute;
     136
     137  left: 0;
     138  bottom: -8px;
     139
     140  width: 0;
     141  height: 2px;
     142
     143  background: white;
     144
     145  transition: width .2s ease;
     146}
     147
     148.nav-links > li > a:hover::after {
     149  width: 100%;
     150}
     151
     152.nav-sale {
     153  color: #ffb4b4 !important;
     154}
     155
     156
     157/* =========================================================
     158   DROPDOWNS
     159   ========================================================= */
     160
     161.nav-dropdown {
     162  position: relative;
     163}
     164
     165.dropdown-toggle {
     166  display: flex;
     167  align-items: center;
     168  gap: 6px;
     169}
     170
     171.arrow {
     172  font-size: 12px;
     173  opacity: .7;
     174}
     175
     176.dropdown-menu {
     177  position: absolute;
     178
     179  top: calc(100% + 22px);
     180  left: -15px;
     181
     182  width: 190px;
     183
     184  padding: 8px 0;
     185
     186  background: #1b1b1b;
     187
     188  border: 1px solid #303030;
     189  border-radius: 8px;
     190
     191  box-shadow: 0 15px 40px rgba(0,0,0,.35);
     192
     193  opacity: 0;
     194  visibility: hidden;
     195
     196  transform: translateY(-5px);
     197
     198  transition:
     199          opacity .2s ease,
     200          transform .2s ease,
     201          visibility .2s ease;
     202}
     203
     204.nav-dropdown:hover .dropdown-menu {
     205  opacity: 1;
     206  visibility: visible;
     207  transform: translateY(0);
     208}
     209
     210.dropdown-menu a {
     211  display: block;
     212
     213  padding: 11px 17px;
     214
     215  color: #ccc;
     216}
     217
     218.dropdown-menu a:hover {
     219  background: #292929;
     220  color: white;
     221}
     222
     223
     224/* =========================================================
     225   NAV SEARCH
     226   ========================================================= */
     227
     228.navbar-search {
     229  flex: 1;
     230
     231  max-width: 320px;
     232  height: 40px;
     233
     234  margin-left: auto;
     235
     236  display: flex;
     237
     238  background: #242424;
     239
     240  border: 1px solid #343434;
     241  border-radius: 6px;
     242
     243  overflow: hidden;
     244}
     245
     246.navbar-search input {
     247  flex: 1;
     248
     249  min-width: 0;
     250
     251  padding: 0 14px;
     252
     253  border: none;
     254  outline: none;
     255
     256  background: transparent;
     257  color: white;
     258
     259  font-size: 13px;
     260}
     261
     262.navbar-search input::placeholder {
     263  color: #888;
     264}
     265
     266.navbar-search button {
     267  width: 43px;
     268
     269  border: none;
     270  background: transparent;
     271
     272  color: #aaa;
     273
     274  font-size: 22px;
     275}
     276
     277.navbar-search button:hover {
     278  background: #303030;
     279  color: white;
     280}
     281
     282
     283/* =========================================================
     284   NAV ACTIONS
     285   ========================================================= */
     286
     287.navbar-actions {
     288  display: flex;
     289  align-items: center;
     290  gap: 17px;
     291
     292  flex-shrink: 0;
     293}
     294
     295.nav-icon {
     296  display: flex;
     297  align-items: center;
     298  gap: 7px;
     299
     300  color: #d1d1d1;
     301
     302  transition: color .2s ease;
     303}
     304
     305.nav-icon:hover {
     306  color: white;
     307}
     308
     309.icon {
     310  font-size: 21px;
     311}
     312
     313.icon-label {
     314  font-size: 12px;
     315  font-weight: 700;
     316}
     317
     318.cart-icon {
     319  font-size: 17px;
     320}
     321
     322
     323/* =========================================================
     324   AUTH
     325   ========================================================= */
     326
     327.auth-buttons {
     328  display: flex;
     329  align-items: center;
     330  gap: 8px;
     331}
     332
     333.login-button,
     334.register-button {
     335  height: 38px;
     336
     337  padding: 0 15px;
     338
     339  display: flex;
     340  align-items: center;
     341  justify-content: center;
     342
     343  border-radius: 5px;
     344
     345  font-size: 12px;
     346  font-weight: 800;
     347}
     348
     349.login-button {
     350  border: 1px solid #555;
     351  background: transparent;
     352  color: #eee;
     353}
     354
     355.login-button:hover {
     356  background: #292929;
     357}
     358
     359.register-button {
     360  border: 1px solid white;
     361  background: white;
     362  color: #111;
     363}
     364
     365.register-button:hover {
     366  background: #ddd;
     367}
     368
     369
     370/* =========================================================
     371   ACCOUNT
     372   ========================================================= */
     373
     374.account-dropdown {
     375  position: relative;
     376}
     377
     378.account-button {
     379  height: 40px;
     380
     381  display: flex;
     382  align-items: center;
     383  gap: 8px;
     384
     385  padding: 0 5px;
     386
     387  border: none;
     388  background: transparent;
     389  color: white;
     390}
     391
     392.user-icon {
     393  width: 28px;
     394  height: 28px;
     395
     396  display: flex;
     397  align-items: center;
     398  justify-content: center;
     399
     400  border-radius: 50%;
     401
     402  background: #303030;
     403  color: #aaa;
     404
     405  font-size: 10px;
     406}
     407
     408.account-name {
     409  max-width: 100px;
     410
     411  overflow: hidden;
     412  text-overflow: ellipsis;
     413  white-space: nowrap;
     414
     415  font-size: 12px;
     416  font-weight: 700;
     417}
     418
     419.account-menu {
     420  position: absolute;
     421
     422  right: 0;
     423  top: calc(100% + 15px);
     424
     425  width: 210px;
     426
     427  padding: 7px 0;
     428
     429  background: #1b1b1b;
     430
     431  border: 1px solid #303030;
     432  border-radius: 8px;
     433
     434  box-shadow: 0 15px 40px rgba(0,0,0,.35);
     435
     436  opacity: 0;
     437  visibility: hidden;
     438
     439  transform: translateY(-5px);
     440
     441  transition:
     442          opacity .2s ease,
     443          transform .2s ease,
     444          visibility .2s ease;
     445}
     446
     447.account-dropdown:hover .account-menu {
     448  opacity: 1;
     449  visibility: visible;
     450  transform: translateY(0);
     451}
     452
     453.account-menu a,
     454.logout-button {
     455  width: 100%;
     456
     457  display: flex;
     458  align-items: center;
     459  gap: 11px;
     460
     461  padding: 11px 16px;
     462
     463  border: none;
     464  background: transparent;
     465
     466  color: #d0d0d0;
     467
     468  font-size: 13px;
     469  text-align: left;
     470}
     471
     472.account-menu a:hover,
     473.logout-button:hover {
     474  background: #292929;
     475  color: white;
     476}
     477
     478.menu-divider {
     479  height: 1px;
     480
     481  margin: 6px 0;
     482
     483  background: #303030;
     484}
     485
     486
     487/* =========================================================
     488   ANNOUNCEMENT
     489   ========================================================= */
     490
     491.announcement-bar {
     492  height: 32px;
     493
     494  display: flex;
     495  align-items: center;
     496  justify-content: center;
     497  gap: 10px;
     498
     499  background: #e8e8e8;
     500  color: #333;
     501
     502  font-size: 9px;
     503  font-weight: 900;
     504  letter-spacing: 1.3px;
     505}
     506
     507.announcement-separator {
     508  opacity: .45;
     509}
     510
     511
     512/* =========================================================
     513   MAIN
     514   ========================================================= */
     515
     516.main-content {
     517  flex: 1;
     518  width: 100%;
     519}
     520
     521
     522/* =========================================================
     523   GENERAL
     524   ========================================================= */
     525
     526.page-eyebrow,
     527.section-label {
     528  display: block;
     529
     530  color: #777;
     531
     532  font-size: 10px;
     533  font-weight: 900;
     534
     535  letter-spacing: 1.8px;
     536  text-transform: uppercase;
     537}
     538
     539.store-button {
     540  min-height: 42px;
     541
     542  display: inline-flex;
     543  align-items: center;
     544  justify-content: center;
     545
     546  padding: 0 18px;
     547
     548  border: 1px solid #171717;
     549  border-radius: 6px;
     550
     551  font-size: 12px;
     552  font-weight: 800;
     553
     554  transition:
     555          background .2s ease,
     556          color .2s ease,
     557          transform .2s ease;
     558}
     559
     560.store-button:hover {
     561  transform: translateY(-1px);
     562}
     563
     564.store-button.primary {
     565  background: #171717;
     566  color: white;
     567}
     568
     569.store-button.primary:hover {
     570  background: #333;
     571}
     572
     573.store-button.secondary {
     574  background: white;
     575  color: #171717;
     576  border-color: #d4d4d4;
     577}
     578
     579.store-button.secondary:hover {
     580  background: #eee;
     581}
     582
     583.store-button.small {
     584  min-height: 36px;
     585  padding: 0 14px;
     586}
     587
     588.store-button.full {
     589  width: 100%;
     590}
     591
     592
     593/* =========================================================
     594   RELEASE INDEX
     595   ========================================================= */
     596
     597.releases-page {
     598  max-width: 1380px;
     599
     600  margin: 0 auto;
     601
     602  padding: 55px 30px 80px;
     603}
     604
     605.releases-header {
     606  display: flex;
     607  align-items: flex-end;
     608  justify-content: space-between;
     609
     610  margin-bottom: 35px;
     611}
     612
     613.releases-header h1 {
     614  margin-top: 8px;
     615
     616  font-size: 44px;
     617  font-weight: 900;
     618  letter-spacing: -1.5px;
     619}
     620
     621.releases-header p {
     622  margin-top: 8px;
     623
     624  color: #777;
     625
     626  font-size: 15px;
     627}
     628
     629.release-count {
     630  color: #777;
     631
     632  font-size: 12px;
     633  font-weight: 800;
     634}
     635
     636
     637/* =========================================================
     638   FILTERS
     639   ========================================================= */
     640
     641.release-filters {
     642  display: grid;
     643
     644  grid-template-columns:
     645        2fr
     646        1fr
     647        1fr
     648        1fr
     649        1fr
     650        auto;
     651
     652  gap: 12px;
     653
     654  align-items: end;
     655
     656  padding: 18px;
     657
     658  margin-bottom: 35px;
     659
     660  background: white;
     661
     662  border: 1px solid #ddd;
     663  border-radius: 10px;
     664
     665  box-shadow: 0 5px 20px rgba(0,0,0,.04);
     666}
     667
     668.release-filters label {
     669  display: block;
     670
     671  margin-bottom: 7px;
     672
     673  color: #666;
     674
     675  font-size: 9px;
     676  font-weight: 900;
     677
     678  text-transform: uppercase;
     679  letter-spacing: 1px;
     680}
     681
     682.release-filters input,
     683.release-filters select {
     684  width: 100%;
     685  height: 44px;
     686
     687  padding: 0 13px;
     688
     689  border: 1px solid #d5d5d5;
     690  border-radius: 6px;
     691
     692  outline: none;
     693
     694  background: white;
     695  color: #171717;
     696
     697  font-size: 12px;
     698}
     699
     700.release-filters input:focus,
     701.release-filters select:focus {
     702  border-color: #777;
     703}
     704
     705.filter-button .store-button {
     706  height: 44px;
     707}
     708
     709.clear-filter {
     710  grid-column: 1 / -1;
     711}
     712
     713.clear-filter a {
     714  color: #777;
     715
     716  font-size: 11px;
     717  font-weight: 700;
     718}
     719
     720.clear-filter a:hover {
     721  color: #111;
     722}
     723
     724
     725/* =========================================================
     726   RELEASE GRID
     727   ========================================================= */
     728
     729.release-grid {
     730  display: grid;
     731
     732  grid-template-columns:
     733        repeat(4, minmax(0, 1fr));
     734
     735  gap: 24px;
     736}
     737
     738.release-card {
     739  overflow: hidden;
     740
     741  background: white;
     742
     743  border: 1px solid #ddd;
     744  border-radius: 10px;
     745
     746  transition:
     747          transform .25s ease,
     748          box-shadow .25s ease;
     749}
     750
     751.release-card:hover {
     752  transform: translateY(-5px);
     753
     754  box-shadow:
     755          0 18px 40px rgba(0,0,0,.10);
     756}
     757
     758.release-card-cover {
     759  position: relative;
     760
     761  display: block;
     762
     763  aspect-ratio: 1 / 1;
     764
     765  overflow: hidden;
     766
     767  background: #ddd;
     768}
     769
     770.release-card-cover img {
     771  width: 100%;
     772  height: 100%;
     773
     774  display: block;
     775
     776  object-fit: cover;
     777
     778  transition: transform .4s ease;
     779}
     780
     781.release-card:hover .release-card-cover img {
     782  transform: scale(1.04);
     783}
     784
     785.release-no-cover {
     786  width: 100%;
     787  height: 100%;
     788
     789  display: flex;
     790  align-items: center;
     791  justify-content: center;
     792
     793  background:
     794          linear-gradient(
     795                  135deg,
     796                  #222,
     797                  #555
     798          );
     799
     800  color: white;
     801}
     802
     803.release-no-cover span {
     804  font-size: 55px;
     805}
     806
     807.release-type-badge {
     808  position: absolute;
     809
     810  top: 12px;
     811  left: 12px;
     812
     813  padding: 6px 9px;
     814
     815  background: rgba(17,17,17,.9);
     816  color: white;
     817
     818  border-radius: 4px;
     819
     820  font-size: 9px;
     821  font-weight: 900;
     822
     823  letter-spacing: 1px;
     824}
     825
     826.release-card-body {
     827  padding: 19px;
     828}
     829
     830.release-card-meta {
     831  display: flex;
     832  justify-content: space-between;
     833
     834  margin-bottom: 8px;
     835
     836  color: #888;
     837
     838  font-size: 9px;
     839  font-weight: 800;
     840
     841  text-transform: uppercase;
     842  letter-spacing: .8px;
     843}
     844
     845.release-card h2 {
     846  margin-bottom: 5px;
     847
     848  font-size: 20px;
     849  font-weight: 800;
     850
     851  line-height: 1.2;
     852}
     853
     854.release-card h2 a:hover {
     855  text-decoration: underline;
     856}
     857
     858.release-card-artist {
     859  min-height: 20px;
     860
     861  color: #666;
     862
     863  font-size: 13px;
     864}
     865
     866.format-list {
     867  display: flex;
     868  flex-wrap: wrap;
     869
     870  gap: 6px;
     871
     872  margin-top: 14px;
     873}
     874
     875.format-pill {
     876  padding: 5px 8px;
     877
     878  background: #f0f0ee;
     879
     880  border-radius: 4px;
     881
     882  color: #555;
     883
     884  font-size: 9px;
     885  font-weight: 900;
     886
     887  letter-spacing: .6px;
     888}
     889
     890.release-card-bottom {
     891  display: flex;
     892  align-items: center;
     893  justify-content: space-between;
     894
     895  gap: 10px;
     896
     897  margin-top: 18px;
     898  padding-top: 15px;
     899
     900  border-top: 1px solid #eee;
     901}
     902
     903.release-starting {
     904  color: #888;
     905
     906  font-size: 10px;
     907}
     908
     909.release-starting strong {
     910  display: block;
     911
     912  margin-top: 2px;
     913
     914  color: #171717;
     915
    2916  font-size: 14px;
    3917}
    4918
    5 @media (min-width: 768px) {
    6   html {
    7     font-size: 16px;
    8   }
    9 }
    10 
    11 .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    12   box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
    13 }
    14 
    15 html {
     919
     920/* =========================================================
     921   EMPTY STATES
     922   ========================================================= */
     923
     924.empty-store,
     925.no-sales-data {
     926  padding: 80px 25px;
     927
     928  text-align: center;
     929
     930  background: white;
     931
     932  border: 1px solid #ddd;
     933  border-radius: 10px;
     934}
     935
     936.empty-store-icon {
     937  margin-bottom: 15px;
     938
     939  color: #777;
     940
     941  font-size: 48px;
     942}
     943
     944.empty-store h2,
     945.no-sales-data h2 {
     946  margin-bottom: 8px;
     947
     948  font-size: 25px;
     949}
     950
     951.empty-store p,
     952.no-sales-data p {
     953  margin-bottom: 22px;
     954
     955  color: #777;
     956}
     957
     958
     959/* =========================================================
     960   RELEASE DETAILS
     961   ========================================================= */
     962
     963.release-details-page {
     964  max-width: 1250px;
     965
     966  margin: 0 auto;
     967
     968  padding: 50px 30px 80px;
     969}
     970
     971.release-hero {
     972  display: grid;
     973
     974  grid-template-columns:
     975        minmax(350px, 500px)
     976        1fr;
     977
     978  gap: 55px;
     979
     980  align-items: start;
     981}
     982
     983.release-hero-cover {
     984  aspect-ratio: 1 / 1;
     985
     986  overflow: hidden;
     987
     988  border-radius: 8px;
     989
     990  background: #ddd;
     991}
     992
     993.release-hero-cover img {
     994  width: 100%;
     995  height: 100%;
     996
     997  object-fit: cover;
     998}
     999
     1000.release-hero-info h1 {
     1001  margin-top: 8px;
     1002
     1003  font-size: 55px;
     1004  line-height: .95;
     1005  letter-spacing: -2px;
     1006  font-weight: 900;
     1007}
     1008
     1009.release-artists-main {
     1010  margin: 22px 0 32px;
     1011
     1012  color: #555;
     1013
     1014  font-size: 19px;
     1015}
     1016
     1017.release-facts {
     1018  display: grid;
     1019
     1020  grid-template-columns:
     1021        repeat(3, 1fr);
     1022
     1023  gap: 15px;
     1024
     1025  padding: 20px 0;
     1026
     1027  border-top: 1px solid #ddd;
     1028  border-bottom: 1px solid #ddd;
     1029}
     1030
     1031.release-facts div {
     1032  display: flex;
     1033  flex-direction: column;
     1034
     1035  gap: 5px;
     1036}
     1037
     1038.release-facts span {
     1039  color: #888;
     1040
     1041  font-size: 9px;
     1042  font-weight: 900;
     1043
     1044  text-transform: uppercase;
     1045  letter-spacing: 1px;
     1046}
     1047
     1048.release-facts strong {
     1049  font-size: 13px;
     1050}
     1051
     1052.artist-section {
     1053  margin-top: 25px;
     1054}
     1055
     1056.release-artists {
     1057  display: flex;
     1058  flex-wrap: wrap;
     1059
     1060  gap: 7px;
     1061
     1062  margin-top: 10px;
     1063}
     1064
     1065.artist-tag {
     1066  padding: 7px 10px;
     1067
     1068  background: white;
     1069
     1070  border: 1px solid #ddd;
     1071  border-radius: 5px;
     1072
     1073  font-size: 12px;
     1074  font-weight: 700;
     1075}
     1076
     1077.artist-role {
     1078  color: #888;
     1079
     1080  font-size: 9px;
     1081
     1082  text-transform: uppercase;
     1083}
     1084
     1085
     1086/* =========================================================
     1087   RELEASE SECTIONS
     1088   ========================================================= */
     1089
     1090.release-section {
     1091  margin-top: 70px;
     1092}
     1093
     1094.section-heading {
     1095  display: flex;
     1096  align-items: flex-end;
     1097  justify-content: space-between;
     1098
     1099  margin-bottom: 22px;
     1100  padding-bottom: 15px;
     1101
     1102  border-bottom: 1px solid #ddd;
     1103}
     1104
     1105.section-heading h2 {
     1106  margin-top: 5px;
     1107
     1108  font-size: 28px;
     1109  font-weight: 900;
     1110}
     1111
     1112.track-count {
     1113  color: #888;
     1114
     1115  font-size: 12px;
     1116}
     1117
     1118
     1119/* =========================================================
     1120   PRODUCT CARDS
     1121   ========================================================= */
     1122
     1123.product-grid {
     1124  display: grid;
     1125
     1126  grid-template-columns:
     1127        repeat(3, minmax(0, 1fr));
     1128
     1129  gap: 18px;
     1130}
     1131
     1132.store-product-card {
     1133  padding: 23px;
     1134
     1135  background: white;
     1136
     1137  border: 1px solid #ddd;
     1138  border-radius: 9px;
     1139
     1140  transition:
     1141          transform .2s ease,
     1142          box-shadow .2s ease;
     1143}
     1144
     1145.store-product-card:hover {
     1146  transform: translateY(-3px);
     1147
     1148  box-shadow:
     1149          0 12px 30px rgba(0,0,0,.08);
     1150}
     1151
     1152.product-card-top {
     1153  display: flex;
     1154  align-items: center;
     1155  justify-content: space-between;
     1156
     1157  margin-bottom: 20px;
     1158}
     1159
     1160.product-format {
     1161  font-size: 13px;
     1162  font-weight: 900;
     1163
     1164  letter-spacing: 1px;
     1165}
     1166
     1167.product-stock {
     1168  font-size: 10px;
     1169  font-weight: 800;
     1170}
     1171
     1172.product-stock.available {
     1173  color: #27804d;
     1174}
     1175
     1176.product-stock.unavailable {
     1177  color: #a33;
     1178}
     1179
     1180.product-price {
     1181  margin-bottom: 10px;
     1182
     1183  font-size: 28px;
     1184  font-weight: 900;
     1185}
     1186
     1187.product-description {
     1188  min-height: 48px;
     1189
     1190  color: #777;
     1191
     1192  font-size: 12px;
     1193  line-height: 1.6;
     1194}
     1195
     1196.product-actions {
     1197  display: grid;
     1198
     1199  grid-template-columns:
     1200        1fr 1fr;
     1201
     1202  gap: 8px;
     1203
     1204  margin-top: 20px;
     1205}
     1206
     1207
     1208/* =========================================================
     1209   TRACK LIST
     1210   ========================================================= */
     1211
     1212.track-list {
     1213  background: white;
     1214
     1215  border: 1px solid #ddd;
     1216  border-radius: 8px;
     1217
     1218  overflow: hidden;
     1219
     1220  list-style: none;
     1221}
     1222
     1223.track-row {
     1224  min-height: 68px;
     1225
     1226  display: grid;
     1227
     1228  grid-template-columns:
     1229        55px 1fr auto;
     1230
     1231  align-items: center;
     1232
     1233  gap: 15px;
     1234
     1235  padding: 10px 20px;
     1236
     1237  border-bottom: 1px solid #eee;
     1238}
     1239
     1240.track-row:last-child {
     1241  border-bottom: none;
     1242}
     1243
     1244.track-number {
     1245  color: #999;
     1246
     1247  font-size: 12px;
     1248  font-weight: 800;
     1249}
     1250
     1251.track-main strong {
     1252  font-size: 13px;
     1253}
     1254
     1255.song-artists {
     1256  margin-top: 4px;
     1257
     1258  color: #888;
     1259
     1260  font-size: 11px;
     1261}
     1262
     1263.track-duration {
     1264  color: #777;
     1265
     1266  font-size: 12px;
     1267}
     1268
     1269
     1270/* =========================================================
     1271   SINGLE
     1272   ========================================================= */
     1273
     1274.single-info-card {
     1275  display: flex;
     1276  align-items: center;
     1277  justify-content: space-between;
     1278
     1279  padding: 25px;
     1280
     1281  background: white;
     1282
     1283  border: 1px solid #ddd;
     1284  border-radius: 8px;
     1285}
     1286
     1287.single-info-card h2 {
     1288  margin-top: 5px;
     1289
     1290  font-size: 22px;
     1291}
     1292
     1293.single-duration {
     1294  text-align: right;
     1295}
     1296
     1297.single-duration span {
     1298  display: block;
     1299
     1300  color: #888;
     1301
     1302  font-size: 9px;
     1303  font-weight: 900;
     1304
     1305  text-transform: uppercase;
     1306  letter-spacing: 1px;
     1307}
     1308
     1309.single-duration strong {
     1310  display: block;
     1311
     1312  margin-top: 4px;
     1313
     1314  font-size: 20px;
     1315}
     1316
     1317
     1318/* =========================================================
     1319   CART
     1320   ========================================================= */
     1321
     1322.cart-page {
     1323  max-width: 1250px;
     1324
     1325  margin: 0 auto;
     1326
     1327  padding: 55px 30px 80px;
     1328}
     1329
     1330.cart-header {
     1331  display: flex;
     1332  align-items: flex-end;
     1333  justify-content: space-between;
     1334
     1335  margin-bottom: 35px;
     1336}
     1337
     1338.cart-header h1 {
     1339  margin-top: 7px;
     1340
     1341  font-size: 44px;
     1342  font-weight: 900;
     1343
     1344  letter-spacing: -1.5px;
     1345}
     1346
     1347.cart-header p {
     1348  margin-top: 8px;
     1349
     1350  color: #777;
     1351
     1352  font-size: 14px;
     1353}
     1354
     1355.cart-layout {
     1356  display: grid;
     1357
     1358  grid-template-columns:
     1359        1fr 330px;
     1360
     1361  gap: 25px;
     1362
     1363  align-items: start;
     1364}
     1365
     1366.cart-items {
     1367  background: white;
     1368
     1369  border: 1px solid #ddd;
     1370  border-radius: 9px;
     1371
     1372  overflow: hidden;
     1373}
     1374
     1375.cart-items-header {
     1376  padding: 16px 20px;
     1377
     1378  background: #fafafa;
     1379
     1380  border-bottom: 1px solid #ddd;
     1381
     1382  color: #777;
     1383
     1384  font-size: 12px;
     1385  font-weight: 800;
     1386}
     1387
     1388.cart-item {
     1389  min-height: 130px;
     1390
     1391  display: grid;
     1392
     1393  grid-template-columns:
     1394        90px 1fr auto auto 30px;
     1395
     1396  align-items: center;
     1397
     1398  gap: 18px;
     1399
     1400  padding: 20px;
     1401
     1402  border-bottom: 1px solid #eee;
     1403}
     1404
     1405.cart-item:last-child {
     1406  border-bottom: none;
     1407}
     1408
     1409.cart-item-cover {
     1410  width: 90px;
     1411  height: 90px;
     1412
     1413  display: flex;
     1414  align-items: center;
     1415  justify-content: center;
     1416
     1417  overflow: hidden;
     1418
     1419  background:
     1420          linear-gradient(
     1421                  135deg,
     1422                  #222,
     1423                  #555
     1424          );
     1425
     1426  color: white;
     1427
     1428  border-radius: 5px;
     1429}
     1430
     1431.cart-item-cover img {
     1432  width: 100%;
     1433  height: 100%;
     1434
     1435  object-fit: cover;
     1436}
     1437
     1438.cart-item-type {
     1439  color: #888;
     1440
     1441  font-size: 9px;
     1442  font-weight: 900;
     1443
     1444  text-transform: uppercase;
     1445  letter-spacing: 1px;
     1446}
     1447
     1448.cart-item-info h2 {
     1449  margin-top: 5px;
     1450
     1451  font-size: 17px;
     1452  font-weight: 800;
     1453}
     1454
     1455.cart-item-info h2 a:hover {
     1456  text-decoration: underline;
     1457}
     1458
     1459.cart-item-price {
     1460  margin-top: 6px;
     1461
     1462  color: #777;
     1463
     1464  font-size: 11px;
     1465}
     1466
     1467.cart-item-quantity form {
     1468  display: flex;
     1469  align-items: center;
     1470
     1471  gap: 6px;
     1472}
     1473
     1474.cart-item-quantity input {
     1475  width: 58px;
     1476  height: 36px;
     1477
     1478  padding: 0 8px;
     1479
     1480  border: 1px solid #ccc;
     1481  border-radius: 5px;
     1482
     1483  text-align: center;
     1484}
     1485
     1486.cart-item-quantity button {
     1487  height: 36px;
     1488
     1489  padding: 0 9px;
     1490
     1491  border: 1px solid #ccc;
     1492  border-radius: 5px;
     1493
     1494  background: white;
     1495  color: #555;
     1496
     1497  font-size: 10px;
     1498  font-weight: 800;
     1499}
     1500
     1501.cart-item-quantity button:hover {
     1502  background: #eee;
     1503}
     1504
     1505.cart-item-total {
     1506  min-width: 80px;
     1507
     1508  text-align: right;
     1509
     1510  font-size: 15px;
     1511  font-weight: 900;
     1512}
     1513
     1514.cart-remove {
     1515  width: 28px;
     1516  height: 28px;
     1517
     1518  border: none;
     1519  background: transparent;
     1520
     1521  color: #999;
     1522
     1523  font-size: 24px;
     1524}
     1525
     1526.cart-remove:hover {
     1527  color: #a33;
     1528}
     1529
     1530.cart-summary {
     1531  position: sticky;
     1532  top: 25px;
     1533
     1534  padding: 25px;
     1535
     1536  background: white;
     1537
     1538  border: 1px solid #ddd;
     1539  border-radius: 9px;
     1540
     1541  box-shadow: 0 8px 25px rgba(0,0,0,.05);
     1542}
     1543
     1544.cart-summary h2 {
     1545  margin-top: 6px;
     1546
     1547  font-size: 23px;
     1548}
     1549
     1550.summary-line {
     1551  display: flex;
     1552  justify-content: space-between;
     1553
     1554  padding: 15px 0;
     1555
     1556  color: #777;
     1557
     1558  font-size: 13px;
     1559
     1560  border-bottom: 1px solid #eee;
     1561}
     1562
     1563.summary-line.total {
     1564  margin-bottom: 20px;
     1565
     1566  color: #171717;
     1567
     1568  font-size: 17px;
     1569  font-weight: 900;
     1570}
     1571
     1572
     1573/* =========================================================
     1574   WISHLIST
     1575   ========================================================= */
     1576
     1577.wishlist-page {
     1578  max-width: 1250px;
     1579
     1580  margin: 0 auto;
     1581
     1582  padding: 55px 30px 80px;
     1583}
     1584
     1585.page-header {
     1586  margin-bottom: 35px;
     1587}
     1588
     1589.page-header h1 {
     1590  margin-top: 7px;
     1591
     1592  font-size: 44px;
     1593  font-weight: 900;
     1594
     1595  letter-spacing: -1.5px;
     1596}
     1597
     1598.page-header p {
     1599  margin-top: 8px;
     1600
     1601  color: #777;
     1602
     1603  font-size: 14px;
     1604}
     1605
     1606.wishlist-grid {
     1607  display: grid;
     1608
     1609  grid-template-columns:
     1610        repeat(2, minmax(0, 1fr));
     1611
     1612  gap: 20px;
     1613}
     1614
     1615.wishlist-card {
     1616  display: grid;
     1617
     1618  grid-template-columns:
     1619        190px 1fr;
     1620
     1621  overflow: hidden;
     1622
     1623  background: white;
     1624
     1625  border: 1px solid #ddd;
     1626  border-radius: 9px;
     1627}
     1628
     1629.wishlist-cover {
     1630  aspect-ratio: 1 / 1;
     1631
     1632  overflow: hidden;
     1633
     1634  background: #ddd;
     1635}
     1636
     1637.wishlist-cover img {
     1638  width: 100%;
     1639  height: 100%;
     1640
     1641  display: block;
     1642
     1643  object-fit: cover;
     1644
     1645  transition: transform .35s ease;
     1646}
     1647
     1648.wishlist-card:hover .wishlist-cover img {
     1649  transform: scale(1.04);
     1650}
     1651
     1652.wishlist-info {
     1653  padding: 22px;
     1654}
     1655
     1656.wishlist-format {
     1657  color: #888;
     1658
     1659  font-size: 9px;
     1660  font-weight: 900;
     1661
     1662  text-transform: uppercase;
     1663  letter-spacing: 1px;
     1664}
     1665
     1666.wishlist-info h2 {
     1667  margin-top: 7px;
     1668
     1669  font-size: 20px;
     1670  font-weight: 900;
     1671}
     1672
     1673.wishlist-info h2 a:hover {
     1674  text-decoration: underline;
     1675}
     1676
     1677.wishlist-genre {
     1678  margin-top: 6px;
     1679
     1680  color: #777;
     1681
     1682  font-size: 12px;
     1683}
     1684
     1685.wishlist-price {
     1686  margin-top: 18px;
     1687
     1688  font-size: 22px;
     1689  font-weight: 900;
     1690}
     1691
     1692.stock {
     1693  display: inline-block;
     1694
     1695  margin-top: 7px;
     1696
     1697  font-size: 10px;
     1698  font-weight: 800;
     1699}
     1700
     1701.stock.available {
     1702  color: #27804d;
     1703}
     1704
     1705.stock.unavailable {
     1706  color: #a33;
     1707}
     1708
     1709.wishlist-actions {
     1710  display: flex;
     1711  flex-wrap: wrap;
     1712
     1713  gap: 8px;
     1714
     1715  margin-top: 20px;
     1716}
     1717
     1718.btn-remove {
     1719  min-height: 42px;
     1720
     1721  padding: 0 17px;
     1722
     1723  border: 1px solid #ccc;
     1724  border-radius: 6px;
     1725
     1726  background: white;
     1727  color: #777;
     1728
     1729  font-size: 12px;
     1730  font-weight: 800;
     1731}
     1732
     1733.btn-remove:hover {
     1734  border-color: #a33;
     1735  color: #a33;
     1736}
     1737
     1738
     1739/* =========================================================
     1740   SALE
     1741   ========================================================= */
     1742
     1743.sale-page {
     1744  max-width: 1380px;
     1745
     1746  margin: 0 auto;
     1747
     1748  padding: 55px 30px 80px;
     1749}
     1750
     1751.sale-header {
     1752  margin-bottom: 40px;
     1753}
     1754
     1755.sale-header h1 {
     1756  margin-top: 8px;
     1757
     1758  font-size: 48px;
     1759  font-weight: 900;
     1760
     1761  letter-spacing: -2px;
     1762}
     1763
     1764.sale-header p {
     1765  margin-top: 8px;
     1766
     1767  color: #777;
     1768}
     1769
     1770.sale-grid {
     1771  display: grid;
     1772
     1773  grid-template-columns:
     1774        repeat(4, minmax(0, 1fr));
     1775
     1776  gap: 24px;
     1777}
     1778
     1779.sale-card {
     1780  overflow: hidden;
     1781
     1782  background: white;
     1783
     1784  border: 1px solid #ddd;
     1785  border-radius: 10px;
     1786
     1787  transition:
     1788          transform .25s ease,
     1789          box-shadow .25s ease;
     1790}
     1791
     1792.sale-card:hover {
     1793  transform: translateY(-5px);
     1794
     1795  box-shadow:
     1796          0 18px 40px rgba(0,0,0,.10);
     1797}
     1798
     1799.sale-card-cover {
    161800  position: relative;
    17   min-height: 100%;
    18 }
    19 
    20 body {
    21   margin-bottom: 60px;
    22 }
     1801
     1802  display: block;
     1803
     1804  aspect-ratio: 1 / 1;
     1805
     1806  overflow: hidden;
     1807
     1808  background: #ddd;
     1809}
     1810
     1811.sale-card-cover img {
     1812  width: 100%;
     1813  height: 100%;
     1814
     1815  object-fit: cover;
     1816
     1817  transition: transform .4s ease;
     1818}
     1819
     1820.sale-card:hover .sale-card-cover img {
     1821  transform: scale(1.04);
     1822}
     1823
     1824.sale-badge {
     1825  position: absolute;
     1826
     1827  top: 12px;
     1828  right: 12px;
     1829
     1830  padding: 7px 9px;
     1831
     1832  background: #171717;
     1833  color: white;
     1834
     1835  border-radius: 4px;
     1836
     1837  font-size: 10px;
     1838  font-weight: 900;
     1839}
     1840
     1841.sale-card-body {
     1842  padding: 20px;
     1843}
     1844
     1845.sale-card-body h2 {
     1846  margin-top: 7px;
     1847
     1848  font-size: 20px;
     1849  font-weight: 900;
     1850}
     1851
     1852.sale-card-body h2 a:hover {
     1853  text-decoration: underline;
     1854}
     1855
     1856.sale-price-row {
     1857  display: flex;
     1858  align-items: baseline;
     1859  gap: 9px;
     1860
     1861  margin-top: 18px;
     1862}
     1863
     1864.sale-old-price {
     1865  color: #999;
     1866
     1867  font-size: 13px;
     1868
     1869  text-decoration: line-through;
     1870}
     1871
     1872.sale-price {
     1873  font-size: 25px;
     1874  font-weight: 900;
     1875}
     1876
     1877.sale-actions {
     1878  display: grid;
     1879
     1880  gap: 8px;
     1881
     1882  margin-top: 20px;
     1883}
     1884
     1885
     1886/* =========================================================
     1887   TOP SELLERS
     1888   ========================================================= */
     1889
     1890.top-sellers-page {
     1891  max-width: 1380px;
     1892
     1893  margin: 0 auto;
     1894
     1895  padding: 55px 30px 80px;
     1896}
     1897
     1898.top-sellers-header {
     1899  margin-bottom: 40px;
     1900}
     1901
     1902.top-sellers-header h1 {
     1903  margin-top: 8px;
     1904
     1905  font-size: 48px;
     1906  font-weight: 900;
     1907
     1908  letter-spacing: -2px;
     1909}
     1910
     1911.top-sellers-header p {
     1912  margin-top: 8px;
     1913
     1914  color: #777;
     1915}
     1916
     1917
     1918/* =========================================================
     1919   HOME
     1920   ========================================================= */
     1921
     1922.home-page {
     1923  max-width: 1400px;
     1924
     1925  margin: 0 auto;
     1926
     1927  padding: 35px 30px 80px;
     1928}
     1929
     1930.home-hero {
     1931  min-height: 540px;
     1932
     1933  position: relative;
     1934
     1935  display: flex;
     1936  align-items: center;
     1937
     1938  padding: 75px;
     1939
     1940  overflow: hidden;
     1941
     1942  background: #111;
     1943  color: white;
     1944
     1945  border-radius: 16px;
     1946}
     1947
     1948.home-hero-content {
     1949  position: relative;
     1950  z-index: 2;
     1951
     1952  max-width: 680px;
     1953}
     1954
     1955.home-eyebrow {
     1956  color: #aaa;
     1957
     1958  font-size: 11px;
     1959  font-weight: 900;
     1960
     1961  letter-spacing: 3px;
     1962}
     1963
     1964.home-hero h1 {
     1965  margin-top: 16px;
     1966
     1967  font-size: clamp(48px, 6vw, 82px);
     1968
     1969  line-height: .93;
     1970
     1971  font-weight: 900;
     1972
     1973  letter-spacing: -4px;
     1974}
     1975
     1976.home-hero h1 span {
     1977  color: #777;
     1978}
     1979
     1980.home-hero p {
     1981  max-width: 540px;
     1982
     1983  margin-top: 25px;
     1984
     1985  color: #bbb;
     1986
     1987  font-size: 17px;
     1988  line-height: 1.7;
     1989}
     1990
     1991.home-hero-actions {
     1992  display: flex;
     1993  gap: 10px;
     1994
     1995  margin-top: 30px;
     1996}
     1997
     1998.home-button {
     1999  min-height: 46px;
     2000
     2001  display: inline-flex;
     2002  align-items: center;
     2003  justify-content: center;
     2004
     2005  padding: 0 21px;
     2006
     2007  border-radius: 6px;
     2008
     2009  font-size: 12px;
     2010  font-weight: 900;
     2011}
     2012
     2013.home-button.primary {
     2014  background: white;
     2015  color: #111;
     2016}
     2017
     2018.home-button.primary:hover {
     2019  background: #ddd;
     2020}
     2021
     2022.home-button.secondary {
     2023  border: 1px solid #555;
     2024  color: white;
     2025}
     2026
     2027.home-button.secondary:hover {
     2028  background: #292929;
     2029}
     2030
     2031.home-hero-mark {
     2032  position: absolute;
     2033
     2034  right: 5%;
     2035  bottom: -60px;
     2036
     2037  color: #1e1e1e;
     2038
     2039  font-size: 420px;
     2040  font-weight: 900;
     2041
     2042  line-height: 1;
     2043}
     2044
     2045.home-section {
     2046  margin-top: 70px;
     2047}
     2048
     2049.home-section-header {
     2050  margin-bottom: 25px;
     2051}
     2052
     2053.home-section-header h2 {
     2054  margin-top: 7px;
     2055
     2056  font-size: 32px;
     2057  font-weight: 900;
     2058}
     2059
     2060.home-feature-grid {
     2061  display: grid;
     2062
     2063  grid-template-columns:
     2064        repeat(3, 1fr);
     2065
     2066  gap: 18px;
     2067}
     2068
     2069.home-feature-card {
     2070  min-height: 220px;
     2071
     2072  padding: 27px;
     2073
     2074  background: white;
     2075
     2076  border: 1px solid #ddd;
     2077  border-radius: 10px;
     2078
     2079  transition:
     2080          transform .2s ease,
     2081          box-shadow .2s ease;
     2082}
     2083
     2084.home-feature-card:hover {
     2085  transform: translateY(-4px);
     2086
     2087  box-shadow:
     2088          0 15px 35px rgba(0,0,0,.08);
     2089}
     2090
     2091.home-feature-card > span {
     2092  color: #999;
     2093
     2094  font-size: 10px;
     2095  font-weight: 900;
     2096}
     2097
     2098.home-feature-card h3 {
     2099  margin-top: 35px;
     2100
     2101  font-size: 23px;
     2102  font-weight: 900;
     2103}
     2104
     2105.home-feature-card p {
     2106  margin-top: 8px;
     2107
     2108  color: #777;
     2109
     2110  font-size: 13px;
     2111}
     2112
     2113.home-feature-card strong {
     2114  display: block;
     2115
     2116  margin-top: 25px;
     2117
     2118  font-size: 12px;
     2119}
     2120
     2121.home-feature-card.sale-feature {
     2122  background: #171717;
     2123  color: white;
     2124}
     2125
     2126.home-feature-card.sale-feature p {
     2127  color: #aaa;
     2128}
     2129
     2130.home-collection {
     2131  margin-top: 70px;
     2132  padding: 40px;
     2133
     2134  display: flex;
     2135  justify-content: space-between;
     2136  gap: 40px;
     2137
     2138  background: #e9e9e7;
     2139
     2140  border-radius: 10px;
     2141}
     2142
     2143.home-collection h2 {
     2144  margin-top: 7px;
     2145
     2146  font-size: 32px;
     2147  font-weight: 900;
     2148}
     2149
     2150.home-collection p {
     2151  max-width: 450px;
     2152
     2153  color: #666;
     2154
     2155  line-height: 1.7;
     2156}
     2157
     2158
     2159/* =========================================================
     2160   PROFILE
     2161   ========================================================= */
     2162
     2163.profile-page {
     2164  max-width: 1100px;
     2165
     2166  margin: 0 auto;
     2167
     2168  padding: 55px 30px 80px;
     2169}
     2170
     2171.profile-header {
     2172  margin-bottom: 35px;
     2173}
     2174
     2175.profile-header h1 {
     2176  margin-top: 8px;
     2177
     2178  font-size: 44px;
     2179  font-weight: 900;
     2180
     2181  letter-spacing: -1.5px;
     2182}
     2183
     2184.profile-header p {
     2185  margin-top: 8px;
     2186
     2187  color: #777;
     2188}
     2189
     2190.profile-layout {
     2191  display: grid;
     2192
     2193  grid-template-columns:
     2194        280px 1fr;
     2195
     2196  gap: 25px;
     2197
     2198  align-items: start;
     2199}
     2200
     2201.profile-sidebar,
     2202.profile-card {
     2203  background: white;
     2204
     2205  border: 1px solid #ddd;
     2206  border-radius: 10px;
     2207}
     2208
     2209.profile-sidebar {
     2210  padding: 30px;
     2211
     2212  text-align: center;
     2213}
     2214
     2215.profile-avatar {
     2216  width: 80px;
     2217  height: 80px;
     2218
     2219  margin: 0 auto 18px;
     2220
     2221  display: flex;
     2222  align-items: center;
     2223  justify-content: center;
     2224
     2225  border-radius: 50%;
     2226
     2227  background: #171717;
     2228  color: white;
     2229
     2230  font-size: 32px;
     2231  font-weight: 900;
     2232}
     2233
     2234.profile-sidebar h2 {
     2235  font-size: 21px;
     2236}
     2237
     2238.profile-sidebar > p {
     2239  margin-top: 5px;
     2240
     2241  color: #777;
     2242
     2243  font-size: 12px;
     2244
     2245  word-break: break-word;
     2246}
     2247
     2248.profile-member,
     2249.profile-points {
     2250  margin-top: 28px;
     2251  padding-top: 20px;
     2252
     2253  border-top: 1px solid #eee;
     2254}
     2255
     2256.profile-member span,
     2257.profile-points span {
     2258  display: block;
     2259
     2260  color: #888;
     2261
     2262  font-size: 9px;
     2263  font-weight: 900;
     2264
     2265  letter-spacing: 1px;
     2266}
     2267
     2268.profile-member strong,
     2269.profile-points strong {
     2270  display: block;
     2271
     2272  margin-top: 6px;
     2273
     2274  font-size: 14px;
     2275}
     2276
     2277.profile-points strong {
     2278  font-size: 25px;
     2279}
     2280
     2281.profile-card {
     2282  padding: 30px;
     2283}
     2284
     2285.profile-card-header {
     2286  padding-bottom: 20px;
     2287
     2288  border-bottom: 1px solid #eee;
     2289}
     2290
     2291.profile-card-header h2 {
     2292  margin-top: 6px;
     2293
     2294  font-size: 24px;
     2295}
     2296
     2297.profile-form {
     2298  padding-top: 25px;
     2299}
     2300
     2301.profile-field {
     2302  margin-bottom: 20px;
     2303}
     2304
     2305.profile-field label {
     2306  display: block;
     2307
     2308  margin-bottom: 7px;
     2309
     2310  color: #555;
     2311
     2312  font-size: 10px;
     2313  font-weight: 900;
     2314
     2315  text-transform: uppercase;
     2316  letter-spacing: 1px;
     2317}
     2318
     2319.profile-field input,
     2320.profile-field textarea {
     2321  width: 100%;
     2322
     2323  padding: 12px 13px;
     2324
     2325  border: 1px solid #d4d4d4;
     2326  border-radius: 6px;
     2327
     2328  outline: none;
     2329
     2330  background: white;
     2331  color: #171717;
     2332
     2333  font-size: 13px;
     2334}
     2335
     2336.profile-field textarea {
     2337  resize: vertical;
     2338}
     2339
     2340.profile-field input:focus,
     2341.profile-field textarea:focus {
     2342  border-color: #777;
     2343}
     2344
     2345.profile-field input[readonly] {
     2346  background: #f3f3f3;
     2347  color: #777;
     2348}
     2349
     2350.profile-field small {
     2351  display: block;
     2352
     2353  margin-top: 5px;
     2354
     2355  color: #999;
     2356
     2357  font-size: 10px;
     2358}
     2359
     2360.field-error,
     2361.validation-summary {
     2362  color: #a33;
     2363
     2364  font-size: 11px;
     2365}
     2366
     2367.profile-form-actions {
     2368  display: flex;
     2369  gap: 8px;
     2370
     2371  margin-top: 25px;
     2372}
     2373
     2374.profile-alert {
     2375  margin-bottom: 20px;
     2376
     2377  padding: 14px 16px;
     2378
     2379  border-radius: 6px;
     2380
     2381  font-size: 12px;
     2382  font-weight: 700;
     2383}
     2384
     2385.profile-alert.success {
     2386  background: #e8f5ed;
     2387  color: #28734a;
     2388
     2389  border: 1px solid #c9e6d4;
     2390}
     2391
     2392
     2393/* =========================================================
     2394   FOOTER
     2395   ========================================================= */
     2396
     2397.site-footer {
     2398  margin-top: 80px;
     2399
     2400  background: #111;
     2401  color: #aaa;
     2402}
     2403
     2404.footer-container {
     2405  max-width: 1200px;
     2406
     2407  margin: 0 auto;
     2408
     2409  padding: 55px 30px;
     2410
     2411  display: grid;
     2412
     2413  grid-template-columns:
     2414        2fr 1fr 1fr 1fr;
     2415
     2416  gap: 50px;
     2417}
     2418
     2419.footer-logo {
     2420  color: white;
     2421
     2422  font-size: 20px;
     2423  font-weight: 900;
     2424
     2425  letter-spacing: 2px;
     2426}
     2427
     2428.footer-brand p {
     2429  max-width: 260px;
     2430
     2431  margin-top: 13px;
     2432
     2433  color: #777;
     2434
     2435  font-size: 13px;
     2436  line-height: 1.7;
     2437}
     2438
     2439.footer-column {
     2440  display: flex;
     2441  flex-direction: column;
     2442
     2443  gap: 10px;
     2444}
     2445
     2446.footer-column h4 {
     2447  margin-bottom: 8px;
     2448
     2449  color: white;
     2450
     2451  font-size: 11px;
     2452  font-weight: 900;
     2453
     2454  text-transform: uppercase;
     2455  letter-spacing: 1.3px;
     2456}
     2457
     2458.footer-column a {
     2459  width: fit-content;
     2460
     2461  color: #777;
     2462
     2463  font-size: 12px;
     2464}
     2465
     2466.footer-column a:hover {
     2467  color: white;
     2468}
     2469
     2470.footer-bottom {
     2471  max-width: 1200px;
     2472
     2473  margin: auto;
     2474  padding: 18px 30px;
     2475
     2476  border-top: 1px solid #292929;
     2477
     2478  display: flex;
     2479  justify-content: space-between;
     2480
     2481  color: #666;
     2482
     2483  font-size: 10px;
     2484}
     2485
     2486
     2487/* =========================================================
     2488   RESPONSIVE
     2489   ========================================================= */
     2490
     2491.mobile-menu-button {
     2492  display: none;
     2493}
     2494
     2495@media (max-width: 1200px) {
     2496
     2497  .navbar-container {
     2498    gap: 20px;
     2499  }
     2500
     2501  .nav-links {
     2502    gap: 15px;
     2503  }
     2504
     2505  .icon-label {
     2506    display: none;
     2507  }
     2508
     2509  .release-grid,
     2510  .sale-grid {
     2511    grid-template-columns:
     2512            repeat(3, minmax(0, 1fr));
     2513  }
     2514
     2515  .release-filters {
     2516    grid-template-columns:
     2517            2fr 1fr 1fr 1fr;
     2518  }
     2519
     2520  .filter-search {
     2521    grid-column: 1 / -1;
     2522  }
     2523
     2524  .filter-button {
     2525    grid-column: 1 / -1;
     2526  }
     2527}
     2528
     2529
     2530@media (max-width: 1000px) {
     2531
     2532  .release-grid,
     2533  .sale-grid {
     2534    grid-template-columns:
     2535            repeat(2, minmax(0, 1fr));
     2536  }
     2537
     2538  .wishlist-grid {
     2539    grid-template-columns: 1fr;
     2540  }
     2541
     2542  .release-hero {
     2543    grid-template-columns:
     2544            1fr 1fr;
     2545
     2546    gap: 30px;
     2547  }
     2548
     2549  .product-grid {
     2550    grid-template-columns:
     2551            repeat(2, minmax(0, 1fr));
     2552  }
     2553
     2554  .cart-layout {
     2555    grid-template-columns: 1fr;
     2556  }
     2557
     2558  .cart-summary {
     2559    position: static;
     2560  }
     2561
     2562  .profile-layout {
     2563    grid-template-columns: 1fr;
     2564  }
     2565
     2566  .profile-sidebar {
     2567    text-align: left;
     2568  }
     2569
     2570  .profile-avatar {
     2571    margin-left: 0;
     2572  }
     2573
     2574  .home-feature-grid {
     2575    grid-template-columns: 1fr 1fr;
     2576  }
     2577}
     2578
     2579
     2580@media (max-width: 950px) {
     2581
     2582  .navbar-container {
     2583    height: 70px;
     2584  }
     2585
     2586  .mobile-menu-button {
     2587    display: block;
     2588
     2589    margin-left: auto;
     2590
     2591    width: 42px;
     2592    height: 42px;
     2593
     2594    border: 1px solid #444;
     2595    border-radius: 6px;
     2596
     2597    background: #222;
     2598    color: white;
     2599
     2600    font-size: 21px;
     2601  }
     2602
     2603  .navbar-content {
     2604    display: none;
     2605
     2606    position: absolute;
     2607
     2608    top: 70px;
     2609    left: 0;
     2610    right: 0;
     2611
     2612    padding: 20px 25px 25px;
     2613
     2614    background: #111;
     2615
     2616    border-top: 1px solid #292929;
     2617
     2618    flex-direction: column;
     2619    align-items: stretch;
     2620
     2621    gap: 20px;
     2622  }
     2623
     2624  .navbar-content.mobile-open {
     2625    display: flex;
     2626  }
     2627
     2628  .nav-links {
     2629    flex-direction: column;
     2630    align-items: stretch;
     2631
     2632    gap: 0;
     2633  }
     2634
     2635  .nav-links li {
     2636    border-bottom: 1px solid #292929;
     2637  }
     2638
     2639  .nav-links a {
     2640    display: block;
     2641
     2642    padding: 13px 0;
     2643  }
     2644
     2645  .nav-links > li > a::after {
     2646    display: none;
     2647  }
     2648
     2649  .dropdown-menu {
     2650    position: static;
     2651
     2652    width: 100%;
     2653
     2654    display: none;
     2655
     2656    opacity: 1;
     2657    visibility: visible;
     2658
     2659    transform: none;
     2660
     2661    border: none;
     2662
     2663    box-shadow: none;
     2664
     2665    background: #181818;
     2666  }
     2667
     2668  .nav-dropdown:hover .dropdown-menu {
     2669    display: block;
     2670  }
     2671
     2672  .navbar-search {
     2673    width: 100%;
     2674    max-width: none;
     2675
     2676    margin: 0;
     2677  }
     2678
     2679  .navbar-actions {
     2680    width: 100%;
     2681
     2682    justify-content: flex-start;
     2683  }
     2684
     2685  .icon-label {
     2686    display: inline;
     2687  }
     2688
     2689  .auth-buttons {
     2690    margin-left: auto;
     2691  }
     2692}
     2693
     2694
     2695@media (max-width: 768px) {
     2696
     2697  .releases-page,
     2698  .release-details-page,
     2699  .cart-page,
     2700  .wishlist-page,
     2701  .sale-page,
     2702  .top-sellers-page,
     2703  .profile-page,
     2704  .home-page {
     2705    padding: 35px 18px 60px;
     2706  }
     2707
     2708  .releases-header,
     2709  .cart-header {
     2710    align-items: flex-start;
     2711
     2712    flex-direction: column;
     2713
     2714    gap: 18px;
     2715  }
     2716
     2717  .releases-header h1,
     2718  .cart-header h1,
     2719  .page-header h1,
     2720  .sale-header h1,
     2721  .top-sellers-header h1,
     2722  .profile-header h1 {
     2723    font-size: 36px;
     2724  }
     2725
     2726  .release-filters {
     2727    grid-template-columns: 1fr;
     2728  }
     2729
     2730  .filter-search,
     2731  .filter-button,
     2732  .clear-filter {
     2733    grid-column: auto;
     2734  }
     2735
     2736  .release-grid,
     2737  .sale-grid {
     2738    grid-template-columns: 1fr;
     2739  }
     2740
     2741  .release-hero {
     2742    grid-template-columns: 1fr;
     2743
     2744    gap: 30px;
     2745  }
     2746
     2747  .release-hero-cover {
     2748    max-width: 550px;
     2749
     2750    margin: 0 auto;
     2751  }
     2752
     2753  .release-hero-info h1 {
     2754    font-size: 43px;
     2755  }
     2756
     2757  .release-facts {
     2758    grid-template-columns:
     2759            1fr 1fr;
     2760  }
     2761
     2762  .product-grid {
     2763    grid-template-columns: 1fr;
     2764  }
     2765
     2766  .product-actions {
     2767    grid-template-columns: 1fr;
     2768  }
     2769
     2770  .track-row {
     2771    grid-template-columns:
     2772            35px 1fr;
     2773
     2774    padding: 14px;
     2775  }
     2776
     2777  .track-duration {
     2778    grid-column: 2;
     2779  }
     2780
     2781  .cart-item {
     2782    grid-template-columns:
     2783            70px 1fr 30px;
     2784
     2785    gap: 12px;
     2786  }
     2787
     2788  .cart-item-cover {
     2789    width: 70px;
     2790    height: 70px;
     2791  }
     2792
     2793  .cart-item-quantity,
     2794  .cart-item-total {
     2795    grid-column: 2;
     2796  }
     2797
     2798  .cart-item-total {
     2799    text-align: left;
     2800  }
     2801
     2802  .cart-remove {
     2803    grid-column: 3;
     2804    grid-row: 1;
     2805  }
     2806
     2807  .wishlist-grid {
     2808    grid-template-columns: 1fr;
     2809  }
     2810
     2811  .wishlist-card {
     2812    grid-template-columns:
     2813            120px 1fr;
     2814  }
     2815
     2816  .home-hero {
     2817    min-height: 500px;
     2818
     2819    padding: 45px 30px;
     2820  }
     2821
     2822  .home-hero-mark {
     2823    font-size: 250px;
     2824  }
     2825
     2826  .home-feature-grid {
     2827    grid-template-columns: 1fr;
     2828  }
     2829
     2830  .home-collection {
     2831    flex-direction: column;
     2832  }
     2833
     2834  .profile-sidebar {
     2835    text-align: center;
     2836  }
     2837
     2838  .profile-avatar {
     2839    margin-left: auto;
     2840  }
     2841
     2842  .footer-container {
     2843    grid-template-columns:
     2844            1fr 1fr;
     2845
     2846    gap: 35px;
     2847
     2848    padding: 40px 25px;
     2849  }
     2850
     2851  .footer-brand {
     2852    grid-column: 1 / -1;
     2853  }
     2854
     2855  .footer-bottom {
     2856    padding: 18px 25px;
     2857
     2858    flex-direction: column;
     2859
     2860    gap: 5px;
     2861  }
     2862}
     2863
     2864
     2865@media (max-width: 500px) {
     2866
     2867  .wishlist-card {
     2868    grid-template-columns: 1fr;
     2869  }
     2870
     2871  .wishlist-cover {
     2872    max-height: 300px;
     2873  }
     2874
     2875  .wishlist-actions {
     2876    flex-direction: column;
     2877  }
     2878
     2879  .wishlist-actions .store-button,
     2880  .wishlist-actions .btn-remove {
     2881    width: 100%;
     2882  }
     2883
     2884  .home-hero {
     2885    padding: 35px 22px;
     2886  }
     2887
     2888  .home-hero h1 {
     2889    font-size: 45px;
     2890  }
     2891
     2892  .home-hero-actions {
     2893    flex-direction: column;
     2894  }
     2895
     2896  .home-button {
     2897    width: 100%;
     2898  }
     2899
     2900  .profile-card {
     2901    padding: 20px;
     2902  }
     2903
     2904  .profile-form-actions {
     2905    flex-direction: column;
     2906  }
     2907
     2908  .profile-form-actions .store-button {
     2909    width: 100%;
     2910  }
     2911}
     2912
     2913/* =========================================================
     2914 ADMIN
     2915 ========================================================= */
     2916
     2917.admin-page {
     2918  max-width: 1250px;
     2919
     2920  margin: 0 auto;
     2921
     2922  padding: 55px 30px 80px;
     2923}
     2924
     2925
     2926/* =========================================================
     2927   ADMIN HEADER
     2928   ========================================================= */
     2929
     2930.admin-header {
     2931  display: flex;
     2932  align-items: flex-end;
     2933  justify-content: space-between;
     2934
     2935  gap: 30px;
     2936
     2937  margin-bottom: 35px;
     2938}
     2939
     2940.admin-eyebrow {
     2941  display: block;
     2942
     2943  margin-bottom: 7px;
     2944
     2945  color: #888;
     2946
     2947  font-size: 9px;
     2948  font-weight: 900;
     2949
     2950  letter-spacing: 1.7px;
     2951  text-transform: uppercase;
     2952}
     2953
     2954.admin-header h1 {
     2955  font-size: 44px;
     2956  font-weight: 900;
     2957
     2958  letter-spacing: -1.5px;
     2959}
     2960
     2961.admin-header p {
     2962  margin-top: 8px;
     2963
     2964  color: #777;
     2965
     2966  font-size: 14px;
     2967}
     2968
     2969.admin-back-link {
     2970  display: block;
     2971
     2972  margin-bottom: 22px;
     2973
     2974  color: #777;
     2975
     2976  font-size: 12px;
     2977  font-weight: 700;
     2978}
     2979
     2980.admin-back-link:hover {
     2981  color: #111;
     2982}
     2983
     2984
     2985/* =========================================================
     2986   ADMIN BUTTONS
     2987   ========================================================= */
     2988
     2989.admin-button {
     2990  min-height: 41px;
     2991
     2992  display: inline-flex;
     2993  align-items: center;
     2994  justify-content: center;
     2995
     2996  gap: 7px;
     2997
     2998  padding: 0 17px;
     2999
     3000  border-radius: 6px;
     3001
     3002  font-size: 12px;
     3003  font-weight: 800;
     3004
     3005  transition:
     3006          background .2s ease,
     3007          border-color .2s ease,
     3008          color .2s ease,
     3009          transform .2s ease;
     3010}
     3011
     3012.admin-button:hover {
     3013  transform: translateY(-1px);
     3014}
     3015
     3016.admin-button.primary {
     3017  border: 1px solid #171717;
     3018
     3019  background: #171717;
     3020  color: white;
     3021}
     3022
     3023.admin-button.primary:hover {
     3024  background: #333;
     3025}
     3026
     3027.admin-button.secondary {
     3028  border: 1px solid #d4d4d4;
     3029
     3030  background: white;
     3031  color: #333;
     3032}
     3033
     3034.admin-button.secondary:hover {
     3035  background: #eee;
     3036}
     3037
     3038.admin-button.small {
     3039  min-height: 34px;
     3040
     3041  padding: 0 13px;
     3042
     3043  font-size: 10px;
     3044}
     3045
     3046
     3047/* =========================================================
     3048   ALERT
     3049   ========================================================= */
     3050
     3051.admin-alert {
     3052  display: flex;
     3053  align-items: center;
     3054
     3055  gap: 9px;
     3056
     3057  margin-bottom: 25px;
     3058
     3059  padding: 14px 17px;
     3060
     3061  border-radius: 7px;
     3062
     3063  font-size: 12px;
     3064  font-weight: 700;
     3065}
     3066
     3067.admin-alert.success {
     3068  border: 1px solid #c9e6d3;
     3069
     3070  background: #ecf8f0;
     3071
     3072  color: #287348;
     3073}
     3074
     3075
     3076/* =========================================================
     3077   DASHBOARD STATS
     3078   ========================================================= */
     3079
     3080.admin-stat-grid {
     3081  display: grid;
     3082
     3083  grid-template-columns:
     3084        repeat(4, minmax(0, 1fr));
     3085
     3086  gap: 16px;
     3087
     3088  margin-bottom: 55px;
     3089}
     3090
     3091.admin-stat-card {
     3092  min-height: 150px;
     3093
     3094  padding: 22px;
     3095
     3096  background: white;
     3097
     3098  border: 1px solid #ddd;
     3099  border-radius: 9px;
     3100}
     3101
     3102.admin-stat-label {
     3103  display: block;
     3104
     3105  color: #888;
     3106
     3107  font-size: 9px;
     3108  font-weight: 900;
     3109
     3110  letter-spacing: 1.2px;
     3111}
     3112
     3113.admin-stat-card > strong {
     3114  display: block;
     3115
     3116  margin-top: 13px;
     3117
     3118  font-size: 34px;
     3119  font-weight: 900;
     3120}
     3121
     3122.admin-stat-card p {
     3123  margin-top: 7px;
     3124
     3125  color: #888;
     3126
     3127  font-size: 11px;
     3128  line-height: 1.5;
     3129}
     3130
     3131.admin-stat-card.warning {
     3132  border-top: 3px solid #c88a27;
     3133}
     3134
     3135.admin-stat-card.danger {
     3136  border-top: 3px solid #ad4545;
     3137}
     3138
     3139
     3140/* =========================================================
     3141   DASHBOARD ACTIONS
     3142   ========================================================= */
     3143
     3144.admin-section {
     3145  margin-top: 20px;
     3146}
     3147
     3148.admin-section-heading {
     3149  margin-bottom: 20px;
     3150
     3151  padding-bottom: 15px;
     3152
     3153  border-bottom: 1px solid #ddd;
     3154}
     3155
     3156.admin-section-heading h2 {
     3157  margin-top: 5px;
     3158
     3159  font-size: 27px;
     3160  font-weight: 900;
     3161}
     3162
     3163.admin-action-grid {
     3164  display: grid;
     3165
     3166  grid-template-columns:
     3167        repeat(2, minmax(0, 1fr));
     3168
     3169  gap: 16px;
     3170}
     3171
     3172.admin-action-card {
     3173  min-height: 170px;
     3174
     3175  display: grid;
     3176
     3177  grid-template-columns:
     3178        55px 1fr 25px;
     3179
     3180  align-items: center;
     3181
     3182  gap: 18px;
     3183
     3184  padding: 25px;
     3185
     3186  background: white;
     3187
     3188  border: 1px solid #ddd;
     3189  border-radius: 9px;
     3190
     3191  transition:
     3192          transform .2s ease,
     3193          box-shadow .2s ease;
     3194}
     3195
     3196.admin-action-card:hover {
     3197  transform: translateY(-3px);
     3198
     3199  box-shadow:
     3200          0 12px 30px rgba(0,0,0,.07);
     3201}
     3202
     3203.admin-action-icon {
     3204  width: 48px;
     3205  height: 48px;
     3206
     3207  display: flex;
     3208  align-items: center;
     3209  justify-content: center;
     3210
     3211  border-radius: 7px;
     3212
     3213  background: #171717;
     3214  color: white;
     3215
     3216  font-size: 21px;
     3217}
     3218
     3219.admin-action-card h3 {
     3220  font-size: 18px;
     3221  font-weight: 900;
     3222}
     3223
     3224.admin-action-card p {
     3225  margin-top: 6px;
     3226
     3227  color: #777;
     3228
     3229  font-size: 12px;
     3230  line-height: 1.5;
     3231}
     3232
     3233.admin-action-arrow {
     3234  color: #999;
     3235
     3236  font-size: 18px;
     3237}
     3238
     3239
     3240/* =========================================================
     3241   PRODUCT TABLE
     3242   ========================================================= */
     3243
     3244.admin-list-summary {
     3245  display: flex;
     3246
     3247  gap: 20px;
     3248
     3249  margin-bottom: 13px;
     3250
     3251  color: #777;
     3252
     3253  font-size: 11px;
     3254  font-weight: 700;
     3255}
     3256
     3257.admin-table-wrapper {
     3258  overflow-x: auto;
     3259
     3260  background: white;
     3261
     3262  border: 1px solid #ddd;
     3263  border-radius: 9px;
     3264}
     3265
     3266.admin-table {
     3267  width: 100%;
     3268
     3269  border-collapse: collapse;
     3270}
     3271
     3272.admin-table th {
     3273  padding: 14px 18px;
     3274
     3275  background: #fafafa;
     3276
     3277  border-bottom: 1px solid #ddd;
     3278
     3279  color: #777;
     3280
     3281  font-size: 9px;
     3282  font-weight: 900;
     3283
     3284  text-align: left;
     3285  text-transform: uppercase;
     3286  letter-spacing: 1px;
     3287}
     3288
     3289.admin-table td {
     3290  padding: 14px 18px;
     3291
     3292  border-bottom: 1px solid #eee;
     3293
     3294  font-size: 12px;
     3295
     3296  vertical-align: middle;
     3297}
     3298
     3299.admin-table tbody tr:last-child td {
     3300  border-bottom: none;
     3301}
     3302
     3303.admin-table tbody tr:hover {
     3304  background: #fcfcfc;
     3305}
     3306
     3307.admin-product-release {
     3308  display: flex;
     3309  align-items: center;
     3310
     3311  gap: 13px;
     3312}
     3313
     3314.admin-product-cover {
     3315  width: 48px;
     3316  height: 48px;
     3317
     3318  flex-shrink: 0;
     3319
     3320  display: flex;
     3321  align-items: center;
     3322  justify-content: center;
     3323
     3324  overflow: hidden;
     3325
     3326  border-radius: 4px;
     3327
     3328  background: #eee;
     3329}
     3330
     3331.admin-product-cover img {
     3332  width: 100%;
     3333  height: 100%;
     3334
     3335  object-fit: cover;
     3336}
     3337
     3338.admin-product-release strong {
     3339  display: block;
     3340
     3341  font-size: 12px;
     3342}
     3343
     3344.admin-product-release small {
     3345  display: block;
     3346
     3347  margin-top: 3px;
     3348
     3349  color: #999;
     3350
     3351  font-size: 9px;
     3352}
     3353
     3354.admin-format-badge {
     3355  display: inline-flex;
     3356
     3357  padding: 5px 8px;
     3358
     3359  border-radius: 4px;
     3360
     3361  background: #eee;
     3362
     3363  color: #555;
     3364
     3365  font-size: 9px;
     3366  font-weight: 900;
     3367}
     3368
     3369.admin-price {
     3370  font-weight: 800;
     3371}
     3372
     3373.admin-stock {
     3374  display: inline-flex;
     3375
     3376  padding: 5px 8px;
     3377
     3378  border-radius: 20px;
     3379
     3380  font-size: 9px;
     3381  font-weight: 800;
     3382}
     3383
     3384.admin-stock.success {
     3385  background: #e7f5ec;
     3386  color: #287148;
     3387}
     3388
     3389.admin-stock.warning {
     3390  background: #fbf1df;
     3391  color: #976317;
     3392}
     3393
     3394.admin-stock.danger {
     3395  background: #fae8e8;
     3396  color: #983b3b;
     3397}
     3398
     3399.admin-table-action {
     3400  text-align: right;
     3401}
     3402
     3403
     3404/* =========================================================
     3405   FORMS
     3406   ========================================================= */
     3407
     3408.admin-form-layout {
     3409  display: grid;
     3410
     3411  grid-template-columns:
     3412        minmax(0, 1fr)
     3413        300px;
     3414
     3415  gap: 22px;
     3416
     3417  align-items: start;
     3418}
     3419
     3420.admin-form-card,
     3421.admin-help-card,
     3422.admin-product-summary {
     3423  background: white;
     3424
     3425  border: 1px solid #ddd;
     3426  border-radius: 9px;
     3427}
     3428
     3429.admin-form-card {
     3430  padding: 30px;
     3431}
     3432
     3433.admin-form-card-header {
     3434  margin-bottom: 27px;
     3435
     3436  padding-bottom: 19px;
     3437
     3438  border-bottom: 1px solid #eee;
     3439}
     3440
     3441.admin-form-card-header h2 {
     3442  margin-top: 5px;
     3443
     3444  font-size: 23px;
     3445  font-weight: 900;
     3446}
     3447
     3448.admin-form-row {
     3449  display: grid;
     3450
     3451  grid-template-columns:
     3452        1fr 1fr;
     3453
     3454  gap: 16px;
     3455}
     3456
     3457.admin-form-field {
     3458  margin-bottom: 20px;
     3459}
     3460
     3461.admin-form-field label {
     3462  display: block;
     3463
     3464  margin-bottom: 7px;
     3465
     3466  color: #555;
     3467
     3468  font-size: 10px;
     3469  font-weight: 900;
     3470
     3471  text-transform: uppercase;
     3472  letter-spacing: .8px;
     3473}
     3474
     3475.admin-form-field input,
     3476.admin-form-field select,
     3477.admin-form-field textarea {
     3478  width: 100%;
     3479
     3480  padding: 11px 12px;
     3481
     3482  border: 1px solid #d4d4d4;
     3483  border-radius: 6px;
     3484
     3485  outline: none;
     3486
     3487  background: white;
     3488  color: #171717;
     3489
     3490  font-size: 12px;
     3491}
     3492
     3493.admin-form-field select,
     3494.admin-form-field input {
     3495  min-height: 42px;
     3496}
     3497
     3498.admin-form-field textarea {
     3499  resize: vertical;
     3500
     3501  line-height: 1.6;
     3502}
     3503
     3504.admin-form-field input:focus,
     3505.admin-form-field select:focus,
     3506.admin-form-field textarea:focus {
     3507  border-color: #777;
     3508}
     3509
     3510.admin-form-field small {
     3511  display: block;
     3512
     3513  margin-top: 6px;
     3514
     3515  color: #999;
     3516
     3517  font-size: 10px;
     3518  line-height: 1.5;
     3519}
     3520
     3521.admin-input-prefix,
     3522.admin-input-suffix {
     3523  display: flex;
     3524
     3525  overflow: hidden;
     3526
     3527  border: 1px solid #d4d4d4;
     3528  border-radius: 6px;
     3529}
     3530
     3531.admin-input-prefix:focus-within,
     3532.admin-input-suffix:focus-within {
     3533  border-color: #777;
     3534}
     3535
     3536.admin-input-prefix > span,
     3537.admin-input-suffix > span {
     3538  min-width: 42px;
     3539
     3540  display: flex;
     3541  align-items: center;
     3542  justify-content: center;
     3543
     3544  background: #f5f5f5;
     3545
     3546  color: #777;
     3547
     3548  font-size: 12px;
     3549  font-weight: 800;
     3550}
     3551
     3552.admin-input-prefix input,
     3553.admin-input-suffix input {
     3554  border: none;
     3555  border-radius: 0;
     3556}
     3557
     3558.admin-field-error,
     3559.admin-validation {
     3560  display: block;
     3561
     3562  margin-top: 5px;
     3563
     3564  color: #a33;
     3565
     3566  font-size: 10px;
     3567}
     3568
     3569.admin-validation {
     3570  margin-bottom: 18px;
     3571}
     3572
     3573.admin-form-actions {
     3574  display: flex;
     3575
     3576  gap: 8px;
     3577
     3578  margin-top: 28px;
     3579
     3580  padding-top: 22px;
     3581
     3582  border-top: 1px solid #eee;
     3583}
     3584
     3585
     3586/* =========================================================
     3587   HELP CARD
     3588   ========================================================= */
     3589
     3590.admin-help-card {
     3591  padding: 25px;
     3592}
     3593
     3594.admin-help-card h3 {
     3595  margin-top: 6px;
     3596  margin-bottom: 22px;
     3597
     3598  font-size: 18px;
     3599}
     3600
     3601.admin-help-item {
     3602  display: grid;
     3603
     3604  grid-template-columns:
     3605        30px 1fr;
     3606
     3607  gap: 11px;
     3608
     3609  padding: 15px 0;
     3610
     3611  border-top: 1px solid #eee;
     3612}
     3613
     3614.admin-help-item strong {
     3615  color: #999;
     3616
     3617  font-size: 10px;
     3618}
     3619
     3620.admin-help-item p {
     3621  color: #777;
     3622
     3623  font-size: 11px;
     3624  line-height: 1.6;
     3625}
     3626
     3627
     3628/* =========================================================
     3629   EDIT PRODUCT
     3630   ========================================================= */
     3631
     3632.admin-product-summary {
     3633  display: flex;
     3634  align-items: center;
     3635  justify-content: space-between;
     3636
     3637  gap: 30px;
     3638
     3639  padding: 24px;
     3640
     3641  margin-bottom: 20px;
     3642}
     3643
     3644.admin-product-summary h2 {
     3645  margin-top: 5px;
     3646
     3647  font-size: 23px;
     3648}
     3649
     3650.admin-product-summary-meta {
     3651  display: flex;
     3652
     3653  gap: 35px;
     3654}
     3655
     3656.admin-product-summary-meta div {
     3657  text-align: right;
     3658}
     3659
     3660.admin-product-summary-meta span {
     3661  display: block;
     3662
     3663  color: #999;
     3664
     3665  font-size: 8px;
     3666  font-weight: 900;
     3667
     3668  letter-spacing: 1px;
     3669}
     3670
     3671.admin-product-summary-meta strong {
     3672  display: block;
     3673
     3674  margin-top: 5px;
     3675
     3676  font-size: 13px;
     3677}
     3678
     3679.admin-edit-card {
     3680  max-width: 900px;
     3681}
     3682
     3683.admin-modification-options {
     3684  display: grid;
     3685
     3686  grid-template-columns:
     3687        1fr 1fr;
     3688
     3689  gap: 10px;
     3690}
     3691
     3692.admin-modification-option {
     3693  display: flex !important;
     3694  align-items: flex-start;
     3695
     3696  gap: 10px;
     3697
     3698  padding: 15px;
     3699
     3700  border: 1px solid #ddd;
     3701  border-radius: 7px;
     3702
     3703  cursor: pointer;
     3704
     3705  text-transform: none !important;
     3706  letter-spacing: normal !important;
     3707}
     3708
     3709.admin-modification-option:hover {
     3710  border-color: #999;
     3711}
     3712
     3713.admin-modification-option input {
     3714  width: auto;
     3715
     3716  min-height: 0;
     3717
     3718  margin-top: 3px;
     3719}
     3720
     3721.admin-modification-option strong {
     3722  display: block;
     3723
     3724  color: #222;
     3725
     3726  font-size: 12px;
     3727}
     3728
     3729.admin-modification-option small {
     3730  margin-top: 4px;
     3731
     3732  color: #888;
     3733
     3734  font-size: 10px;
     3735}
     3736
     3737.admin-edit-section {
     3738  margin-top: 28px;
     3739
     3740  padding-top: 25px;
     3741
     3742  border-top: 1px solid #eee;
     3743}
     3744
     3745.admin-edit-section-heading {
     3746  margin-bottom: 22px;
     3747}
     3748
     3749.admin-edit-section-heading h3 {
     3750  margin-top: 5px;
     3751
     3752  font-size: 19px;
     3753}
     3754
     3755.admin-edit-section-heading p {
     3756  margin-top: 5px;
     3757
     3758  color: #777;
     3759
     3760  font-size: 11px;
     3761}
     3762
     3763.admin-discount-preview {
     3764  display: grid;
     3765
     3766  grid-template-columns:
     3767        1fr 1fr;
     3768
     3769  gap: 8px 20px;
     3770
     3771  padding: 18px;
     3772
     3773  background: #f7f7f7;
     3774
     3775  border-radius: 7px;
     3776}
     3777
     3778.admin-discount-preview span {
     3779  color: #888;
     3780
     3781  font-size: 8px;
     3782  font-weight: 900;
     3783
     3784  letter-spacing: 1px;
     3785}
     3786
     3787.admin-discount-preview strong {
     3788  font-size: 18px;
     3789}
     3790
     3791
     3792/* =========================================================
     3793   ADMIN RESPONSIVE
     3794   ========================================================= */
     3795
     3796@media (max-width: 1000px) {
     3797
     3798  .admin-stat-grid {
     3799    grid-template-columns:
     3800            repeat(2, 1fr);
     3801  }
     3802
     3803  .admin-form-layout {
     3804    grid-template-columns: 1fr;
     3805  }
     3806
     3807  .admin-help-card {
     3808    order: -1;
     3809  }
     3810
     3811}
     3812
     3813
     3814@media (max-width: 750px) {
     3815
     3816  .admin-page {
     3817    padding: 35px 18px 60px;
     3818  }
     3819
     3820  .admin-header {
     3821    flex-direction: column;
     3822    align-items: flex-start;
     3823  }
     3824
     3825  .admin-header h1 {
     3826    font-size: 35px;
     3827  }
     3828
     3829  .admin-stat-grid,
     3830  .admin-action-grid {
     3831    grid-template-columns: 1fr;
     3832  }
     3833
     3834  .admin-form-row,
     3835  .admin-modification-options {
     3836    grid-template-columns: 1fr;
     3837  }
     3838
     3839  .admin-product-summary {
     3840    align-items: flex-start;
     3841    flex-direction: column;
     3842  }
     3843
     3844  .admin-product-summary-meta {
     3845    width: 100%;
     3846
     3847    justify-content: space-between;
     3848  }
     3849
     3850  .admin-product-summary-meta div {
     3851    text-align: left;
     3852  }
     3853
     3854}
     3855
     3856
     3857@media (max-width: 500px) {
     3858
     3859  .admin-stat-grid {
     3860    grid-template-columns: 1fr;
     3861  }
     3862
     3863  .admin-form-card {
     3864    padding: 20px;
     3865  }
     3866
     3867  .admin-form-actions {
     3868    flex-direction: column;
     3869  }
     3870
     3871  .admin-form-actions .admin-button {
     3872    width: 100%;
     3873  }
     3874
     3875}
     3876/* =========================================================
     3877   ADMIN RELEASE CREATOR
     3878   ========================================================= */
     3879
     3880.release-create-section {
     3881  margin-bottom: 20px;
     3882}
     3883
     3884.admin-section-description {
     3885  margin-top: 7px;
     3886
     3887  color: #888;
     3888
     3889  font-size: 11px;
     3890  line-height: 1.6;
     3891}
     3892
     3893
     3894/* =========================================================
     3895   MULTI SELECT
     3896   ========================================================= */
     3897
     3898.admin-multi-select {
     3899  min-height: 130px !important;
     3900
     3901  padding: 7px !important;
     3902}
     3903
     3904.admin-multi-select option {
     3905  padding: 8px 9px;
     3906
     3907  border-radius: 4px;
     3908}
     3909
     3910
     3911/* =========================================================
     3912   COVER PREVIEW
     3913   ========================================================= */
     3914
     3915.admin-cover-preview {
     3916  margin-top: 25px;
     3917
     3918  padding-top: 22px;
     3919
     3920  border-top: 1px solid #eee;
     3921}
     3922
     3923.admin-cover-preview-image {
     3924  width: 150px;
     3925  height: 150px;
     3926
     3927  margin-top: 10px;
     3928
     3929  display: flex;
     3930  align-items: center;
     3931  justify-content: center;
     3932
     3933  overflow: hidden;
     3934
     3935  background:
     3936          linear-gradient(
     3937                  135deg,
     3938                  #222,
     3939                  #555
     3940          );
     3941
     3942  color: white;
     3943
     3944  border-radius: 7px;
     3945
     3946  font-size: 35px;
     3947}
     3948
     3949.admin-cover-preview-image img {
     3950  width: 100%;
     3951  height: 100%;
     3952
     3953  display: block;
     3954
     3955  object-fit: cover;
     3956}
     3957
     3958
     3959/* =========================================================
     3960   TRACK HEADER
     3961   ========================================================= */
     3962
     3963.track-header {
     3964  display: flex;
     3965  align-items: center;
     3966  justify-content: space-between;
     3967
     3968  gap: 25px;
     3969}
     3970
     3971
     3972/* =========================================================
     3973   TRACK CARDS
     3974   ========================================================= */
     3975
     3976.admin-track-card {
     3977  position: relative;
     3978
     3979  display: grid;
     3980
     3981  grid-template-columns:
     3982        42px
     3983        minmax(0, 1fr)
     3984        35px;
     3985
     3986  gap: 15px;
     3987
     3988  margin-bottom: 12px;
     3989  padding: 20px;
     3990
     3991  background: #fafafa;
     3992
     3993  border: 1px solid #ddd;
     3994  border-radius: 8px;
     3995}
     3996
     3997.admin-track-number {
     3998  width: 36px;
     3999  height: 36px;
     4000
     4001  display: flex;
     4002  align-items: center;
     4003  justify-content: center;
     4004
     4005  background: #171717;
     4006  color: white;
     4007
     4008  border-radius: 50%;
     4009
     4010  font-size: 11px;
     4011  font-weight: 900;
     4012}
     4013
     4014.admin-track-content {
     4015  min-width: 0;
     4016}
     4017
     4018.admin-track-remove {
     4019  width: 32px;
     4020  height: 32px;
     4021
     4022  display: flex;
     4023  align-items: center;
     4024  justify-content: center;
     4025
     4026  border: 1px solid #ddd;
     4027  border-radius: 5px;
     4028
     4029  background: white;
     4030  color: #888;
     4031
     4032  font-size: 20px;
     4033}
     4034
     4035.admin-track-remove:hover {
     4036  border-color: #a44;
     4037
     4038  background: #fff5f5;
     4039  color: #a44;
     4040}
     4041
     4042
     4043/* =========================================================
     4044   RELEASE SUBMIT
     4045   ========================================================= */
     4046
     4047.admin-release-submit {
     4048  display: flex;
     4049  align-items: center;
     4050  justify-content: space-between;
     4051
     4052  gap: 25px;
     4053
     4054  margin-top: 30px;
     4055  padding: 25px 30px;
     4056
     4057  background: #171717;
     4058  color: white;
     4059
     4060  border-radius: 9px;
     4061}
     4062
     4063.admin-release-submit p {
     4064  margin-top: 5px;
     4065
     4066  color: #aaa;
     4067
     4068  font-size: 11px;
     4069}
     4070
     4071.admin-release-submit .admin-eyebrow {
     4072  color: #888;
     4073}
     4074
     4075.admin-release-submit .release-actions {
     4076  margin: 0;
     4077  padding: 0;
     4078
     4079  border: none;
     4080}
     4081
     4082.admin-release-submit .admin-button.primary {
     4083  border-color: white;
     4084
     4085  background: white;
     4086  color: #171717;
     4087}
     4088
     4089.admin-release-submit .admin-button.primary:hover {
     4090  background: #ddd;
     4091}
     4092
     4093.admin-release-submit .admin-button.secondary {
     4094  border-color: #444;
     4095
     4096  background: transparent;
     4097  color: white;
     4098}
     4099
     4100.admin-release-submit .admin-button.secondary:hover {
     4101  background: #292929;
     4102}
     4103
     4104
     4105/* =========================================================
     4106   RELEASE CREATOR RESPONSIVE
     4107   ========================================================= */
     4108
     4109@media (max-width: 750px) {
     4110
     4111  .track-header {
     4112    align-items: flex-start;
     4113
     4114    flex-direction: column;
     4115  }
     4116
     4117  .admin-track-card {
     4118    grid-template-columns:
     4119            35px
     4120            1fr;
     4121  }
     4122
     4123  .admin-track-remove {
     4124    position: absolute;
     4125
     4126    top: 15px;
     4127    right: 15px;
     4128  }
     4129
     4130  .admin-release-submit {
     4131    align-items: flex-start;
     4132
     4133    flex-direction: column;
     4134  }
     4135
     4136  .admin-release-submit .release-actions {
     4137    width: 100%;
     4138  }
     4139
     4140}
Note: See TracChangeset for help on using the changeset viewer.