/*
Theme Name: D.JUSTIN QR
Theme URI: https://djustinmusic.ro/
Author: D.JUSTIN
Description: Temă companion pentru D.JUSTIN QR Requests. Design dark club, responsive, optimizat pentru DJ Panel, conturi DJ și landing page QR Song Request.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: djustin-qr-theme
*/

:root{
  --qr-accent:#7c3aed;
  --qr-accent-2:#a855f7;
  --qr-bg:#07080c;
  --qr-bg-soft:#0b0e14;
  --qr-card:#11141c;
  --qr-line:#232838;
  --qr-text:#f7f7fb;
  --qr-muted:#9298aa;
  --qr-green:#42d392;
  --qr-container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--qr-bg)}
body{margin:0;background:radial-gradient(circle at 22% -8%,color-mix(in srgb,var(--qr-accent) 28%,transparent),transparent 34%),radial-gradient(circle at 90% 15%,rgba(168,85,247,.12),transparent 27%),var(--qr-bg);color:var(--qr-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
::selection{background:color-mix(in srgb,var(--qr-accent) 45%,transparent);color:#fff}

.qr-site{min-height:100vh;display:flex;flex-direction:column;overflow:hidden}
.qr-container{width:min(var(--qr-container),calc(100% - 36px));margin-inline:auto}
.qr-main{flex:1;padding:42px 0 70px}

/* Ambient background */
.qr-site:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000,transparent 75%);z-index:0}
.qr-site>*{position:relative;z-index:1}

/* Header */
.qr-header{position:sticky;top:0;z-index:50;background:rgba(7,8,12,.76);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06)}
.admin-bar .qr-header{top:32px}
.qr-header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.qr-brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:950;letter-spacing:-.035em}
.qr-brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--qr-accent),var(--qr-accent-2));box-shadow:0 8px 35px color-mix(in srgb,var(--qr-accent) 32%,transparent);font-size:18px}
.qr-brand-text{font-size:19px}
.qr-brand-text em{font-style:normal;color:var(--qr-accent-2)}
.qr-nav{display:flex;align-items:center;gap:7px}
.qr-nav a{font-size:13px;font-weight:750;color:#b9becd;text-decoration:none;padding:9px 11px;border-radius:10px;transition:.18s ease}
.qr-nav a:hover{color:#fff;background:#151923}
.qr-nav .qr-nav-cta{background:var(--qr-accent);color:#fff;padding-inline:16px;box-shadow:0 8px 28px color-mix(in srgb,var(--qr-accent) 24%,transparent)}
.qr-nav .qr-nav-cta:hover{background:color-mix(in srgb,var(--qr-accent) 88%,white);color:#fff}
.qr-menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--qr-line);border-radius:12px;background:#11141c;color:#fff;cursor:pointer}

/* Home */
.qr-hero{padding:88px 0 54px;text-align:center;position:relative}
.qr-eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--qr-accent) 35%,#242938);background:color-mix(in srgb,var(--qr-accent) 10%,#0b0e14);border-radius:999px;padding:7px 11px;color:#c9b4ff;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.qr-eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--qr-green);box-shadow:0 0 0 5px rgba(66,211,146,.09)}
.qr-hero h1{font-size:clamp(52px,9vw,106px);line-height:.88;letter-spacing:-.07em;margin:24px auto 18px;max-width:1040px;color:#fff;text-wrap:balance}
.qr-gradient-text{background:linear-gradient(110deg,#fff 0%,#c9b4ff 42%,var(--qr-accent-2) 78%,#fff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.qr-hero-lead{max-width:690px;margin:0 auto;color:#aeb4c3;font-size:clamp(17px,2vw,21px);line-height:1.62;text-wrap:balance}
.qr-hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:30px}
.qr-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:13px;padding:0 18px;font-size:13px;font-weight:900;text-decoration:none;border:1px solid transparent;transition:.18s ease}
.qr-btn-primary{background:var(--qr-accent);color:#fff;box-shadow:0 14px 42px color-mix(in srgb,var(--qr-accent) 30%,transparent)}
.qr-btn-primary:hover{transform:translateY(-1px);box-shadow:0 18px 48px color-mix(in srgb,var(--qr-accent) 38%,transparent)}
.qr-btn-secondary{background:#11141c;border-color:#272d3d;color:#e7e9ef}
.qr-btn-secondary:hover{border-color:#414a61;background:#151923}

.qr-demo-wrap{margin:58px auto 0;max-width:980px;position:relative}
.qr-demo-glow{position:absolute;inset:15% 10% -20%;background:var(--qr-accent);filter:blur(100px);opacity:.15;pointer-events:none}
.qr-demo{position:relative;background:linear-gradient(180deg,rgba(20,23,32,.96),rgba(12,14,20,.96));border:1px solid #272d3d;border-radius:24px;padding:15px;box-shadow:0 35px 120px rgba(0,0,0,.45)}
.qr-demo-top{height:38px;display:flex;align-items:center;gap:6px;padding:0 5px 10px}
.qr-demo-dot{width:8px;height:8px;border-radius:50%;background:#333947}.qr-demo-dot:nth-child(1){background:#ff667d}.qr-demo-dot:nth-child(2){background:#ffb454}.qr-demo-dot:nth-child(3){background:#42d392}
.qr-demo-stage{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px}
.qr-demo-panel,.qr-demo-qr{background:#0b0e14;border:1px solid #202636;border-radius:17px;padding:18px;text-align:left}
.qr-demo-label{color:var(--qr-accent-2);font-size:9px;font-weight:900;letter-spacing:.16em}
.qr-demo-panel h3,.qr-demo-qr h3{margin:5px 0 14px;font-size:20px}
.qr-request-mock{display:grid;gap:7px}
.qr-request-line{display:flex;align-items:center;gap:10px;border:1px solid #232838;background:#0f1219;border-radius:12px;padding:11px}
.qr-rank{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#202532;color:#cdd1dc;font-size:10px;font-weight:900}
.qr-track{min-width:0;flex:1}.qr-track strong,.qr-track small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-track strong{font-size:12px}.qr-track small{font-size:10px;color:#737b8e;margin-top:2px}.qr-votes{color:#ffb454;font-size:11px;font-weight:900}
.qr-fake-code{width:154px;aspect-ratio:1;margin:10px auto 13px;border-radius:13px;background:repeating-conic-gradient(#07080c 0 25%,#fff 0 50%) 0/18px 18px;border:9px solid #fff;box-shadow:inset 0 0 0 2px #fff}
.qr-demo-qr{text-align:center}.qr-demo-qr p{font-size:10px;color:#747c8f;margin:0}

.qr-section{padding:72px 0}
.qr-section-head{max-width:700px;margin:0 auto 34px;text-align:center}.qr-section-head h2{font-size:clamp(34px,5vw,58px);line-height:1;letter-spacing:-.055em;margin:14px 0;color:#fff}.qr-section-head p{color:#969daf;line-height:1.7;margin:0}
.qr-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.qr-feature{background:linear-gradient(180deg,rgba(17,20,28,.9),rgba(11,14,20,.9));border:1px solid #222838;border-radius:19px;padding:24px;min-height:190px;transition:.18s ease}
.qr-feature:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--qr-accent) 45%,#222838)}
.qr-feature-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--qr-accent) 14%,#12151e);border:1px solid color-mix(in srgb,var(--qr-accent) 25%,#242938);font-size:18px;margin-bottom:20px}
.qr-feature h3{font-size:17px;margin:0 0 8px;color:#fff}.qr-feature p{margin:0;color:#8e95a7;line-height:1.65;font-size:13px}

.qr-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;counter-reset:steps}
.qr-step{counter-increment:steps;border-top:1px solid #272d3d;padding:22px 8px 0}.qr-step:before{content:"0" counter(steps);display:block;color:var(--qr-accent-2);font-weight:900;font-size:11px;letter-spacing:.12em;margin-bottom:28px}.qr-step h3{font-size:16px;margin:0 0 8px}.qr-step p{font-size:12px;color:#858d9f;line-height:1.6;margin:0}

.qr-cta{margin-top:40px;background:radial-gradient(circle at 20% 0,color-mix(in srgb,var(--qr-accent) 28%,transparent),transparent 55%),linear-gradient(180deg,#151923,#0e1118);border:1px solid #2b3142;border-radius:24px;padding:clamp(28px,6vw,62px);text-align:center}.qr-cta h2{font-size:clamp(34px,5vw,60px);letter-spacing:-.055em;line-height:1;margin:0 0 13px}.qr-cta p{color:#9ca3b5;max-width:610px;margin:0 auto 25px;line-height:1.65}

/* General pages / plugin pages */
.qr-page-shell{max-width:1180px;margin:0 auto}.qr-page-header{margin:8px 0 24px}.qr-page-header h1{font-size:clamp(34px,5vw,56px);letter-spacing:-.05em;margin:0}.qr-entry{color:#d9dce5}.qr-entry>p{color:#9ea5b6;line-height:1.7}
body.page .qr-main{padding-top:34px}
body.page-id-0 .qr-main{padding-top:34px}
.qr-entry .djq-dashboard,.qr-entry .djq-account{margin:0;background:transparent!important;border-radius:0!important;padding:0!important}
.qr-entry .djq-dashboard{min-height:650px}
.qr-entry .djq-login-note{background:#11141c;border-color:#272d3d;color:#d9dce5}
.qr-entry .djq-login-note a{color:#c8b5ff}

/* Match plugin's accent and make it feel native */
.djq-dashboard,.djq-account{--djq-accent:var(--qr-accent)!important}
.djq-card{box-shadow:0 18px 70px rgba(0,0,0,.2)!important}

/* Footer */
.qr-footer{border-top:1px solid rgba(255,255,255,.06);padding:28px 0 34px;color:#697184;font-size:11px}
.qr-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.qr-footer strong{color:#a5acbb}.qr-footer a{text-decoration:none;color:#858da0}.qr-footer a:hover{color:#fff}

/* WP content */
.qr-entry h1,.qr-entry h2,.qr-entry h3,.qr-entry h4{color:#fff}.qr-entry a{color:#c8b5ff}.qr-entry blockquote{border-left:3px solid var(--qr-accent);margin-left:0;padding-left:18px;color:#b9becd}.qr-entry table{width:100%;border-collapse:collapse}.qr-entry th,.qr-entry td{border:1px solid #272d3d;padding:10px}.qr-entry th{background:#11141c}

@media(max-width:900px){
  .qr-features{grid-template-columns:1fr 1fr}.qr-steps{grid-template-columns:1fr 1fr}.qr-demo-stage{grid-template-columns:1fr 220px}
}
@media(max-width:782px){.admin-bar .qr-header{top:46px}}
@media(max-width:720px){
  .qr-header-inner{height:68px}.qr-menu-toggle{display:grid;place-items:center}.qr-nav{display:none;position:absolute;left:18px;right:18px;top:75px;flex-direction:column;align-items:stretch;background:#10131a;border:1px solid #272d3d;border-radius:15px;padding:9px;box-shadow:0 24px 70px rgba(0,0,0,.45)}.qr-nav.is-open{display:flex}.qr-nav a{text-align:center;padding:12px}.qr-hero{padding-top:62px}.qr-demo-stage{grid-template-columns:1fr}.qr-demo-qr{display:none}.qr-features,.qr-steps{grid-template-columns:1fr}.qr-steps{gap:26px}.qr-footer-inner{flex-direction:column;align-items:flex-start}.qr-main{padding-top:26px}.qr-container{width:min(var(--qr-container),calc(100% - 24px))}
}
@media(max-width:480px){.qr-hero h1{font-size:52px}.qr-demo{padding:9px;border-radius:18px}.qr-demo-panel{padding:13px}.qr-feature{padding:20px}.qr-cta{border-radius:19px}.qr-brand-text{font-size:17px}}
