/*
 * ═══════════════════════════════════════════════════════════════
 *  FILE:    styles.css
 *  PURPOSE: Master stylesheet — All visual styling for the
 *           Avengers MC site. Yellow on black. Raw. Heavy. Real.
 *  AUTHOR:  DotCom
 *  DON'T FUCKING TOUCH THIS CODE
 * ═══════════════════════════════════════════════════════════════
 */

@import url('https://fonts.googleapis.com/css2?family=Black+Ops+One&family=Oswald:wght@200;300;400;500;600;700&family=Barlow:ital,wght@0,300;0,400;0,600;1,400&display=swap');

:root {
  --yellow:    #FFD700;
  --yellow-hot:#FFC200;
  --red:       #CC0000;
  --black:     #000000;
  --black-1:   #0a0a0a;
  --black-2:   #111111;
  --black-3:   #181818;
  --grey-1:    #888888;
  --grey-2:    #555555;
  --grey-3:    #2a2a2a;
  --font-skull:'Black Ops One', sans-serif;
  --font-heavy:'Oswald', sans-serif;
  --font-body: 'Barlow', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:#fff;
  font-family:var(--font-body);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ── Grain texture ─────────────────────────────────────────── */
body::before{
  content:'';
  position:fixed;inset:0;z-index:0;
  pointer-events:none;
  opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-size:300px;
}

/* ── NAV ───────────────────────────────────────────────────── */
#main-nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .3s,border-color .3s;border-bottom:1px solid transparent;}
#main-nav.nav-scrolled{background:rgba(0,0,0,.97);border-bottom-color:var(--yellow);}
.nav-inner{max-width:1400px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-logo img{width:44px;height:44px;object-fit:contain;}
.nav-club-name{font-family:var(--font-skull);font-size:16px;letter-spacing:.12em;color:var(--yellow);text-transform:uppercase;line-height:1;}
.nav-club-sub{font-family:var(--font-heavy);font-size:9px;letter-spacing:.4em;color:var(--grey-1);text-transform:uppercase;font-weight:300;margin-top:2px;}
.nav-links{display:flex;align-items:center;gap:4px;}
.nav-link{font-family:var(--font-heavy);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--grey-1);text-decoration:none;padding:8px 14px;border:1px solid transparent;transition:color .2s,border-color .2s,background .2s;}
.nav-link:hover,.nav-link.nav-link-active{color:var(--yellow);border-color:rgba(255,215,0,.3);background:rgba(255,215,0,.05);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px;}
.hamburger span{display:block;height:2px;background:var(--yellow);transition:width .2s;}
.hamburger span:nth-child(1){width:26px;}
.hamburger span:nth-child(2){width:18px;}
.hamburger span:nth-child(3){width:26px;}
.hamburger:hover span{width:26px;}
#mobile-menu{display:none;background:#000;border-top:1px solid var(--yellow);}
#mobile-menu.open{display:block;}
.mobile-link{display:block;font-family:var(--font-heavy);font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:var(--grey-1);text-decoration:none;padding:16px 24px;border-bottom:1px solid var(--grey-3);transition:color .2s,background .2s;}
.mobile-link:hover,.mobile-link.nav-link-active{color:var(--yellow);background:rgba(255,215,0,.04);}

/* ── HERO ──────────────────────────────────────────────────── */
.hero-wrap{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.4) contrast(1.2) saturate(.6);}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.2) 100%),linear-gradient(to right,rgba(0,0,0,.6) 0%,transparent 60%);}
.hero-stripe{position:absolute;bottom:0;left:0;right:0;height:4px;background:repeating-linear-gradient(-45deg,var(--yellow) 0px,var(--yellow) 12px,#000 12px,#000 20px);}
.hero-content{position:relative;z-index:2;padding:0 32px 80px;max-width:1400px;margin:0 auto;width:100%;}
.hero-eyebrow{font-family:var(--font-heavy);font-size:11px;font-weight:500;letter-spacing:.5em;text-transform:uppercase;color:var(--yellow);display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.hero-eyebrow::before{content:'';display:inline-block;width:32px;height:2px;background:var(--yellow);flex-shrink:0;}
.hero-title{font-family:var(--font-skull);font-size:clamp(5rem,14vw,13rem);line-height:.9;color:#fff;text-shadow:4px 4px 0 rgba(0,0,0,.8);letter-spacing:.02em;}
.hero-title .accent{color:var(--yellow);}
.hero-tagline{font-family:var(--font-heavy);font-size:clamp(.9rem,2vw,1.2rem);font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:var(--grey-1);margin-top:20px;margin-bottom:36px;}
.hero-tagline strong{color:var(--yellow);font-weight:500;}

/* ── SKULL DIVIDER ─────────────────────────────────────────── */
.skull-divider{display:flex;align-items:center;gap:16px;padding:0 0 8px;}
.skull-divider::before,.skull-divider::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(255,215,0,.35));}
.skull-divider::after{background:linear-gradient(to left,transparent,rgba(255,215,0,.35));}

/* ── BUTTONS ───────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heavy);font-weight:600;font-size:12px;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;padding:14px 36px;cursor:pointer;border:none;transition:all .2s ease;position:relative;}
.btn-yellow{background:var(--yellow);color:#000;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);}
.btn-yellow:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,215,0,.3);}
.btn-outline{background:transparent;color:var(--yellow);border:1px solid var(--yellow);}
.btn-outline:hover{background:var(--yellow);color:#000;transform:translateY(-2px);}
.btn-red{background:var(--red);color:#fff;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);}

/* ── SECTION LABELS ────────────────────────────────────────── */
.section-label{font-family:var(--font-heavy);font-size:10px;font-weight:500;letter-spacing:.5em;text-transform:uppercase;color:var(--yellow);display:inline-flex;align-items:center;gap:10px;}
.section-label::before,.section-label::after{content:'◆';font-size:6px;opacity:.6;}
.section-title{font-family:var(--font-skull);font-size:clamp(2.8rem,7vw,7rem);line-height:.92;color:#fff;letter-spacing:.03em;}
.section-title .y{color:var(--yellow);}
.section-title .outline{-webkit-text-stroke:2px rgba(255,215,0,.4);color:transparent;}

/* ── BIKER CARD ────────────────────────────────────────────── */
.biker-card{background:var(--black-2);border:1px solid var(--grey-3);position:relative;overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s;}
.biker-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.biker-card:hover::before{transform:scaleX(1);}
.biker-card:hover{border-color:rgba(255,215,0,.4);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.6);}

/* ── STATS ─────────────────────────────────────────────────── */
.stat-number{font-family:var(--font-skull);font-size:clamp(3rem,8vw,6rem);color:var(--yellow);line-height:1;text-shadow:0 0 40px rgba(255,215,0,.2);}
.stat-label{font-family:var(--font-heavy);font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--grey-1);margin-top:6px;font-weight:300;}

/* ── QUOTE ─────────────────────────────────────────────────── */
.biker-quote{font-family:var(--font-skull);font-size:clamp(1.8rem,5vw,4rem);line-height:1.05;color:#fff;letter-spacing:.03em;position:relative;padding-left:24px;border-left:4px solid var(--yellow);}
.biker-quote .y{color:var(--yellow);}

/* ── GALLERY ───────────────────────────────────────────────── */
.masonry-grid{columns:3 280px;column-gap:8px;}
.masonry-item{break-inside:avoid;margin-bottom:8px;position:relative;overflow:hidden;cursor:pointer;border:1px solid var(--grey-3);transition:border-color .25s;}
.masonry-item:hover{border-color:var(--yellow);}
.masonry-item img,.masonry-item video{width:100%;display:block;transition:transform .5s,filter .4s;filter:brightness(.9) contrast(1.05);}
.masonry-item:hover img,.masonry-item:hover video{transform:scale(1.05);filter:brightness(1) contrast(1.1);}
.masonry-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 60%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:14px;}
.masonry-item:hover .masonry-overlay{opacity:1;}
.masonry-title{font-family:var(--font-heavy);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:#fff;}
.masonry-cat{font-family:var(--font-heavy);font-size:.65rem;letter-spacing:.2em;color:var(--yellow);text-transform:uppercase;margin-top:2px;}

/* ── LIGHTBOX ──────────────────────────────────────────────── */
#lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.97);align-items:center;justify-content:center;padding:20px;}
#lightbox.open{display:flex;}
#lightbox-media-wrap img,#lightbox-media-wrap video{max-width:88vw;max-height:80vh;object-fit:contain;border:2px solid var(--yellow);display:block;}
#lightbox-close{position:absolute;top:16px;right:20px;font-family:var(--font-skull);font-size:28px;color:var(--yellow);cursor:pointer;background:none;border:none;line-height:1;transition:color .2s,transform .2s;}
#lightbox-close:hover{color:#fff;transform:rotate(90deg);}
.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,215,0,.1);border:1px solid var(--yellow);color:var(--yellow);font-size:22px;padding:16px 14px;cursor:pointer;font-family:var(--font-skull);transition:background .2s,color .2s;line-height:1;}
.lb-arrow:hover{background:var(--yellow);color:#000;}
#lightbox-prev{left:12px;}#lightbox-next{right:12px;}
#lb-caption{margin-top:16px;text-align:center;}
#lb-title{font-family:var(--font-heavy);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;}
#lb-cat{font-family:var(--font-heavy);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--yellow);margin-top:4px;font-weight:300;}

/* ── FILTER BUTTONS ────────────────────────────────────────── */
.filter-btn{font-family:var(--font-heavy);font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;padding:9px 20px;background:transparent;border:1px solid var(--grey-3);color:var(--grey-1);cursor:pointer;transition:all .2s;}
.filter-btn:hover{border-color:rgba(255,215,0,.5);color:var(--yellow);}
.filter-btn.active{background:var(--yellow);border-color:var(--yellow);color:#000;}

/* ── REVEAL ────────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);}
.reveal.visible{opacity:1;transform:none;}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}.d5{transition-delay:.5s;}

/* ── FOOTER ────────────────────────────────────────────────── */
footer{border-top:3px solid var(--yellow);background:var(--black-1);padding:48px 32px 32px;position:relative;overflow:hidden;}
footer::before{content:'AFFA';position:absolute;right:-20px;bottom:-20px;font-family:var(--font-skull);font-size:10rem;color:rgba(255,215,0,.03);pointer-events:none;line-height:1;}
.footer-inner{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:32px;}
.footer-top{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-start;}
.footer-brand .name{font-family:var(--font-skull);font-size:2rem;color:var(--yellow);letter-spacing:.1em;line-height:1;}
.footer-brand .est{font-family:var(--font-heavy);font-size:9px;letter-spacing:.5em;text-transform:uppercase;color:var(--grey-2);font-weight:300;margin-top:4px;}
.footer-motto{font-family:var(--font-heavy);font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--yellow);margin-top:12px;font-weight:400;}
.footer-nav{display:flex;flex-wrap:wrap;gap:4px 0;flex-direction:column;}
.footer-nav a{font-family:var(--font-heavy);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--grey-1);text-decoration:none;padding:5px 0;transition:color .2s;}
.footer-nav a:hover{color:var(--yellow);}
.footer-bottom{padding-top:20px;border-top:1px solid var(--grey-3);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;}
.footer-copy{font-family:var(--font-heavy);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--grey-2);font-weight:300;}

/* ── ADMIN ─────────────────────────────────────────────────── */
.form-field{background:#111;border:1px solid #333;border-bottom:1px solid var(--grey-2);color:#fff;padding:10px 14px;font-family:var(--font-body);font-size:14px;transition:border-color .2s;width:100%;outline:none;}
.form-field:focus{border-color:var(--yellow);}
textarea.form-field{min-height:110px;resize:vertical;}
select.form-field option{background:#111;}
.status-msg{font-family:var(--font-heavy);font-size:12px;letter-spacing:.1em;padding:10px 14px;margin-top:10px;display:none;}
.status-success{background:rgba(0,200,80,.08);border:1px solid rgba(0,200,80,.3);color:#4ade80;display:block;}
.status-error{background:rgba(220,0,0,.08);border:1px solid rgba(220,0,0,.3);color:#f87171;display:block;}

/* ── SCROLLBAR ─────────────────────────────────────────────── */
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:#000;}
::-webkit-scrollbar-thumb{background:var(--yellow);border-radius:0;}

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media(max-width:1024px){.nav-links{display:none;}.hamburger{display:flex;}}
@media(max-width:768px){.masonry-grid{columns:2 160px;}.hero-content{padding:0 20px 60px;}}
@media(max-width:480px){.masonry-grid{columns:1;}}
