/*
Theme Name: Chris Drifter Premium
Theme URI: https://chrisdrifter.live
Author: OpenAI for Chris Drifter
Description: A cinematic, responsive WordPress artist theme for Chris Drifter, SoulArt Recordings, releases, mixes, events and booking.
Version: 3.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: chrisdrifter-premium
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --cd-bg: #07070b;
  --cd-panel: rgba(18, 18, 28, .72);
  --cd-panel-solid: #11111a;
  --cd-text: #f6f7fb;
  --cd-muted: #acafbe;
  --cd-line: rgba(255,255,255,.12);
  --cd-violet: #8b5cf6;
  --cd-blue: #3b82f6;
  --cd-cyan: #38bdf8;
  --cd-radius: 22px;
  --cd-max: 1180px;
  --cd-shadow: 0 26px 80px rgba(0,0,0,.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cd-bg);
  color: var(--cd-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body.admin-bar .site-header { top: 32px; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, textarea { font: inherit; }
::selection { background: rgba(139,92,246,.55); color: #fff; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.cd-container { width: min(calc(100% - 40px), var(--cd-max)); margin-inline: auto; }
.cd-section { position: relative; padding: 110px 0; overflow: hidden; }
.cd-kicker { margin: 0 0 12px; color: #bda8ff; font-size: .76rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 800; }
.cd-section-title { margin: 0; font-size: clamp(2.2rem, 5vw, 4.8rem); line-height: .98; letter-spacing: -.055em; max-width: 850px; }
.cd-lead { color: var(--cd-muted); font-size: clamp(1rem, 1.7vw, 1.2rem); max-width: 720px; }
.cd-grid { display: grid; gap: 26px; }
.cd-card { border: 1px solid var(--cd-line); background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); border-radius: var(--cd-radius); box-shadow: var(--cd-shadow); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }

.site-header { position: fixed; z-index: 1000; inset: 0 0 auto; padding: 18px 0; transition: background .25s ease, padding .25s ease, border-color .25s ease; border-bottom: 1px solid transparent; }
.site-header.is-scrolled { padding: 10px 0; background: rgba(7,7,11,.84); border-color: var(--cd-line); backdrop-filter: blur(18px); }
.cd-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cd-brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cd-brand-mark { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:linear-gradient(135deg,rgba(139,92,246,.35),rgba(59,130,246,.12)); font-size:.8rem; }
.custom-logo { max-height: 48px; width: auto; }
.cd-menu { display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; font-size:.84rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.cd-menu a { color:#e9eaf0; transition:color .2s ease; }
.cd-menu a:hover { color:#bda8ff; }
.cd-menu-toggle { display:none; width:46px; height:46px; border:1px solid var(--cd-line); border-radius:50%; background:rgba(255,255,255,.04); color:#fff; cursor:pointer; }

.cd-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; gap:10px; border-radius:999px; border:1px solid var(--cd-line); background:rgba(255,255,255,.055); color:#fff; text-transform:uppercase; letter-spacing:.09em; font-size:.78rem; font-weight:850; transition:transform .2s ease, border-color .2s ease, background .2s ease; cursor:pointer; }
.cd-button:hover { transform:translateY(-2px); border-color:rgba(189,168,255,.7); }
.cd-button--primary { border:0; background:linear-gradient(110deg,var(--cd-violet),var(--cd-blue)); box-shadow:0 16px 42px rgba(91,76,255,.28); }
.cd-button--ghost { background:transparent; }

.cd-hero { min-height: 100svh; display:grid; align-items:end; padding:145px 0 78px; isolation:isolate; }
.cd-hero::before { content:""; position:absolute; inset:0; z-index:-3; background:url('assets/images/chris-drifter-hero.jpg') center 28% / cover no-repeat; filter:saturate(.88) contrast(1.04); }
.cd-hero::after { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(7,7,11,.97) 0%,rgba(7,7,11,.82) 39%,rgba(7,7,11,.22) 68%,rgba(7,7,11,.08) 100%),linear-gradient(0deg,#07070b 0%,rgba(7,7,11,.2) 48%,rgba(7,7,11,.32) 100%); }
.cd-hero-glow { position:absolute; z-index:-1; width:50vw; height:50vw; max-width:700px; max-height:700px; border-radius:50%; right:-15%; bottom:-18%; background:radial-gradient(circle,rgba(87,75,255,.28),transparent 65%); filter:blur(18px); animation:cdGlowPulse 8s ease-in-out infinite alternate; }
.cd-hero-aurora { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; mix-blend-mode:screen; opacity:.78; }
.cd-hero-aurora span { position:absolute; display:block; border-radius:50%; filter:blur(72px); will-change:transform,opacity; }
.cd-hero-aurora span:nth-child(1) { width:42vw; height:42vw; min-width:360px; min-height:360px; right:-12vw; top:6%; background:radial-gradient(circle,rgba(74,95,255,.38) 0%,rgba(74,95,255,.12) 42%,transparent 72%); animation:cdAuroraOne 15s ease-in-out infinite alternate; }
.cd-hero-aurora span:nth-child(2) { width:36vw; height:36vw; min-width:320px; min-height:320px; left:20%; bottom:-18%; background:radial-gradient(circle,rgba(155,78,255,.34) 0%,rgba(155,78,255,.1) 44%,transparent 72%); animation:cdAuroraTwo 18s ease-in-out infinite alternate; }
.cd-hero-aurora span:nth-child(3) { width:28vw; height:28vw; min-width:260px; min-height:260px; right:22%; bottom:4%; background:radial-gradient(circle,rgba(39,196,255,.22) 0%,rgba(39,196,255,.06) 46%,transparent 72%); animation:cdAuroraThree 13s ease-in-out infinite alternate; }
@keyframes cdGlowPulse { from { transform:scale(.92); opacity:.62; } to { transform:scale(1.12); opacity:1; } }
@keyframes cdAuroraOne { 0% { transform:translate3d(0,0,0) scale(.92); opacity:.48; } 50% { transform:translate3d(-8vw,8vh,0) scale(1.08); opacity:.78; } 100% { transform:translate3d(-3vw,17vh,0) scale(.98); opacity:.6; } }
@keyframes cdAuroraTwo { 0% { transform:translate3d(0,0,0) scale(.9); opacity:.38; } 50% { transform:translate3d(10vw,-9vh,0) scale(1.12); opacity:.72; } 100% { transform:translate3d(18vw,-3vh,0) scale(1); opacity:.52; } }
@keyframes cdAuroraThree { 0% { transform:translate3d(0,0,0) scale(.88); opacity:.28; } 100% { transform:translate3d(-12vw,-12vh,0) scale(1.18); opacity:.62; } }
.cd-hero-content { max-width: 850px; }
.cd-hero-eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:20px; color:#d4c8ff; font-size:.78rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.cd-hero-eyebrow::before { content:""; width:44px; height:1px; background:#a78bfa; }
.cd-hero h1 { margin:0; font-size:clamp(4rem,11vw,9.5rem); line-height:.78; letter-spacing:-.075em; text-transform:uppercase; text-shadow:0 20px 80px rgba(0,0,0,.45); }
.cd-hero h1 span { display:block; background:linear-gradient(90deg,#fff 10%,#b9b8ca 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cd-hero-copy { max-width:650px; margin:28px 0 34px; color:#d0d1dc; font-size:clamp(1rem,2vw,1.2rem); }
.cd-actions { display:flex; flex-wrap:wrap; gap:12px; }
.cd-scroll { position:absolute; right:36px; bottom:36px; writing-mode:vertical-rl; text-transform:uppercase; letter-spacing:.16em; color:#aaaaba; font-size:.67rem; }

.cd-about-layout { grid-template-columns: .9fr 1.1fr; align-items:center; }
.cd-about-image { min-height:570px; overflow:hidden; position:relative; }
.cd-about-image img { width:100%; height:100%; min-height:570px; object-fit:cover; object-position:center 22%; display:block; }
.cd-about-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,7,11,.55),transparent 55%); }
.cd-about-copy { padding: 20px 0 20px 40px; }
.cd-stats { grid-template-columns:repeat(3,1fr); margin-top:34px; }
.cd-stat { padding:20px; border-top:1px solid var(--cd-line); }
.cd-stat strong { display:block; font-size:1.65rem; line-height:1.2; }
.cd-stat span { color:var(--cd-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }

.cd-release-feature { grid-template-columns:1fr 1fr; overflow:hidden; margin-top:45px; }
.cd-release-art { min-height:520px; position:relative; background:radial-gradient(circle at 30% 30%,rgba(56,189,248,.22),transparent 35%),radial-gradient(circle at 70% 65%,rgba(139,92,246,.4),transparent 42%),#0d0d17; }
.cd-release-art::before,.cd-release-art::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.18); inset:16%; }
.cd-release-art::after { inset:29%; box-shadow:0 0 80px rgba(139,92,246,.3); }
.cd-release-monogram { position:absolute; inset:0; display:grid; place-items:center; font-size:clamp(5rem,12vw,10rem); font-weight:950; letter-spacing:-.12em; opacity:.88; }
.cd-release-content { padding:clamp(32px,7vw,78px); display:flex; flex-direction:column; justify-content:center; }
.cd-release-content h3 { margin:4px 0 14px; font-size:clamp(2rem,4vw,4.2rem); line-height:1; letter-spacing:-.05em; }
.cd-meta { color:#bda8ff; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }

.cd-platforms { grid-template-columns:repeat(3,1fr); margin-top:26px; }
.cd-platform { padding:26px; min-height:170px; display:flex; flex-direction:column; justify-content:space-between; }
.cd-platform h4 { margin:0; font-size:1.2rem; }
.cd-platform p { color:var(--cd-muted); margin:8px 0 22px; }
.cd-arrow { font-size:1.4rem; }

.cd-mix-wrap { grid-template-columns: .8fr 1.2fr; align-items:stretch; margin-top:44px; }
.cd-mix-info { padding:42px; background:linear-gradient(150deg,rgba(139,92,246,.19),rgba(59,130,246,.04)); }
.cd-mix-info h3 { font-size:clamp(2.2rem,5vw,4.6rem); line-height:.95; letter-spacing:-.05em; margin:0 0 20px; }
.cd-embed { min-height:360px; overflow:hidden; padding:12px; display:grid; place-items:center; }
.cd-embed iframe { width:100%; border:0; border-radius:14px; }
.cd-embed-placeholder { text-align:center; color:var(--cd-muted); padding:35px; }

.cd-events { grid-template-columns:repeat(3,1fr); margin-top:42px; }
.cd-event { padding:28px; }
.cd-event-date { color:#bda8ff; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:800; }
.cd-event h3 { margin:12px 0 8px; font-size:1.45rem; }
.cd-event p { margin:0; color:var(--cd-muted); }

.cd-booking { background:radial-gradient(circle at 80% 30%,rgba(59,130,246,.15),transparent 35%),radial-gradient(circle at 15% 85%,rgba(139,92,246,.15),transparent 35%); }
.cd-booking-layout { grid-template-columns:.85fr 1.15fr; gap:50px; align-items:start; }
.cd-booking-card { padding:34px; }
.cd-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cd-field { margin-bottom:18px; }
.cd-field label { display:block; margin-bottom:7px; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:#d8d9e2; font-weight:750; }
.cd-field input,.cd-field textarea { width:100%; color:#fff; border:1px solid var(--cd-line); background:rgba(0,0,0,.22); border-radius:13px; padding:14px 15px; outline:none; }
.cd-field input:focus,.cd-field textarea:focus { border-color:#8b5cf6; box-shadow:0 0 0 3px rgba(139,92,246,.13); }
.cd-field textarea { min-height:150px; resize:vertical; }
.cd-form-status { padding:13px 15px; border-radius:12px; margin-bottom:18px; }
.cd-form-status--success { background:rgba(34,197,94,.13); border:1px solid rgba(34,197,94,.3); }
.cd-form-status--error { background:rgba(239,68,68,.13); border:1px solid rgba(239,68,68,.3); }
.cd-contact-list { display:grid; gap:12px; margin-top:28px; color:#d9dae3; }

.site-footer { padding:38px 0; border-top:1px solid var(--cd-line); color:#9c9daa; font-size:.86rem; }
.cd-footer-inner { display:flex; justify-content:space-between; align-items:center; gap:22px; }
.cd-socials { display:flex; flex-wrap:wrap; gap:16px; }
.cd-socials a:hover { color:#c4b5fd; }

.entry-shell { width:min(calc(100% - 40px),900px); margin:150px auto 90px; }
.entry-shell h1 { font-size:clamp(2.5rem,6vw,5.5rem); line-height:1; letter-spacing:-.05em; }
.entry-content { color:#d5d6df; }
.entry-content a { color:#bda8ff; text-decoration:underline; }

.cd-reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.cd-reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 900px) {
  body.admin-bar .site-header { top:46px; }
  .cd-menu-toggle { display:grid; place-items:center; }
  .cd-menu-wrap { position:absolute; top:calc(100% + 8px); left:20px; right:20px; display:none; padding:20px; border:1px solid var(--cd-line); background:rgba(10,10,16,.96); border-radius:18px; backdrop-filter:blur(18px); }
  .cd-menu-wrap.is-open { display:block; }
  .cd-menu { flex-direction:column; align-items:flex-start; gap:16px; }
  .cd-about-layout,.cd-release-feature,.cd-mix-wrap,.cd-booking-layout { grid-template-columns:1fr; }
  .cd-about-copy { padding:22px 0 0; }
  .cd-platforms,.cd-events { grid-template-columns:1fr; }
  .cd-hero::after { background:linear-gradient(90deg,rgba(7,7,11,.92),rgba(7,7,11,.38)),linear-gradient(0deg,#07070b 0%,transparent 60%); }
  .cd-scroll { display:none; }
}
@media (max-width: 620px) {
  .cd-container { width:min(calc(100% - 26px),var(--cd-max)); }
  .cd-section { padding:82px 0; }
  .cd-hero { padding:130px 0 58px; min-height:760px; }
  .cd-hero h1 { font-size:clamp(3.75rem,20vw,6rem); }
  .cd-actions .cd-button { width:100%; }
  .cd-stats { grid-template-columns:1fr; }
  .cd-form-row { grid-template-columns:1fr; gap:0; }
  .cd-footer-inner { flex-direction:column; align-items:flex-start; }
  .cd-about-image,.cd-about-image img { min-height:430px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .cd-reveal { opacity:1; transform:none; }
}
