/*
Theme Name: Prime Virtual DJ
Theme URI: https://primevirtualdj.com/
Author: Prime Virtual DJ
Description: Responsive, customizable marketing website for Prime Virtual DJ. The DJ engine and payment/subscription plugins are separate.
Version: 1.1.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: prime-virtual-dj
License: GPL-2.0-or-later
*/

:root{--bg:#080910;--surface:#11121c;--surface2:#191a28;--text:#f6f6fc;--muted:#a7a8bc;--line:#2a2b3b;--violet:#9e67ff;--pink:#f160d5;--cyan:#60e9f1;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand,.big-price{font-family:'Space Grotesk',sans-serif}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.site{position:relative;isolation:isolate}.site:before{content:"";position:absolute;z-index:-1;top:0;left:0;width:100%;height:900px;background:radial-gradient(ellipse at 50% 9%,#4a24864d,transparent 55%),radial-gradient(ellipse at 92% 41%,#74337722,transparent 42%);pointer-events:none}.wrap{width:min(1192px,calc(100% - 44px));margin:auto}
header{position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff12;background:#090a11d9;backdrop-filter:blur(20px)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:19px;display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.8px;white-space:nowrap}.mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--violet),var(--pink));display:grid;place-items:center;box-shadow:0 0 28px #ab60ed55}.mark svg{width:24px}.brand b{color:#b98bff}.navlinks{display:flex;gap:32px;font-size:13px;font-weight:700;color:#c4c4d1}.navlinks a:hover,.footer-links a:hover{color:white}.nav-right{display:flex;align-items:center;gap:20px}.login{font-size:13px;font-weight:700;color:#d8d7e2}.btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;padding:15px 23px;font-weight:700;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-2px)}.primary{background:linear-gradient(115deg,#af76ff,#a04cf5 55%,#d367d0);box-shadow:0 10px 38px #8f45ee44;color:white}.secondary{background:#ffffff0c;border-color:#ffffff2b;color:white}.secondary:hover{background:#ffffff1a}.small{padding:11px 18px;font-size:13px}
.hero{text-align:center;padding:95px 0 18px}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid #ad81ff4d;background:#af73ff0d;border-radius:99px;color:#ceb2ff;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.pulse{width:7px;height:7px;border-radius:100%;background:#aa77ff;box-shadow:0 0 0 5px #a66ef21b}.hero h1{font-size:clamp(46px,7vw,88px);max-width:1000px;line-height:1.03;letter-spacing:-.067em;margin:27px auto 23px;font-weight:700}.gradient{background:linear-gradient(95deg,#b48aff 10%,#f67dcc 58%,#7be8ef);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{max-width:610px;margin:0 auto;color:#aeb0c2;font-size:17px;line-height:1.75}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:30px 0 24px}.meta{display:flex;justify-content:center;align-items:center;gap:25px;flex-wrap:wrap;color:#9294a9;font-size:12px}.meta span{display:flex;align-items:center;gap:8px}.meta svg{width:15px;height:15px;color:#b58aff}
.stage-wrap{margin-top:52px;position:relative}.stage-wrap:before{content:"";position:absolute;inset:18% -7% -8%;background:radial-gradient(ellipse,#853eee4d,transparent 65%);filter:blur(38px);z-index:-1}.stage{border:1px solid #58516e;padding:9px;border-radius:20px;background:linear-gradient(180deg,#29253a,#11111a);box-shadow:0 34px 80px #000a,0 0 90px #7032c02c;max-width:1050px;margin:auto}.dj-app{overflow:hidden;border-radius:13px;background:#0d0e17;text-align:left;border:1px solid #383544}.app-top{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid #333240;background:#191925}.window-dots{display:flex;gap:6px}.window-dots i{width:8px;height:8px;border-radius:50%;background:#5d586f}.window-dots i:first-child{background:#fd686e}.window-dots i:nth-child(2){background:#f9be57}.window-dots i:nth-child(3){background:#50cd91}.app-label{font-size:10px;font-weight:800;letter-spacing:.15em;color:#a6a0b8}.app-top .live{color:#a8a6b5;font-size:10px}.live em{display:inline-block;width:6px;height:6px;border-radius:50%;background:#65eac7;margin-right:6px}.mixer{padding:16px 17px 12px;display:grid;grid-template-columns:1fr 140px 1fr;gap:13px}.deck{border:1px solid #373343;background:#151520;border-radius:12px;padding:13px;min-width:0}.deck-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#b9b6c8;letter-spacing:.08em}.deck-head strong{font-size:11px;color:#fff}.deck-head .a{color:#ad78ff}.deck-head .b{color:#ef78cd}.wave{height:76px;width:100%;display:block;margin:14px 0 9px;border-radius:5px;background:#080a11}.track{display:flex;justify-content:space-between;gap:8px}.track strong{font-size:12px}.track small{color:#8f8eab;font-size:10px}.track .time{font-size:11px;color:#ddd}.deck-lower{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.disc{width:80px;height:80px;border-radius:50%;background:repeating-radial-gradient(circle,#282737 0px,#171723 3px,#242333 5px,#15141e 7px);border:5px solid #393541;position:relative;box-shadow:inset 0 0 8px #000}.disc:after{content:"";position:absolute;inset:28px;border-radius:50%;background:var(--violet);box-shadow:0 0 14px #9f61ff99}.deck-b .disc:after{background:var(--pink);box-shadow:0 0 14px #f160d599}.controls{display:flex;align-items:center;gap:6px}.control{height:27px;min-width:27px;border-radius:6px;background:#282638;border:1px solid #444052;color:#d5d2e2;font-size:11px;display:grid;place-items:center}.control.play{background:#9162f0;border-color:#b78cf8;color:white}.deck-b .control.play{background:#dd62bd;border-color:#fa92d7}.tempo{text-align:right;color:#aaa5bd;font-size:9px}.tempo b{display:block;color:#f0eefe;font-size:16px;margin-bottom:5px}.center-mix{background:#161621;border:1px solid #383342;border-radius:12px;padding:12px 12px;display:flex;flex-direction:column;align-items:center;gap:11px}.center-mix .mix-title{font-size:10px;font-weight:800;color:#a6a2b9;letter-spacing:.12em}.eq{display:flex;gap:15px;justify-content:center}.eq-column{display:flex;align-items:center;flex-direction:column;gap:14px}.knob{width:25px;height:25px;border-radius:50%;border:5px solid #3b354e;background:#1b1925;box-shadow:0 0 0 1px #5b5370;position:relative}.knob:before{content:"";position:absolute;top:-4px;left:8px;width:3px;height:8px;background:#a774f8;border-radius:2px}.knob.pink:before{background:#f27cce}.fader{height:77px;width:5px;border-radius:10px;background:#343044;position:relative}.fader:after{content:"";position:absolute;top:37%;left:-9px;width:23px;height:10px;background:#aaa6be;border-radius:2px;box-shadow:0 1px 4px #000}.cross{height:7px;background:#363349;width:100%;border-radius:5px;margin-top:auto;position:relative}.cross:after{content:"";position:absolute;left:48%;top:-5px;width:9px;height:17px;background:#d4cbeb;border-radius:2px}.library{padding:0 17px 17px}.library-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1c1c2b;border:1px solid #373444;border-radius:8px 8px 0 0;font-size:10px;font-weight:700;color:#dad7e8}.library-bar span:last-child{color:#89869c}.song{display:grid;grid-template-columns:26px 1.5fr 1fr 65px 65px;gap:8px;align-items:center;border:1px solid #282735;border-top:0;padding:10px 12px;background:#11121b;font-size:10px;color:#8b8a9e}.song strong{color:#d9d6e5}.song:last-child{border-radius:0 0 8px 8px}.song.on{background:#211c31}.song.on strong:first-child{color:#bc90ff}
.section{padding:110px 0}.section-heading{text-align:center;max-width:680px;margin:0 auto 45px}.section-tag{text-transform:uppercase;letter-spacing:.17em;font-size:11px;color:#ba8cff;font-weight:800;margin-bottom:13px}.section h2{font-size:clamp(32px,4.4vw,52px);letter-spacing:-.05em;line-height:1.13;margin:0 0 16px}.section-heading>p:last-child{color:var(--muted);font-size:15px;line-height:1.8}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.feature{border:1px solid #2b2b3c;border-radius:20px;background:linear-gradient(160deg,#181826,#0f1019);padding:30px;min-height:230px}.feature-icon{width:46px;height:46px;border-radius:13px;background:#9a66ff20;color:#c8a5ff;display:grid;place-items:center;font-size:23px;margin-bottom:28px}.feature h3{font-size:19px;letter-spacing:-.035em;margin-bottom:10px}.feature p{font-size:13px;color:#a8a7b8;line-height:1.8;margin:0}.platform-band{display:grid;grid-template-columns:1fr 1fr 1fr;gap:17px}.platform{border:1px solid #343143;background:linear-gradient(180deg,#1d1b2a,#11121c);border-radius:20px;padding:30px;position:relative;overflow:hidden}.platform:after{content:"";position:absolute;right:-40px;top:-60px;width:180px;height:180px;background:radial-gradient(circle,#ad6fff22,transparent 70%);pointer-events:none}.platform .platform-icon{font-size:36px;margin-bottom:24px}.platform h3{margin-bottom:8px;font-size:21px}.platform p{color:#a8a7ba;font-size:13px;line-height:1.7;min-height:68px}.platform a{font-weight:700;font-size:13px;color:#c49dff}.platform a:hover{text-decoration:underline}
.price-section{padding-top:55px}.price-card{border:1px solid #8e61df80;border-radius:27px;background:radial-gradient(ellipse at top,#4226615c,transparent 58%),#14131e;max-width:570px;padding:39px 46px;margin:auto;box-shadow:0 0 75px #7b41de17;text-align:center}.price-card .badge{display:inline-flex;border-radius:100px;padding:8px 13px;background:#9f6af125;color:#d2afff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.price-card h3{font-size:28px;margin:20px 0 18px}.price-amount{display:flex;justify-content:center;align-items:baseline;gap:6px}.big-price{font-size:70px;font-weight:700;letter-spacing:-.07em}.per{color:#a5a2b7;font-size:15px}.price-card .summary{color:#b9b4c8;font-size:13px;margin:12px 0 28px}.price-list{text-align:left;margin:27px 0;padding:0;list-style:none;display:grid;gap:17px}.price-list li{font-size:14px;display:flex;align-items:center;gap:12px}.tick{color:#b48bff;font-size:16px;font-weight:bold}.price-card .btn{width:100%;margin-top:7px}.fine{font-size:11px;color:#9290a8;margin:16px 0 0}.faq{max-width:780px;margin:auto}.faq-item{border-bottom:1px solid #302d3c}.faq-item summary{padding:24px 0;cursor:pointer;font-size:15px;font-weight:700;display:flex;justify-content:space-between;gap:20px;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';font-size:22px;color:#bc92ff;font-weight:400}.faq-item[open] summary:after{content:'−'}.faq-item p{color:#a7a5b8;font-size:14px;line-height:1.8;padding-bottom:20px;margin:0;max-width:680px}.end-cta{text-align:center;padding:66px 20px;border:1px solid #46305f;border-radius:25px;background:radial-gradient(ellipse at 50% 0%,#5231768f,transparent 70%),#17131f;margin-bottom:100px}.end-cta h2{font-size:clamp(30px,4vw,47px);margin-bottom:14px}.end-cta p{color:#b7b0c6;margin-bottom:28px}footer{border-top:1px solid #272634;padding:29px 0 36px;color:#89889b;font-size:12px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}.footer-links{display:flex;gap:20px}
@media(max-width:900px){.navlinks,.login{display:none}.mixer{grid-template-columns:1fr 95px 1fr;gap:7px;padding:10px}.deck{padding:9px}.disc{width:55px;height:55px}.disc:after{inset:19px}.center-mix{padding:8px 5px}.eq{gap:8px}.wave{height:55px}.features,.platform-band{grid-template-columns:repeat(2,1fr)}.platform:last-child{grid-column:1/-1}.stage{padding:5px}}@media(max-width:600px){.wrap{width:min(100% - 32px,1192px)}.nav{height:67px}.brand{font-size:16px}.nav-right .btn{padding:10px 11px;font-size:12px}.hero{padding-top:69px}.hero h1{font-size:48px}.hero-copy{font-size:15px}.hero-actions .btn{width:100%}.meta{gap:12px}.stage-wrap{margin-top:38px;overflow:hidden}.stage{width:790px;max-width:none;transform:scale(.49);transform-origin:top left;margin-bottom:-270px}.features,.platform-band{grid-template-columns:1fr}.platform:last-child{grid-column:auto}.section{padding:78px 0}.feature{min-height:0}.price-card{padding:30px 23px}.big-price{font-size:60px}.footer-inner{justify-content:center;text-align:center}.song{padding:8px}.end-cta{margin-bottom:70px}}@media(min-width:500px) and (max-width:600px){.stage{transform:scale(.58);margin-bottom:-232px}}

/* WordPress content formatting */
.pvd-page{padding:95px 0;min-height:65vh}.pvd-page h1{font-size:clamp(36px,5vw,64px)}.pvd-content{line-height:1.8;color:#c5c2d2}.pvd-content a{text-decoration:underline;color:var(--violet)}.pvd-content img{max-width:100%;height:auto}.custom-logo{max-width:165px;height:auto}.admin-bar header{top:32px}@media(max-width:782px){.admin-bar header{top:46px}}

/* Improved keyboard focus & admin bar spacing */
a:focus-visible, button:focus-visible, summary:focus-visible{outline:2px solid #b49aff;outline-offset:4px}
.admin-bar header{top:32px}@media(max-width:782px){.admin-bar header{top:46px}}
