/* HopOnTheBeats — style.css v9 */
:root{--bg:#050507;--bg2:#0a0a0f;--accent:#c8ff00;--accent2:#ff003c;--accent3:#7b2fff;--text:#f0f0f0;--muted:#555566;--card:#0e0e14;--border:#1a1a2a;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Syne',sans-serif;overflow-x:hidden;}

/* noise overlay — MUST be z-index below everything interactive */
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.025;pointer-events:none;z-index:1;}

::-webkit-scrollbar{width:5px;}::-webkit-scrollbar-track{background:var(--bg);}::-webkit-scrollbar-thumb{background:var(--accent3);border-radius:2px;}::-webkit-scrollbar-thumb:hover{background:var(--accent);}

/* ═══ MINIMAL CUSTOM CURSOR ═══ */
#cursor-dot,#cursor-ring{ display:none !important; }
body{
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28"><path d="M2 2l16 12-16 9V2z" fill="%23c8ff00" stroke="%23ffffff" stroke-width="0.5" stroke-linejoin="round"/></svg>') 2 2, auto;
}
a, button, input, select, textarea, .track-card, .album-card, .gallery-item, .filter-btn, .social-link, .play-btn, label, .modal-box button {
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28"><path d="M2 2l16 12-16 9V2z" fill="%23ff003c" stroke="%23ffffff" stroke-width="0.5" stroke-linejoin="round"/></svg>') 2 2, auto;
}

#particles{position:fixed;inset:0;pointer-events:none;z-index:0;}

/* ══ NAVBAR ══ */
nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 3rem;background:rgba(5,5,7,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(200,255,0,.08);}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:1.55rem;letter-spacing:4px;text-decoration:none;background:linear-gradient(90deg,var(--accent),#fff,var(--accent3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px rgba(200,255,0,.4));}
.nav-logo span{background:linear-gradient(90deg,var(--accent2),#ff6b6b);-webkit-background-clip:text;background-clip:text;}
.nav-logo{filter:none;}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.78rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;transition:color .2s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s;}
.nav-links a:hover{color:var(--accent);}
.nav-links a:hover::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:1rem;}
  .nav-cta{background:var(--accent);color:#000;padding:.35rem .95rem;font-size:.68rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .2s;}
.nav-cta:hover{background:var(--accent2);color:#fff;}
.nav-login-btn{background:transparent;border:1px solid rgba(200,255,0,.3);color:var(--accent);padding:.45rem 1.2rem;font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;border-radius:2px;transition:all .2s;font-family:'Syne',sans-serif;}
.nav-login-btn:hover{background:rgba(200,255,0,.1);}
.nav-user{display:flex;align-items:center;gap:.7rem;}
.nav-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--accent);object-fit:contain;}
.nav-avatar-ph{width:32px;height:32px;border-radius:50%;background:var(--accent3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;}
.nav-username{font-size:.75rem;color:var(--text);font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nav-logout-btn{background:transparent;border:1px solid var(--border);color:var(--muted);padding:.35rem .8rem;font-size:.68rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:2px;transition:all .2s;font-family:'Syne',sans-serif;}
.nav-logout-btn:hover{border-color:var(--accent2);color:var(--accent2);}
.nav-admin-open-btn{background:var(--accent);color:#000;border:none;width:32px;height:32px;border-radius:50%;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;}
.nav-admin-open-btn:hover{background:#fff;transform:rotate(90deg);}
.admin-indicator{font-size:.55rem;letter-spacing:2px;color:#000;background:var(--accent);padding:.15rem .5rem;border-radius:2px;font-family:'Space Mono',monospace;font-weight:700;}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;z-index:600;position:fixed;top:0.75rem;right:0.8rem;}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:all .3s;}
.nav-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* ══ MODAL ══ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:9000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(12px);}
.modal-box{background:#0c0c14;border:1px solid rgba(200,255,0,.18);border-radius:12px;padding:2.5rem;width:100%;max-width:420px;position:relative;box-shadow:0 0 80px rgba(200,255,0,.07);z-index:9001;max-height:90vh;overflow-y:auto;}
.modal-box::-webkit-scrollbar { width: 6px; }
.modal-box::-webkit-scrollbar-track { background: transparent; }
.modal-box::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 3px; }
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--muted);font-size:1.1rem;transition:color .2s;}
.modal-close:hover{color:var(--accent2);}
.modal-logo-wrap{text-align:center;margin-bottom:1.2rem;}
.modal-logo-text{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:4px;background:linear-gradient(90deg,var(--accent),#fff,var(--accent3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.modal-logo-text span{background:linear-gradient(90deg,var(--accent2),#ff6b6b);-webkit-background-clip:text;background-clip:text;}
.modal-title{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:3px;text-align:center;color:var(--text);margin-bottom:.3rem;}
.modal-sub{font-size:.72rem;color:var(--muted);letter-spacing:1.5px;text-align:center;margin-bottom:1.8rem;font-family:'Space Mono',monospace;line-height:1.5;}
.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;background:#fff;color:#111;border:none;padding:.9rem 1.5rem;border-radius:6px;font-size:.88rem;font-weight:700;transition:all .2s;font-family:'Syne',sans-serif;margin-bottom:1.2rem;}
.google-btn:hover{background:#f0f0f0;box-shadow:0 4px 16px rgba(0,0,0,.2);}
.modal-divider{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;}
.modal-divider::before,.modal-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.modal-divider span{font-size:.7rem;color:var(--muted);font-family:'Space Mono',monospace;letter-spacing:2px;}
.login-error{color:var(--accent2);font-size:.75rem;margin:.5rem 0;font-family:'Space Mono',monospace;padding:.5rem;background:rgba(255,0,60,.06);border-radius:3px;border-left:2px solid var(--accent2);}
.modal-note{font-size:.68rem;color:var(--muted);text-align:center;margin-top:1.2rem;font-family:'Space Mono',monospace;line-height:1.5;border-top:1px solid var(--border);padding-top:1rem;}

/* FORMS */
.form-group{display:flex;flex-direction:column;gap:.4rem;flex:1;}
.form-group label,.admin-form label{font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-family:'Space Mono',monospace;}
.form-group input,.form-group select,.admin-form input,.admin-form select{background:#131320;border:1px solid var(--border);color:var(--text);padding:.7rem 1rem;font-family:'Syne',sans-serif;font-size:.9rem;border-radius:4px;transition:border-color .2s;outline:none;width:100%;}
.form-group input:focus,.admin-form input:focus,.admin-form select:focus{border-color:rgba(200,255,0,.4);}
.form-row{display:flex;gap:1rem;margin-bottom:1rem;}
.btn-primary{background:var(--accent);color:#000;padding:.85rem 2rem;font-weight:800;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;border:none;border-radius:4px;text-decoration:none;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;}
.btn-primary:hover{background:#fff;}
.btn-outline{border:1px solid var(--muted);color:var(--text);padding:.85rem 2rem;font-weight:700;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;background:none;border-radius:4px;text-decoration:none;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.78rem;margin-bottom:.8rem;font-family:'Space Mono',monospace;}
.checkbox-label input{width:auto;accent-color:var(--accent);}

/* ADMIN PANEL */
.admin-panel{position:fixed;inset:0;background:#08080f;z-index:800;overflow-y:auto;}
.admin-header{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;background:#0c0c18;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:810;flex-wrap:wrap;}
.admin-title{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:2px;color:var(--accent);flex:1;min-width:120px;}
.admin-tabs{display:flex;gap:.4rem;flex-wrap:wrap;}
.atab{background:transparent;border:1px solid var(--border);color:var(--muted);padding:.45rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:2px;transition:all .2s;font-family:'Syne',sans-serif;}
.atab:hover,.atab.active{border-color:var(--accent);color:var(--accent);background:rgba(200,255,0,.05);}
.admin-close-btn{background:var(--accent2);color:#fff;border:none;padding:.5rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:2px;font-family:'Syne',sans-serif;margin-left:auto;}
.admin-close-btn:hover{background:#ff3355;}
.admin-tab-content{display:none;padding:2rem;}
.admin-tab-content.active{display:block;}
.admin-section-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:2px;color:var(--accent);margin-bottom:1.2rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);}
.admin-form{background:#0c0c18;border:1px solid var(--border);border-radius:6px;padding:1.5rem;margin-bottom:1.5rem;}
.btn-admin-submit{background:var(--accent);color:#000;border:none;padding:.75rem 2rem;font-size:.8rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;border-radius:3px;transition:all .2s;font-family:'Syne',sans-serif;}
.btn-admin-submit:hover{background:#fff;}
.file-drop{position:relative;border:1.5px dashed var(--border);border-radius:4px;padding:1rem;text-align:center;transition:all .3s;overflow:hidden;}
.file-drop:hover{border-color:var(--accent);background:rgba(200,255,0,.02);}
.file-drop span{font-size:.72rem;color:var(--muted);font-family:'Space Mono',monospace;pointer-events:none;display:block;}
.file-drop input{position:absolute;inset:0;opacity:0;width:100%;height:100%;}
.img-preview{width:100%;max-height:110px;object-fit:contain;border-radius:3px;margin-top:.5rem;}
.audio-name{font-size:.7rem;color:var(--accent);font-family:'Space Mono',monospace;margin-top:.4rem;padding:.3rem .6rem;background:rgba(200,255,0,.06);border-radius:2px;}
.upload-progress{margin-top:1rem;}
.progress-bar-upload{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:.3rem;}
.progress-fill-upload{height:100%;background:linear-gradient(90deg,var(--accent3),var(--accent));width:0%;transition:width .3s;}
.upload-progress span{font-size:.68rem;color:var(--muted);font-family:'Space Mono',monospace;}
.admin-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;}
.admin-list-row{display:flex;align-items:center;gap:1rem;background:#0c0c18;border:1px solid var(--border);border-radius:4px;padding:.7rem 1rem;}
.admin-list-row:hover{border-color:rgba(200,255,0,.2);}
.admin-thumb{width:44px;height:44px;object-fit:contain;border-radius:3px;flex-shrink:0;}
.admin-thumb-ph{width:44px;height:44px;background:#1a1a2e;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.admin-row-info{flex:1;min-width:0;}
.admin-row-title{font-weight:700;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-row-sub{font-size:.68rem;color:var(--muted);font-family:'Space Mono',monospace;margin-top:.2rem;}
.admin-del-btn{background:rgba(255,0,60,.08);border:1px solid rgba(255,0,60,.25);color:var(--accent2);padding:.3rem .6rem;border-radius:2px;font-size:.85rem;transition:all .2s;flex-shrink:0;}
.admin-del-btn:hover{background:var(--accent2);color:#fff;}
.empty-list{color:var(--muted);font-size:.8rem;font-family:'Space Mono',monospace;padding:1rem;text-align:center;}
.admin-gallery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-top:1rem;}
.admin-gal-item{position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--border);}
.admin-gal-item img{width:100%;height:100px;object-fit:contain;display:block;}
.admin-gal-item span{display:block;padding:.3rem .5rem;font-size:.65rem;color:var(--muted);font-family:'Space Mono',monospace;background:#0c0c18;}
.admin-gal-item button{position:absolute;top:.3rem;right:.3rem;background:rgba(0,0,0,.7);border:none;color:var(--accent2);padding:.2rem .4rem;border-radius:2px;font-size:.75rem;}
.admin-gal-item button:hover{background:var(--accent2);color:#fff;}
.admin-save-msg{color:var(--accent);font-family:'Space Mono',monospace;font-size:.75rem;margin-top:.8rem;}

/* HERO */
#hero{min-height:auto;min-height:100svh;display:flex;align-items:center;padding:0 4rem;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 70% 50%,rgba(123,47,255,.18) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 20% 80%,rgba(200,255,0,.08) 0%,transparent 60%);animation:bgPulse 8s ease-in-out infinite alternate;}
.hero-bg-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s;z-index:1;}
.hero-bg-img::after{content:'';position:absolute;inset:0;background:rgba(5,5,7,.65);}
@keyframes bgPulse{0%{opacity:.7}100%{opacity:1}}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(200,255,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(200,255,0,.03) 1px,transparent 1px);background-size:60px 60px;}
.hero-content{position:relative;z-index:3;max-width:900px;}
.hero-tag{display:inline-block;font-size:.7rem;letter-spacing:4px;text-transform:uppercase;color:var(--accent);font-family:'Space Mono',monospace;border:1px solid rgba(200,255,0,.3);padding:.3rem 1rem;margin-bottom:2rem;animation:fadeUp 1s .2s both;}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,12vw,11rem);line-height:.88;letter-spacing:-2px;margin-bottom:2rem;animation:fadeUp 1s .4s both;background:linear-gradient(135deg,#fff 0%,var(--accent) 50%,#fff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-title .line2{background:linear-gradient(135deg,var(--accent2) 0%,#ff6b6b 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-left:3rem;}
.hero-subtitle{font-size:.95rem;color:var(--muted);max-width:480px;line-height:1.7;margin-bottom:3rem;animation:fadeUp 1s .6s both;font-family:'Space Mono',monospace;}
.hero-btns{display:flex;gap:1.2rem;animation:fadeUp 1s .8s both;}
.hero-waveform{position:absolute;right:4rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;height:180px;animation:fadeUp 1s 1s both;z-index:2;}
.wave-bar{width:4px;border-radius:2px;background:linear-gradient(to top,var(--accent3),var(--accent));animation:waveDance var(--dur,1.2s) ease-in-out infinite alternate;}
@keyframes waveDance{from{height:var(--min-h,10px);opacity:.4}to{height:var(--max-h,80px);opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--muted);font-size:.65rem;letter-spacing:3px;text-transform:uppercase;font-family:'Space Mono',monospace;animation:fadeUp 1s 1.4s both;z-index:2;}
.scroll-line{width:1px;height:50px;background:linear-gradient(var(--accent),transparent);animation:scrollLine 1.8s ease-in-out infinite;}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* MARQUEE */
.marquee-wrap{background:var(--accent);padding:1.2rem 0;overflow:hidden;}
.marquee-inner{display:flex;gap:3rem;animation:marqueeScroll 18s linear infinite;white-space:nowrap;}
.marquee-inner span{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:3px;color:#000;}
.marquee-inner .dot{color:rgba(0,0,0,.4);}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
section{padding:7rem 4rem;}
.section-label{font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:4px;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,6vw,5rem);line-height:1;margin-bottom:1rem;}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* FILTER */
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;margin-top:1.5rem;}
.filter-btn{background:transparent;border:1px solid var(--border);color:var(--muted);padding:.45rem 1.1rem;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:2px;transition:all .2s;font-family:'Syne',sans-serif;}
.filter-btn:hover,.filter-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(200,255,0,.06);}
.filter-album{border-color:rgba(123,47,255,.4);color:rgba(123,47,255,.8);}
.filter-album.active{border-color:var(--accent3);color:var(--accent3);background:rgba(123,47,255,.08);}

/* MUSIC */
.music-grid{
  display:flex;
  overflow-x:auto;
  gap:1.5rem;
  padding-bottom:1rem;
  scroll-snap-type:x mandatory;
}
.music-grid::-webkit-scrollbar{height:8px;}
.music-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:4px;}
.music-grid::-webkit-scrollbar-thumb{background:rgba(200,255,0,.3);border-radius:4px;}
.music-grid::-webkit-scrollbar-thumb:hover{background:rgba(200,255,0,.5);}
.no-tracks-msg{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem;color:var(--muted);font-family:'Space Mono',monospace;font-size:.85rem;text-align:center;}
.no-tracks-msg span{font-size:3rem;}
.track-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.2rem;position:relative;overflow:hidden;transition:border-color .3s,transform .3s;display:flex;flex-direction:column;flex-shrink:0;width:280px;scroll-snap-align:start;}
.track-card:hover{border-color:rgba(200,255,0,.2);transform:translateY(-4px);}
.track-cover{width:100%;aspect-ratio:1/1;border-radius:6px;overflow:hidden;position:relative;margin-bottom:1rem;flex-shrink:0;}
@supports not (aspect-ratio: 1 / 1) {
  .track-cover {
    padding-bottom: 100%;
    height: 0;
  }
  .track-cover > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.track-cover-img{width:100%;height:auto;object-fit:contain;display:block;transition:transform .4s;}
.track-card:hover .track-cover-img{transform:scale(1.05);}
.track-cover-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--card),#16213e);font-size:3.5rem;}
.vinyl-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;}
.track-card.playing .vinyl-overlay{opacity:1;}
.vinyl{width:70px;height:70px;border-radius:50%;background:conic-gradient(#111 0deg,#222 45deg,#111 90deg,#222 135deg,#111 180deg,#222 225deg,#111 270deg,#222 315deg);border:3px solid rgba(200,255,0,.3);animation:spin 3s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.track-name{font-weight:800;font-size:1rem;margin-bottom:.3rem;}
.track-genre{font-size:.7rem;color:var(--accent);letter-spacing:2px;text-transform:uppercase;font-family:'Space Mono',monospace;margin-bottom:.4rem;}
.track-album-tag{font-size:.65rem;color:var(--accent3);letter-spacing:1.5px;font-family:'Space Mono',monospace;margin-bottom:.4rem;}
.track-desc{font-size:.73rem;color:var(--muted);line-height:1.5;margin-bottom:.5rem;}
.track-controls{display:flex;align-items:center;gap:.8rem;margin-top:auto;}
.play-btn{width:40px;height:40px;background:var(--accent);color:#000;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s;flex-shrink:0;animation:playPulse 2.5s ease-out infinite;}
.play-btn:hover{background:#fff;transform:scale(1.1);}
.track-card.playing .play-btn{background:var(--accent2);color:#fff;animation:none;box-shadow:0 0 20px rgba(255,0,60,.5);}
@keyframes playPulse{0%{box-shadow:0 0 0 0 rgba(200,255,0,.4)}70%{box-shadow:0 0 0 10px rgba(200,255,0,0)}100%{box-shadow:0 0 0 0 rgba(200,255,0,0)}}
.progress-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent3),var(--accent));width:0%;transition:width .3s;border-radius:2px;}
.track-time{font-size:.65rem;color:var(--muted);font-family:'Space Mono',monospace;flex-shrink:0;}
.mini-wave{display:flex;align-items:center;gap:2px;height:20px;opacity:0;transition:opacity .3s;}
.track-card.playing .mini-wave{opacity:1;}
.mini-bar{width:3px;background:var(--accent);border-radius:2px;animation:miniWave var(--d,.8s) ease-in-out infinite alternate;}
@keyframes miniWave{from{height:3px}to{height:var(--h,16px)}}
.track-purchase{margin-top:.8rem;display:flex;gap:.5rem;flex-wrap:wrap;}
.buy-btn{flex:1;background:linear-gradient(135deg,var(--accent3),#5533ff);color:#fff;border:none;padding:.65rem 1rem;font-size:.75rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;transition:all .2s;font-family:'Syne',sans-serif;}
.buy-btn:hover{opacity:.85;transform:translateY(-1px);}
.buy-login-prompt{background:linear-gradient(135deg,#1a1a2e,#2a1a3e);color:rgba(123,47,255,.8);border:1px solid rgba(123,47,255,.3);}
.buy-login-prompt:hover{border-color:var(--accent3);color:var(--accent3);}
.beatstore-btn{flex:1;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;text-decoration:none;text-align:center;padding:.65rem 1rem;font-size:.75rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;transition:all .2s;font-family:'Syne',sans-serif;}
.beatstore-btn:hover{opacity:.85;transform:translateY(-1px);}
.free-tag{display:inline-block;background:rgba(200,255,0,.1);border:1px solid rgba(200,255,0,.3);color:var(--accent);font-size:.65rem;letter-spacing:2px;text-transform:uppercase;padding:.3rem .7rem;border-radius:2px;font-family:'Space Mono',monospace;}

/* ALBUMS */
#albums{background:var(--bg2);}
.albums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin-top:2rem;}
.album-card{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:transform .3s,border-color .3s;}
.album-card:hover{transform:translateY(-6px);border-color:rgba(200,255,0,.25);}
.album-cover{position:relative;aspect-ratio:1;overflow:hidden;}
.album-cover-img{width:100%;height:auto;object-fit:contain;display:block;transition:transform .4s;}
.album-card:hover .album-cover-img{transform:scale(1.06);}
.album-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;background:linear-gradient(135deg,#0e0e14,#1a1a2e);}
.album-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);display:flex;align-items:flex-end;padding:1rem;opacity:0;transition:opacity .3s;}
.album-card:hover .album-overlay{opacity:1;}
.album-track-count{font-size:.68rem;letter-spacing:2px;color:var(--accent);font-family:'Space Mono',monospace;text-transform:uppercase;}
.album-info{padding:1rem;}
.album-name{font-weight:800;font-size:1rem;font-family:'Bebas Neue',sans-serif;letter-spacing:2px;}
.album-desc{font-size:.72rem;color:var(--muted);margin-top:.3rem;font-family:'Space Mono',monospace;}

/* BANNER */
#banner{background:var(--bg);padding:0;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;overflow:hidden;}
.banner-wrap{display:flex;justify-content:center;align-items:center;padding:0;width:100%;max-width:none;}
.banner-img-wrap{position:relative;overflow:hidden;border-radius:0;background:transparent;width:100vw;height:auto;max-width:none;}
.banner-img-placeholder{width:100%;height:100%;background:transparent;border-radius:0;display:flex;align-items:center;justify-content:center;font-size:7rem;position:relative;overflow:hidden;}
.banner-img-placeholder::after{display:none;}
.banner-story-img{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.banner-story-video{width:100%;height:auto;object-fit:contain;object-position:center;display:block;}
.banner-frame{position:absolute;inset:12px;border:1px solid rgba(200,255,0,.2);border-radius:3px;pointer-events:none;}
.banner-badge{position:absolute;left:0;bottom:1rem;font-size:1.2rem;color:var(--accent);font-family:'Space Mono',monospace;letter-spacing:2px;text-transform:uppercase;padding:.7rem 1rem;border-radius:0 2px 2px 0;background:rgba(0,0,0,.8);}

/* PURCHASES */
#purchases{background:var(--bg);}
.purchases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-top:2rem;}
.purchase-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.2rem;display:flex;flex-direction:column;gap:1rem;}
.purchase-title{font-weight:800;font-size:1rem;letter-spacing:1px;}
.purchase-meta{color:var(--muted);font-size:.82rem;line-height:1.5;font-family:'Space Mono',monospace;}
.purchase-actions{display:flex;gap:.75rem;flex-wrap:wrap;}
.purchase-actions a,
.purchase-actions button{flex:1;background:linear-gradient(135deg,var(--accent3),#5533ff);color:#fff;border:none;padding:.75rem 1rem;font-size:.78rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;border-radius:6px;text-decoration:none;cursor:pointer;transition:all .2s;}
.purchase-actions button:hover,
.purchase-actions a:hover{opacity:.86;}
.no-purchases-msg{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;color:var(--muted);font-family:'Space Mono',monospace;text-align:center;}
.no-purchases-msg span{font-size:3rem;}
.no-purchases-msg .btn-primary{padding:.8rem 1.4rem;}

/* ABOUT */
#about{background:var(--bg2);}
.about-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:2rem;}
.about-text{text-align:center;}
.about-text p{margin-bottom:1.5rem;font-size:1.1rem;line-height:1.6;color:var(--text);}
.about-text .section-title{margin-bottom:1rem;}
.stats-row{display:flex;justify-content:center;gap:2rem;margin-top:2rem;}
.stat-item{text-align:center;}
.stat-num{font-size:2.5rem;font-weight:800;color:var(--accent);margin-bottom:.3rem;}
.stat-label{font-size:.8rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;font-family:'Space Mono',monospace;}

/* GALLERY */
#gallery{background:var(--bg2);}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem;}
.gallery-item{border-radius:14px;overflow:hidden;position:relative;background:var(--card);aspect-ratio:4/3;border:1px solid rgba(255,255,255,.05);box-shadow:0 18px 50px rgba(0,0,0,.18);}
.gallery-img{width:100%;height:auto;object-fit:contain;display:block;transition:transform .45s ease,filter .45s ease;}
.gallery-item:hover .gallery-img{transform:scale(1.16);filter:brightness(1.05);}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 60%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:1.5rem;}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-caption{font-size:.75rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-family:'Space Mono',monospace;}
.no-gallery-msg{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem;color:var(--muted);font-family:'Space Mono',monospace;font-size:.85rem;text-align:center;}
.no-gallery-msg span{font-size:3rem;}

/* CONTACT */
#contact{text-align:center;position:relative;overflow:hidden;}
.contact-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(123,47,255,.15) 0%,transparent 70%);pointer-events:none;}
#contact .section-title{font-size:clamp(3rem,8vw,7rem);margin-bottom:1.5rem;}
#contact p{color:var(--muted);max-width:500px;margin:0 auto 3rem;line-height:1.7;font-family:'Space Mono',monospace;font-size:.85rem;}
.contact-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;}
.social-link{border:1px solid var(--border);color:var(--muted);padding:.9rem 2rem;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;text-decoration:none;font-family:'Space Mono',monospace;border-radius:2px;transition:all .2s;display:flex;align-items:center;gap:.7rem;}
.social-link:hover{border-color:var(--accent);color:var(--accent);}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:2rem 4rem;display:flex;align-items:center;justify-content:space-between;font-size:.7rem;color:var(--muted);font-family:'Space Mono',monospace;}
footer .logo{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:3px;background:linear-gradient(90deg,var(--accent),var(--accent3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* ══ MOBILE ══ */
@media(max-width:768px){

  /* ── NAVBAR ── */
  nav{
    padding:.75rem 0.8rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.3rem;
    flex-wrap:nowrap;
  }
  .nav-logo{font-size:1.05rem;letter-spacing:2px;flex-shrink:0;order:0;}
  .nav-links{
    display:none;
    position:fixed;
    inset:0;
    top:4.4rem;
    background:rgba(5,5,7,.98);
    backdrop-filter:blur(20px);
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    padding-top:1.1rem;
    gap:.8rem;
    z-index:555;
    list-style:none;
  }
  .nav-links.open{display:flex;}
  .nav-links li a{
    font-size:1.25rem !important;
    letter-spacing:1.5px;
    color:var(--text) !important;
    text-decoration:none;
    width:calc(100vw - 2.4rem);
    max-width:240px;
    margin:0 auto;
    padding:.4rem .8rem;
    background:rgba(0,0,0,.45);
    border:1px solid rgba(255,255,255,.12);
    border-radius:6px;
    transition:background .2s, transform .2s;
  }
  .nav-links li a:hover{
    background:rgba(255,255,255,.18);
    transform:translateY(-1px);
  }
  /* Hamburger always visible, on top of overlay and modals */
  .nav-hamburger{
    display:flex;
    z-index:9100;
    flex-shrink:0;
    order:1;
    position:relative;
    top:-0.25rem;
    margin-right:.45rem;
    align-items:center;
    justify-content:center;
    padding:.12rem;
  }
  .nav-hamburger span{
    width:18px;
    height:1.6px;
  }
  .nav-right{
    display:flex;
    align-items:center;
    gap:.3rem;
    flex-shrink:0;
    order:2;
  }
  /* Keep Book Now button compact on mobile */
  .nav-cta{
    padding:.35rem .82rem;
    font-size:.62rem;
  }
  /* Hide text items that cause overflow */
  .nav-username,
  .admin-indicator,
  .nav-logout-btn{display:none;}
  /* Keep Book Now but smaller */
  .nav-cta{
    padding:.35rem .65rem;
    font-size:.6rem;
    letter-spacing:1px;
    white-space:nowrap;
  }
  .nav-avatar,.nav-avatar-ph{width:26px;height:26px;font-size:.7rem;}
  .nav-admin-open-btn{width:26px;height:26px;font-size:.75rem;}
  .nav-login-btn{padding:.35rem .7rem;font-size:.65rem;letter-spacing:1px;}

  /* ── HERO ── */
  #hero{padding:5rem 1rem 3rem;min-height:100svh;}
  .hero-content{word-break:break-word;}
  .hero-waveform{display:none;}
  .hero-title{font-size:clamp(2.8rem,14vw,4.5rem);letter-spacing:-1px;word-break:break-word;}
  .hero-title .line2{margin-left:0.5rem;}
  .hero-subtitle{font-size:.75rem;max-width:100%;word-wrap:break-word;}
  .hero-tag{word-break:break-word;}
  .hero-btns{
    flex-direction:column;
    gap:.8rem;
    align-items:stretch;
    width:100%;
    max-width:300px;
  }
  .btn-primary,.btn-outline{
    width:100%;
    text-align:center;
    padding:.85rem 1rem;
    font-size:.78rem;
    word-break:break-word;
  }

  /* ── SECTIONS ── */
  section{padding:3.5rem 1rem;word-break:break-word;}
  .section-title{font-size:clamp(1.8rem,9vw,3rem);word-wrap:break-word;}
  .section-label{font-size:.6rem;letter-spacing:2px;}

  /* ── MUSIC ── */
  .music-grid{gap:1rem; padding: 0 1rem; align-items: stretch; scroll-padding-left: 1rem;}
  .track-card{width:80vw;max-width:320px;padding:1rem;border-radius:8px;scroll-snap-align:start;}
  .track-cover{margin-bottom:.7rem;}
  .track-name{font-size:.9rem;word-break:break-word;}
  .track-genre{font-size:.65rem;}
  .track-desc{font-size:.68rem;display:none;}
  .play-btn{width:36px;height:36px;font-size:.8rem;}
  .track-purchase{flex-direction:row;align-items:center;gap:0.5rem;}
  .buy-btn,.beatstore-btn{flex:1;font-size:.65rem;padding:.65rem .4rem;margin-bottom:0;}
  .track-time,.mini-wave{display:none;}
  .filter-bar{gap:.3rem;margin-bottom:1.5rem;flex-wrap:wrap;}
  .filter-btn{padding:.25rem .5rem;font-size:.55rem;white-space:nowrap;}

  /* ── ALBUMS ── */
  .albums-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;}
  .album-name{font-size:.85rem;}

  /* ── BANNER ── */
  .banner-wrap{padding:0;}
  .banner-img-wrap{aspect-ratio:auto !important;width:100vw !important;max-width:none !important;height:auto !important;}
  .banner-story-video,
  .banner-story-img{object-fit:contain !important; height:auto !important; width:100% !important;}
  #about{padding:3.5rem 1rem !important;}
  .about-grid{grid-template-columns:1fr;gap:2rem;}
  .about-text p{margin-bottom:1.5rem;font-size:1rem;}

  /* ── GALLERY ── */
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:.4rem;}
  .gallery-item{aspect-ratio:3/3;}
  .gallery-caption{font-size:.68rem;}

  /* ── CONTACT ── */
  #contact{padding:3.5rem 1rem !important;}
  #contact p{font-size:.78rem;word-break:break-word;}
  #contact .section-title{word-break:break-word;}
  .contact-links{
    flex-direction:column;
    align-items:center;
    gap:.6rem;
  }
  .social-link{
    width:100%;
    max-width:260px;
    justify-content:center;
    padding:.65rem 1rem;
    font-size:.68rem;
    word-break:break-word;
  }

  /* ── FOOTER ── */
  footer{
    flex-direction:column;
    gap:.6rem;
    text-align:center;
    padding:1.2rem 0.8rem;
    font-size:.65rem;
  }

  /* ── MODAL ── */
  .modal-box{
    margin:.5rem;
    padding:1.5rem 1rem;
    border-radius:10px;
    max-width:calc(100vw - 1rem);
  }
  .modal-title{font-size:1.6rem;}
  .google-btn{padding:.8rem 1rem;font-size:.82rem;}

  /* ── ADMIN ── */
  .admin-header{padding:.6rem .8rem;gap:.4rem;flex-wrap:wrap;}
  .admin-title{font-size:.85rem;width:100%;order:-1;}
  .admin-tabs{overflow-x:auto;width:100%;padding-bottom:.2rem;}
  .atab{white-space:nowrap;padding:.3rem .6rem;font-size:.6rem;}
  .admin-tab-content{padding:.8rem;}
  .form-row{flex-direction:column;}
}

/* ── TINY PHONES ── */
@media(max-width:380px){
  .music-grid{gap:.5rem;}
  .albums-grid{grid-template-columns:1fr;gap:.5rem;}
  .gallery-grid{grid-template-columns:1fr;}
  .hero-title{font-size:clamp(2.4rem,15vw,3.5rem);}
  nav{padding:.65rem .6rem;}
  .nav-logo{font-size:.9rem;letter-spacing:1px;}
  section{padding:2.5rem 0.8rem;}
  .section-title{font-size:clamp(1.5rem,8vw,2.2rem);}
  .about-grid{gap:1.5rem;}
  .about-text p{padding:.6rem .8rem;margin-bottom:1rem;}
  .track-card{padding:.6rem;}
  .modal-box{padding:1rem 0.8rem;}
}

/* ── LANDSCAPE MOBILE ── */
@media(max-width:768px)and(orientation:landscape){
  #hero{min-height:auto;padding:4.5rem 1.5rem 2rem;}
  .hero-title{font-size:clamp(2rem,8vw,3rem);}
  .nav-links{gap:1.2rem;}
  .nav-links li a{font-size:1.3rem !important;}
  section{padding:3rem 1.5rem;}
}

@media(max-width:768px){
  .banner-img-wrap{aspect-ratio:auto !important;width:100vw !important;max-width:none !important;height:auto !important;}
  .banner-story-video,
  .banner-story-img{object-fit:contain !important; height:auto !important; width:100% !important;}
}

/* ── TABLET ── */
@media(min-width:769px)and(max-width:1024px){
  nav{padding:1rem 2rem;}
  section{padding:5rem 2.5rem;}
  .about-grid{gap:3rem;}
  
  .banner-img-wrap{aspect-ratio:auto !important;width:100vw !important;max-width:none !important;height:auto !important;}
  .banner-story-video,
  .banner-story-img{object-fit:contain !important; height:auto !important; width:100% !important;}
}

@media(min-width:1025px){
  .banner-img-wrap{aspect-ratio:auto !important;width:100vw !important;max-width:none !important;height:auto !important;}
  .banner-story-video,
  .banner-story-img{object-fit:contain !important; height:auto !important; width:100% !important;}
}

/* ═══════════════════════════════════════════════
   CONSENT SECTION (Login Modal)
   ═══════════════════════════════════════════════ */
.consent-wrap {
  background: rgba(200,255,0,.06);
  border: 1px solid rgba(200,255,0,.22);
  border-radius: 10px;
  padding: .9rem 1rem;
  margin-top: 1.1rem;
}
.consent-label {
  display: flex;
  gap: .7rem;
  align-items: flex-start;
  cursor: pointer;
  font-family: 'Space Mono', monospace;
  font-size: .72rem;
  line-height: 1.5;
  color: var(--text, #f0f0f0);
}
.consent-label input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 17px;
  height: 17px;
  min-width: 17px;
  border: 2px solid var(--accent, #c8ff00);
  border-radius: 4px;
  margin-top: 1px;
  cursor: pointer;
  position: relative;
  background: transparent;
  transition: background .18s;
}
.consent-label input[type="checkbox"]:checked {
  background: var(--accent, #c8ff00);
}
.consent-label input[type="checkbox"]:checked::after {
  content: '✓';
  position: absolute;
  top: -2px;
  left: 2px;
  color: #000;
  font-size: .75rem;
  font-weight: 900;
}
.consent-note {
  font-family: 'Space Mono', monospace;
  font-size: .64rem;
  color: rgba(200,255,0,.55);
  margin: .4rem 0 0 1.6rem;
}

/* ═══════════════════════════════════════════════
   CHECKOUT MODAL
   ═══════════════════════════════════════════════ */
.checkout-box {
  width: 95%;
  max-width: 580px;
}
.checkout-track-preview {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  padding: .9rem;
  margin: 1.2rem 0 .8rem;
}
.checkout-cover {
  width: 62px;
  height: 62px;
  min-width: 62px;
  min-height: 62px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}
.checkout-cover-ph {
  width: 62px;
  height: 62px;
  min-width: 62px;
  min-height: 62px;
  border-radius: 8px;
  background: rgba(200,255,0,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  flex-shrink: 0;
}
.checkout-track-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.2rem;
  letter-spacing: .05em;
  color: #fff;
}
.checkout-track-genre {
  font-family: 'Space Mono', monospace;
  font-size: .7rem;
  color: rgba(200,255,0,.7);
  margin-top: .2rem;
}
.checkout-summary {
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.09);
  overflow: hidden;
  margin-bottom: 1rem;
}
.checkout-row {
  display: flex;
  justify-content: space-between;
  padding: .55rem 1rem;
  font-family: 'Space Mono', monospace;
  font-size: .75rem;
  color: rgba(255,255,255,.7);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.checkout-row:last-child { border-bottom: none; }
.checkout-total {
  background: rgba(200,255,0,.07);
  font-weight: 700;
  color: #c8ff00;
}
.checkout-info {
  font-family: 'Space Mono', monospace;
  font-size: .76rem;
  line-height: 1.6;
  color: rgba(255,255,255,.75);
  margin-bottom: 1rem;
}
.checkout-email {
  color: #c8ff00;
  font-weight: 700;
}
.checkout-confirm-btn {
  width: 100%;
  text-align: center;
  font-size: .82rem;
  padding: .85rem 1rem;
  letter-spacing: .08em;
  border-radius: 8px;
  margin-top: .2rem;
  display: block;
  text-decoration: none;
}
.checkout-price-box {
  text-align: center;
  margin: .5rem 0 1rem;
}
.price-tag {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2.8rem;
  color: #c8ff00;
  letter-spacing: .05em;
}

/* NEW: License Selection Styles */
.license-selection-list {
  display: flex;
  flex-direction: column;
  gap: .8rem;
  margin-bottom: 1.5rem;
}
.license-select-card {
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.03);
  border-radius: 8px;
  padding: .9rem 1rem;
  cursor: pointer;
  transition: all .2s ease;
}
.license-select-card:hover:not(.disabled) {
  border-color: #c8ff00;
  background: rgba(200,255,0,.05);
}
.license-select-card.disabled {
  opacity: .5;
  cursor: not-allowed;
  filter: grayscale(1);
}
.license-select-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .4rem;
}
.license-select-name {
  font-family: 'Space Mono', monospace;
  font-size: .85rem;
  font-weight: 700;
  color: #fff;
}
.license-select-price {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.3rem;
  color: #c8ff00;
  letter-spacing: .05em;
}
.license-select-desc {
  font-family: 'Space Mono', monospace;
  font-size: .7rem;
  color: rgba(255,255,255,.6);
  line-height: 1.4;
}

/* Success screen */
#checkoutSuccess {
  text-align: center;
  padding: 1rem 0 .5rem;
}
.checkout-success-anim {
  font-size: 3.5rem;
  animation: bouncePop .5s ease;
}
@keyframes bouncePop {
  0%  { transform: scale(.5); opacity:0; }
  70% { transform: scale(1.15); }
  100%{ transform: scale(1); opacity:1; }
}
.checkout-success-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2rem;
  letter-spacing: .1em;
  color: #c8ff00;
  margin: .5rem 0 .3rem;
}
.checkout-success-msg {
  font-family: 'Space Mono', monospace;
  font-size: .74rem;
  line-height: 1.6;
  color: rgba(255,255,255,.7);
  margin-bottom: 1.2rem;
}

/* Purchase card extras */
.purchase-email-note {
  font-family: 'Space Mono', monospace;
  font-size: .7rem;
  color: rgba(200,255,0,.75);
  margin: .3rem 0;
}
.purchase-download-btn {
  display: inline-block;
  background: var(--accent, #c8ff00);
  color: #000;
  font-family: 'Space Mono', monospace;
  font-size: .72rem;
  font-weight: 700;
  padding: .45rem .9rem;
  border-radius: 6px;
  text-decoration: none;
  margin-right: .5rem;
  transition: opacity .2s;
}
.purchase-download-btn:hover { opacity: .85; }

/* ═══════════════════════════════════════════════
   LICENSE OPTIONS
   ═══════════════════════════════════════════════ */
.license-checkbox{
  background: rgba(200,255,0,.05);
  border: 1px solid rgba(200,255,0,.18);
  border-radius: 8px;
  padding: .7rem .9rem;
}
.license-buy-btn{
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .2rem;
  text-align: left;
  line-height: 1.15;
}
.license-buy-btn small{
  display:block;
  font-family:'Space Mono',monospace;
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.5px;
  opacity:.78;
  text-transform:none;
}
.license-free_royalty{background:linear-gradient(135deg,#12351c,#1f7a34);}
.license-non_exclusive{background:linear-gradient(135deg,var(--accent3),#5533ff);}
.license-exclusive{background:linear-gradient(135deg,#ff6b35,#ff003c);}
.license-terms-box{
  margin: .85rem 0 1rem;
  padding: .9rem 1rem;
  background: rgba(200,255,0,.055);
  border: 1px solid rgba(200,255,0,.22);
  border-radius: 10px;
  color: rgba(255,255,255,.78);
  font-family: 'Space Mono', monospace;
  font-size: .72rem;
  line-height: 1.55;
}
.license-terms-box strong{color:var(--accent);}
.license-accept{
  display:flex;
  gap:.55rem;
  align-items:flex-start;
  margin-top:.8rem;
  color:#fff;
  font-weight:700;
}
.license-accept input{accent-color:var(--accent);margin-top:.2rem;}
@media(max-width:768px){
  .license-buy-btn{font-size:.65rem;padding:.55rem .65rem;}
  .license-buy-btn small{font-size:.55rem;}
}

/* License buyer details inside checkout */
.license-buyer-fields{
  display:grid;
  grid-template-columns: 1fr;
  gap:.7rem;
  padding:.9rem 1rem;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.09);
  border-top:none;
}
@media (min-width: 500px) {
  .license-buyer-fields {
    grid-template-columns: 1fr 1fr;
  }
}
.terms-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.4rem;
  margin-top: 0.6rem;
}
@media (min-width: 500px) {
  .terms-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.license-buyer-fields label{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  font-family:'Space Mono',monospace;
  font-size:.68rem;
  color:rgba(255,255,255,.68);
}
.license-buyer-fields input{
  background:#131320;
  border:1px solid var(--border);
  color:var(--text);
  padding:.65rem .8rem;
  border-radius:6px;
  outline:none;
  font-family:'Syne',sans-serif;
}
.license-buyer-fields input:focus{border-color:rgba(200,255,0,.45);}
.purchase-actions button{
  flex:1;
  background:linear-gradient(135deg,#18222d,#35465e);
  color:#fff;
  border:none;
  padding:.75rem 1rem;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  border-radius:6px;
  text-decoration:none;
  transition:all .2s;
}
.purchase-actions button:hover{opacity:.86;}

/* Admin per-beat license customization */
.license-admin-box{
  border:1px solid rgba(123,47,255,.28);
  background:rgba(123,47,255,.055);
  border-radius:10px;
  padding:1rem;
  margin:1rem 0;
}
.license-admin-box h4{
  font-family:'Bebas Neue',sans-serif;
  letter-spacing:2px;
  color:var(--accent);
  font-size:1.2rem;
  margin-bottom:.25rem;
}
.license-admin-box p{
  color:var(--muted);
  font-family:'Space Mono',monospace;
  font-size:.7rem;
  line-height:1.5;
  margin-bottom:.75rem;
}
.license-admin-details{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.18);
  border-radius:8px;
  margin:.65rem 0;
  padding:.75rem;
}
.license-admin-details summary{
  color:#fff;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  font-size:.78rem;
  cursor:pointer;
}
.admin-form textarea,
.form-group textarea{
  background:#131320;
  border:1px solid var(--border);
  color:var(--text);
  padding:.7rem 1rem;
  font-family:'Syne',sans-serif;
  font-size:.9rem;
  border-radius:4px;
  transition:border-color .2s;
  outline:none;
  width:100%;
  min-height:90px;
  resize:vertical;
}
.admin-form textarea:focus,
.form-group textarea:focus{border-color:rgba(200,255,0,.4);}

/* Delivery files per license */
.delivery-files-box{
  border:1px solid rgba(200,255,0,.2);
  background:rgba(200,255,0,.035);
  border-radius:10px;
  padding:1rem;
  margin:1rem 0;
}
.delivery-files-box h4{
  font-family:'Bebas Neue',sans-serif;
  color:var(--accent);
  letter-spacing:2px;
  font-size:1.2rem;
  margin-bottom:.25rem;
}
.delivery-files-box p{
  font-family:'Space Mono',monospace;
  font-size:.7rem;
  color:var(--muted);
  line-height:1.5;
  margin-bottom:1rem;
}
.delivery-files-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.delivery-file-card{
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  padding:.85rem;
}
.delivery-file-card strong{
  display:block;
  color:#fff;
  font-size:.8rem;
  margin-bottom:.7rem;
  text-transform:uppercase;
  letter-spacing:1px;
}
.delivery-file-card label{
  display:block;
  margin:.65rem 0 .35rem;
}
@media(max-width:900px){.delivery-files-grid{grid-template-columns:1fr;}}
.delivery-file-card input[type="url"]{
  background:#131320;
  border:1px solid var(--border);
  color:var(--text);
  padding:.62rem .75rem;
  border-radius:5px;
  outline:none;
  width:100%;
  font-family:'Syne',sans-serif;
  font-size:.82rem;
}
.delivery-file-card input[type="url"]:focus{border-color:rgba(200,255,0,.45);}

/* -- FOOTER & COMPLIANCE -- */
.compliance-contact {
  text-align: center;
  font-family: 'Space Mono', monospace;
  font-size: .8rem;
  color: rgba(255,255,255,.6);
  margin: 1.5rem 0;
  line-height: 1.6;
}
.compliance-contact strong { color: #fff; }
.footer-links {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
  margin: .8rem 0;
}
.footer-links a {
  color: rgba(200,255,0,.7);
  text-decoration: none;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.footer-links a:hover { color: #c8ff00; }

.legal-box { max-width: 600px; padding: 2rem; }
.legal-content {
  font-family: 'Space Mono', monospace;
  font-size: .8rem;
  line-height: 1.6;
  color: rgba(255,255,255,.75);
  max-height: 60vh;
  overflow-y: auto;
  text-align: left;
  margin-top: 1.5rem;
  padding-right: .5rem;
}
.legal-content h3 {
  color: #fff;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.4rem;
  margin: 1.5rem 0 .5rem;
  letter-spacing: .05em;
}
.legal-content p { margin-bottom: 1rem; }
.legal-content ul { margin: 0 0 1rem 1.5rem; }
