/ assets / css / admin.css
admin.css
  1  /* ===== SHARED ADMIN PAGE STYLES ===== */
  2  
  3  /* Base Styles */
  4  html, body {
  5    height: 100%;
  6    background: #fff;
  7    color: #111;
  8    font-family: 'NeueHaasGrotesk', Helvetica, Arial, sans-serif;
  9    margin: 0;
 10    padding: 0;
 11    min-height: 100vh;
 12    scroll-behavior: smooth;
 13    overflow-x: hidden;
 14    scroll-snap-type: y mandatory;
 15    cursor: none !important;
 16  }
 17  
 18  body {
 19    opacity: 1;
 20    transition: opacity 0.4s;
 21  }
 22  
 23  body.fade {
 24    opacity: 0;
 25    transition: opacity 0.4s;
 26  }
 27  
 28  * {
 29    box-sizing: border-box;
 30    user-select: none !important;
 31    -webkit-user-select: none !important;
 32    -ms-user-select: none !important;
 33    -moz-user-select: none !important;
 34    -webkit-user-drag: none !important;
 35    touch-action: manipulation;
 36  }
 37  
 38  /* Typography */
 39  @font-face {
 40    font-family: 'NeueHaasGrotesk';
 41    src: url('../fonts/neuehaasgrotdispround-75bold.otf') format('opentype');
 42    font-weight: 700;
 43    font-style: normal;
 44    font-display: swap;
 45  }
 46  
 47  @font-face {
 48    font-family: 'SuperBrigadeCond';
 49    src: url('../fonts/superbrigadecond.ttf') format('truetype');
 50    font-weight: normal;
 51    font-style: normal;
 52    font-display: swap;
 53  }
 54  
 55  /* Custom Cursor */
 56  .custom-cursor {
 57    position: fixed;
 58    width: 20px;
 59    height: 20px;
 60    background-color: #111;
 61    border-radius: 50%;
 62    pointer-events: none;
 63    z-index: 10001;
 64    transition: transform 0.15s, background-color 0.25s;
 65    transform: translate(-50%, -50%) scale(1);
 66  }
 67  
 68  .custom-cursor.expand {
 69    transform: translate(-50%, -50%) scale(2.5);
 70    background-color: #11111144;
 71  }
 72  
 73  .custom-cursor.cursor-hover {
 74    transform: translate(-50%, -50%) scale(1.5);
 75    background-color: #111111cc;
 76  }
 77  
 78  /* Header */
 79  .main-header {
 80    position: fixed;
 81    top: 0;
 82    left: 0;
 83    width: 100vw;
 84    background: #000;
 85    color: #fff;
 86    z-index: 9999;
 87    display: flex;
 88    flex-direction: column;
 89    align-items: center;
 90    justify-content: flex-start;
 91    padding: 0.6rem 0 0.4rem 0;
 92    border-bottom: 1px solid #222;
 93  }
 94  
 95  .main-header-title {
 96    font-family: 'SuperBrigadeCond', sans-serif;
 97    font-size: 1.1rem;
 98    letter-spacing: normal;
 99    line-height: 1.5;
100    text-align: center;
101    font-weight: bold;
102  }
103  
104  /* Breadcrumb Navigation */
105  .breadcrumb {
106    background: #f8f8f8;
107    padding: 1rem 8vw;
108    border-bottom: 1px solid #e0e0e0;
109    margin-top: 2.2rem;
110    font-family: 'NeueHaasGrotesk', Helvetica, Arial, sans-serif;
111  }
112  
113  .breadcrumb a {
114    color: #666;
115    text-decoration: none;
116    font-size: 0.9rem;
117    transition: color 0.2s ease;
118  }
119  
120  .breadcrumb a:hover {
121    color: #111;
122  }
123  
124  /* Main Content */
125  .admin-section {
126    min-height: 100vh;
127    width: 100vw;
128    display: flex;
129    align-items: center;
130    justify-content: center;
131    position: relative;
132    padding: 0;
133    overflow: hidden;
134    color: #111;
135    background-size: cover;
136    background-position: center center;
137    transition: background-image 0.5s ease;
138  }
139  
140  .admin-content {
141    width: 90vw;
142    max-width: 1200px;
143    display: flex;
144    flex-direction: column;
145    align-items: center;
146    justify-content: center;
147    text-align: center;
148    z-index: 2;
149    position: relative;
150  }
151  
152  .admin-title {
153    font-size: 4rem;
154    font-weight: 900;
155    margin-bottom: 2rem;
156    line-height: 1.2;
157    color: #111;
158  }
159  
160  .admin-subtitle {
161    font-size: 1.5rem;
162    font-weight: 700;
163    margin-bottom: 3rem;
164    line-height: 1.4;
165    color: #666;
166    max-width: 600px;
167  }
168  
169  .admin-description {
170    font-size: 1.1rem;
171    font-weight: 500;
172    margin-bottom: 3rem;
173    line-height: 1.6;
174    color: #444;
175    max-width: 800px;
176  }
177  
178  /* Content Sections */
179  .content-section {
180    margin-top: 3rem;
181    text-align: left;
182    width: 100%;
183    max-width: 800px;
184  }
185  
186  .content-section h2 {
187    font-size: 2rem;
188    font-weight: 700;
189    margin-bottom: 1.5rem;
190    color: #111;
191  }
192  
193  .content-section h3 {
194    font-size: 1.5rem;
195    font-weight: 700;
196    margin-bottom: 1rem;
197    color: #111;
198    margin-top: 2rem;
199  }
200  
201  .content-section p {
202    font-size: 1rem;
203    color: #444;
204    line-height: 1.6;
205    margin-bottom: 1rem;
206  }
207  
208  .content-section ul {
209    margin-bottom: 1rem;
210    padding-left: 2rem;
211  }
212  
213  .content-section li {
214    font-size: 1rem;
215    color: #444;
216    line-height: 1.6;
217    margin-bottom: 0.5rem;
218  }
219  
220  .content-section blockquote {
221    font-style: italic;
222    color: #666;
223    border-left: 4px solid #111;
224    padding-left: 1rem;
225    margin: 2rem 0;
226    font-size: 1.1rem;
227  }
228  
229  /* Social Icons */
230  .social-icons {
231    display: flex;
232    gap: 1.5rem;
233    margin-top: 3rem;
234    flex-wrap: wrap;
235    justify-content: center;
236  }
237  
238  .social-icon {
239    display: flex;
240    align-items: center;
241    gap: 0.5rem;
242    padding: 1rem 1.5rem;
243    background: #f8f8f8;
244    border: 2px solid #e0e0e0;
245    border-radius: 8px;
246    text-decoration: none;
247    color: #111;
248    transition: all 0.3s ease;
249  }
250  
251  .social-icon:hover {
252    background: #111;
253    color: #fff;
254    border-color: #111;
255    transform: translateY(-2px);
256  }
257  
258  .social-icon i {
259    font-size: 1.2rem;
260  }
261  
262  /* Back Button */
263  .back-btn {
264    position: fixed;
265    top: 2rem;
266    left: 2rem;
267    background: #111;
268    color: #fff;
269    border: none;
270    padding: 1rem 2rem;
271    border-radius: 8px;
272    font-size: 1rem;
273    font-weight: 700;
274    cursor: none !important;
275    text-decoration: none;
276    transition: all 0.3s ease;
277    z-index: 1000;
278  }
279  
280  .back-btn:hover {
281    background: #333;
282    transform: translateY(-2px);
283  }
284  
285  /* FAQ Styles */
286  .faq-section {
287    margin-top: 3rem;
288    text-align: left;
289    width: 100%;
290    max-width: 800px;
291  }
292  
293  .faq-item {
294    margin-bottom: 2rem;
295    border-bottom: 1px solid #e0e0e0;
296    padding-bottom: 1.5rem;
297  }
298  
299  .faq-question {
300    font-size: 1.2rem;
301    font-weight: 700;
302    margin-bottom: 1rem;
303    color: #111;
304    cursor: none !important;
305    transition: color 0.2s ease;
306  }
307  
308  .faq-question:hover {
309    color: #666;
310  }
311  
312  .faq-answer {
313    font-size: 1rem;
314    color: #444;
315    line-height: 1.6;
316    margin-bottom: 0;
317  }
318  
319  /* Privacy Policy Styles */
320  .privacy-section {
321    margin-top: 3rem;
322    text-align: left;
323    width: 100%;
324    max-width: 800px;
325  }
326  
327  .privacy-section h2 {
328    font-size: 2rem;
329    font-weight: 700;
330    margin-bottom: 1.5rem;
331    color: #111;
332    margin-top: 3rem;
333  }
334  
335  .privacy-section h3 {
336    font-size: 1.5rem;
337    font-weight: 700;
338    margin-bottom: 1rem;
339    color: #111;
340    margin-top: 2rem;
341  }
342  
343  .privacy-section p {
344    font-size: 1rem;
345    color: #444;
346    line-height: 1.6;
347    margin-bottom: 1rem;
348  }
349  
350  .privacy-section ul {
351    margin-bottom: 1rem;
352    padding-left: 2rem;
353  }
354  
355  .privacy-section li {
356    font-size: 1rem;
357    color: #444;
358    line-height: 1.6;
359    margin-bottom: 0.5rem;
360  }
361  
362  /* 404 Error Page Styles */
363  .error-section {
364    min-height: 100vh;
365    width: 100vw;
366    display: flex;
367    align-items: center;
368    justify-content: center;
369    position: relative;
370    padding: 0;
371    overflow: hidden;
372    color: #111;
373    background: #f8f8f8;
374  }
375  
376  .error-content {
377    width: 90vw;
378    max-width: 800px;
379    display: flex;
380    flex-direction: column;
381    align-items: center;
382    justify-content: center;
383    text-align: center;
384    z-index: 2;
385    position: relative;
386  }
387  
388  .error-title {
389    font-size: 8rem;
390    font-weight: 900;
391    margin-bottom: 2rem;
392    line-height: 1;
393    color: #111;
394  }
395  
396  .error-subtitle {
397    font-size: 2rem;
398    font-weight: 700;
399    margin-bottom: 3rem;
400    line-height: 1.4;
401    color: #666;
402    max-width: 600px;
403  }
404  
405  .error-description {
406    font-size: 1.2rem;
407    font-weight: 500;
408    margin-bottom: 3rem;
409    line-height: 1.6;
410    color: #444;
411    max-width: 600px;
412  }
413  
414  .error-buttons {
415    display: flex;
416    gap: 1.5rem;
417    margin-top: 3rem;
418    flex-wrap: wrap;
419    justify-content: center;
420  }
421  
422  .error-btn {
423    background: #111;
424    color: #fff;
425    border: 2px solid #111;
426    padding: 1rem 2rem;
427    border-radius: 8px;
428    font-size: 1rem;
429    font-weight: 700;
430    cursor: none !important;
431    text-decoration: none;
432    transition: all 0.3s ease;
433  }
434  
435  .error-btn:hover {
436    background: #fff;
437    color: #111;
438    transform: translateY(-2px);
439  }
440  
441  .error-btn.secondary {
442    background: #fff;
443    color: #111;
444    border-color: #111;
445  }
446  
447  .error-btn.secondary:hover {
448    background: #111;
449    color: #fff;
450  }
451  
452  /* Info Links */
453  .info-links {
454    display: flex;
455    gap: 1.5rem;
456    margin-top: 3rem;
457    flex-wrap: wrap;
458    justify-content: center;
459  }
460  
461  .info-link {
462    color: #666;
463    text-decoration: none;
464    font-size: 1rem;
465    transition: color 0.2s ease;
466  }
467  
468  .info-link:hover {
469    color: #111;
470  }
471  
472  /* Mobile Responsiveness */
473  @media (max-width: 768px) {
474    .custom-cursor {
475      display: none !important;
476    }
477    
478    html, body {
479      cursor: none !important;
480    }
481    
482    * {
483      cursor: none !important;
484    }
485    
486    /* Ensure side menu cursor visibility even on mobile */
487    .side-menu,
488    .side-menu * {
489      cursor: none !important;
490    }
491    
492    .side-menu-close,
493    .side-menu-link,
494    .side-menu-bottom-link,
495    .side-menu-social-link {
496      cursor: none !important;
497    }
498    
499    /* Ensure custom cursor is visible when side menu is active */
500    .side-menu.active ~ .custom-cursor {
501      z-index: 10002 !important;
502      opacity: 1 !important;
503      visibility: visible !important;
504    }
505    
506    /* Ensure cursor visibility when hovering over side menu elements */
507    .side-menu:hover,
508    .side-menu *:hover {
509      cursor: none !important;
510    }
511    
512    .side-menu-close:hover,
513    .side-menu-link:hover,
514    .side-menu-bottom-link:hover,
515    .side-menu-social-link:hover {
516      cursor: none !important;
517    }
518    
519    .admin-title {
520      font-size: 2.5rem;
521      margin-bottom: 1.5rem;
522    }
523    
524    .admin-subtitle {
525      font-size: 1.2rem;
526      margin-bottom: 2rem;
527    }
528    
529    .admin-description {
530      font-size: 1rem;
531      margin-bottom: 2rem;
532    }
533    
534    .back-btn {
535      top: 1rem;
536      left: 1rem;
537      padding: 0.8rem 1.5rem;
538      font-size: 0.9rem;
539    }
540    
541    .social-icons {
542      gap: 1rem;
543      margin-top: 2rem;
544    }
545    
546    .social-icon {
547      padding: 0.8rem 1.2rem;
548    }
549    
550    .error-title {
551      font-size: 4rem;
552      margin-bottom: 1.5rem;
553    }
554    
555    .error-subtitle {
556      font-size: 1.5rem;
557      margin-bottom: 2rem;
558    }
559    
560    .error-description {
561      font-size: 1rem;
562      margin-bottom: 2rem;
563    }
564    
565    .error-buttons {
566      gap: 1rem;
567      margin-top: 2rem;
568    }
569    
570    .error-btn {
571      padding: 0.8rem 1.5rem;
572      font-size: 0.9rem;
573    }
574  }
575  
576  @media (max-width: 600px) {
577    .breadcrumb {
578      padding: 0.8rem 4vw;
579      margin-top: 2.7rem;
580    }
581    
582    .admin-title {
583      font-size: 2rem;
584      margin-bottom: 1rem;
585    }
586    
587    .admin-subtitle {
588      font-size: 1.1rem;
589      margin-bottom: 1.5rem;
590    }
591    
592    .admin-description {
593      font-size: 0.9rem;
594      margin-bottom: 1.5rem;
595    }
596    
597    .back-btn {
598      top: 0.5rem;
599      left: 0.5rem;
600      padding: 0.6rem 1.2rem;
601      font-size: 0.8rem;
602    }
603    
604    .content-section h2 {
605      font-size: 1.5rem;
606      margin-bottom: 1rem;
607    }
608    
609    .content-section h3 {
610      font-size: 1.2rem;
611      margin-bottom: 0.8rem;
612    }
613    
614    .content-section p {
615      font-size: 0.9rem;
616      margin-bottom: 0.8rem;
617    }
618    
619    .error-title {
620      font-size: 3rem;
621      margin-bottom: 1rem;
622    }
623    
624    .error-subtitle {
625      font-size: 1.2rem;
626      margin-bottom: 1.5rem;
627    }
628    
629    .error-description {
630      font-size: 0.9rem;
631      margin-bottom: 1.5rem;
632    }
633  }