/*
Theme Name: Jack Diamond Live
Theme URI: https://www.djjackdiamond.co.uk/
Author: Jack Diamond Website Concept
Description: Dark electric-blue DJ/producer website with editable music, shows, photos and bookings.
Version: 2.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: jack-diamond-live
*/
:root{--bg:#05080c;--panel:#0d141b;--line:#22303a;--blue:#13bff7;--text:#f5f8fa;--muted:#9baab5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(1240px,92%);margin:auto}.header{position:sticky;top:0;z-index:20;background:#05080cf2;border-bottom:1px solid #26333c}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand img{width:235px;max-height:72px;object-fit:contain;background:transparent;border-radius:0;padding:0}.links{display:flex;align-items:center;gap:26px}.links a{font-size:12px;letter-spacing:2px;font-weight:800}.links a:hover,.social a:hover{color:var(--blue)}.social{display:flex;gap:13px;font-size:13px}.hero{min-height:590px;position:relative;display:flex;align-items:center;overflow:hidden;background:#07121a}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#02060cf2 0%,#02060cbb 43%,#02060c40 100%),linear-gradient(0deg,#02060c 0%,transparent 30%),var(--hero) center 38%/cover no-repeat}.hero:after{content:"";position:absolute;width:500px;height:500px;right:-160px;top:-150px;border-radius:50%;background:#04b7ff22;filter:blur(85px)}.hero .container{position:relative;z-index:1}.eyebrow{letter-spacing:6px;text-transform:uppercase;font-size:12px;font-weight:700;color:var(--blue)}h1{font-size:clamp(56px,8vw,116px);line-height:.95;letter-spacing:-5px;margin:20px 0;text-transform:uppercase;max-width:840px}h2{font-size:clamp(28px,4vw,48px);letter-spacing:-1px;line-height:1.1;text-transform:uppercase;margin:0 0 25px}.hero p{font-size:16px;letter-spacing:3px;color:#d4e2ec}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;padding:15px 24px;background:var(--blue);color:#00131c;font-size:12px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;border:1px solid var(--blue);transition:.2s}.btn:hover{background:white;border-color:white}.btn.outline{color:white;background:transparent;border-color:#c3d3df}.btn.outline:hover{color:#00131c;background:white}.section{padding:76px 0;border-top:1px solid #1e2a33}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:26px}.section-head h2{margin:0}.muted{color:var(--muted)}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--panel);border:1px solid var(--line);padding:26px;min-height:165px}.card h3{font-size:20px;margin:5px 0 12px}.card p{color:var(--muted);margin:8px 0}.accent{color:var(--blue)}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.about-img{width:100%;max-height:510px;object-fit:cover;object-position:center 25%;filter:contrast(1.04)}.genres{font-size:clamp(35px,5vw,66px);font-weight:900;line-height:1.15;text-transform:uppercase;letter-spacing:-2px}.genres span:nth-child(even){color:var(--blue)}.empty{padding:24px;border:1px dashed #3b4b55;color:var(--muted)}.footer{border-top:1px solid #24323d;padding:35px 0;color:var(--muted);font-size:13px}.footer .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-content{padding:65px 0;min-height:45vh}.page-content a{color:var(--blue)}.skip{position:absolute;left:-999px}.skip:focus{left:15px;top:15px;z-index:50;background:white;color:black;padding:10px}@media(max-width:820px){.nav{flex-wrap:wrap;padding:12px 0}.links{order:3;width:100%;overflow-x:auto;gap:18px;padding-bottom:6px}.links a{white-space:nowrap}.social{display:none}.hero{min-height:510px}.hero:before{background:linear-gradient(90deg,#02060ce8,#02060c70),linear-gradient(0deg,#02060c,transparent 45%),var(--hero) 57% center/cover no-repeat}h1{letter-spacing:-2px}.three,.split{grid-template-columns:1fr}.section{padding:54px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V1.1: Real supplied logo and photo-free atmospheric homepage hero */
.hero{min-height:640px;background:#02070c;isolation:isolate}
.hero:before{background:radial-gradient(ellipse at 77% 36%,#06a9ed45 0%,transparent 38%),radial-gradient(ellipse at 48% 88%,#114e8e35 0%,transparent 50%),linear-gradient(115deg,transparent 42%,#14c8ff28 42.12%,transparent 42.55%),linear-gradient(69deg,transparent 70%,#13aefb21 70.15%,transparent 70.5%),linear-gradient(103deg,transparent 81%,#0dbbff24 81.13%,transparent 81.4%),linear-gradient(180deg,#010408 0%,#06131e 75%,#010407 100%);opacity:1}
.hero:after{right:3%;top:12%;width:360px;height:360px;background:#08b8ff22;filter:blur(95px);pointer-events:none}
.hero-logo-heading{margin:25px 0 12px;line-height:1;letter-spacing:normal;max-width:850px}
.hero-logo{display:block;width:min(820px,100%);height:auto;max-height:none;filter:drop-shadow(0 0 24px #0bbafc33)}
.hero .container{padding-top:45px;padding-bottom:45px}
@media(max-width:820px){.hero{min-height:490px}.hero:before{background:radial-gradient(ellipse at 85% 40%,#09aff044,transparent 58%),linear-gradient(110deg,transparent 60%,#14c8ff22 60.2%,transparent 60.8%),linear-gradient(180deg,#010408,#071521 80%,#010408)}.hero-logo{width:100%}.brand img{width:190px}}

/* V1.2 hardstyle concert atmosphere; no artist photos or branding baked into backdrop */
.hero{background:#01060c}
.hero:before{background:linear-gradient(90deg,rgba(1,5,11,.98) 0%,rgba(1,5,11,.87) 38%,rgba(1,5,11,.35) 100%),linear-gradient(0deg,#01050b 0%,transparent 32%),url('assets/hardstyle-crowd.jpg') center center / cover no-repeat;opacity:1}
.hero:after{background:#03aefa18}
@media(max-width:820px){.hero:before{background:linear-gradient(90deg,rgba(1,5,11,.92),rgba(1,5,11,.62)),linear-gradient(0deg,#01050b,transparent 55%),url('assets/hardstyle-crowd.jpg') center center / cover no-repeat}}

/* V1.3 original photography and transparent original branding */
.header{background:#03070bed}
.brand img{width:220px;max-height:65px;object-fit:contain}
.hero{min-height:690px;background:#06101a}
.hero:before{background:linear-gradient(90deg,rgba(2,7,13,.94) 0%,rgba(2,7,13,.76) 36%,rgba(2,7,13,.12) 78%),linear-gradient(0deg,#05080c 0%,transparent 30%),url('assets/hero-live.jpg') 62% 43%/cover no-repeat;opacity:1}
.hero:after{background:#08b8ff18}
.hero .container{padding-top:90px;padding-bottom:90px}
.hero-logo-heading{max-width:780px}
.hero-logo{width:min(760px,95%);filter:drop-shadow(0 6px 18px #0009)}
.about-img{max-height:610px;object-fit:cover;object-position:center 35%;filter:none}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gallery-grid img{width:100%;height:380px;object-fit:cover;object-position:center;display:block}
@media(max-width:820px){.hero{min-height:570px}.hero:before{background:linear-gradient(90deg,#02070de8 0%,#02070d88 100%),linear-gradient(0deg,#05080c,transparent 40%),url('assets/hero-live.jpg') 55% center/cover no-repeat}.hero .container{padding-top:55px;padding-bottom:55px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:300px}}

/* Bandsintown live show list: blend into Jack Diamond theme */
.jd-bandsintown{width:100%;min-height:90px}
.jd-bandsintown .bit-widget{font-family:Arial,Helvetica,sans-serif!important}
.jd-bandsintown .bit-widget .bit-event{border-color:#22303a!important}
.jd-bandsintown .bit-widget .bit-button{border-color:#13bff7!important}

/* Optional Bandsintown API listings: names, venues, dates and ticket buttons */
.jd-bit-events{border-top:1px solid var(--line)}
.jd-bit-event{display:grid;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:22px;padding:23px 8px;border-bottom:1px solid var(--line)}
.jd-bit-date{font-weight:800;letter-spacing:1px;color:var(--blue);font-size:13px;text-transform:uppercase}
.jd-bit-details h3{font-size:21px;line-height:1.2;margin:0 0 7px;text-transform:uppercase}
.jd-bit-venue{font-weight:700;color:var(--text)}.jd-bit-city{color:var(--muted);font-size:14px}
@media(max-width:700px){.jd-bit-event{grid-template-columns:1fr;gap:9px;padding:22px 0}.jd-bit-event .btn{justify-self:start}}

/* V1.6: Play SoundCloud embeds directly on the Latest Music cards */
.jd-mix-card{min-width:0;overflow:hidden}.jd-mix-player{margin-top:16px}.jd-mix-player iframe{display:block;width:100%!important;max-width:100%;border:0;border-radius:4px}.jd-mix-player .wp-block-embed{margin:0}.jd-mix-player .wp-block-embed__wrapper{width:100%}.jd-mix-player p{margin:0 0 12px}.jd-mix-player .wp-block-embed figcaption{color:var(--muted);font-size:12px}.jd-mix-player .wp-block-embed iframe{min-height:166px}

/* v1.7: compact horizontal SoundCloud player on homepage */
.jd-mix-player iframe[src*="soundcloud.com/player"]{height:166px!important;min-height:166px!important;width:100%!important;}
.jd-mix-player .wp-block-embed{margin:0;}

/* Biography page */
.jd-biography{padding-top:110px}.jd-biography h1{font-size:clamp(42px,6vw,84px);margin:10px 0 40px}.jd-bio-intro{margin-bottom:50px}.jd-bio-chapter{max-width:850px;padding:24px 0;border-top:1px solid #22303a}.jd-bio-chapter p{font-size:18px;line-height:1.85}.jd-bio-chapter a{color:#13bff7}.jd-biography .about-img{max-height:480px;object-fit:cover}

/* V2.0: dedicated contact and bookings cards */
.jd-contact-lead{max-width:650px;margin:0 0 32px}.jd-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.jd-contact-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:30px 26px;background:linear-gradient(155deg,#101b25,#0b1118 70%);border:1px solid var(--line);border-top:2px solid var(--blue)}.jd-contact-card h3{font-size:23px;line-height:1.2;margin:14px 0}.jd-contact-card p{color:var(--muted);margin:0 0 24px;min-height:72px}.jd-contact-email{font-size:14px;color:#c9eafa;overflow-wrap:anywhere;margin-bottom:24px}.jd-contact-email:hover{color:var(--blue)}.jd-contact-card .btn{margin-top:auto;max-width:100%;text-align:center;font-size:11px;padding:14px 17px}.jd-contact-card:focus-within{border-color:var(--blue)}@media(max-width:1000px){.jd-contact-grid{grid-template-columns:1fr}.jd-contact-card p{min-height:0}.jd-contact-card{padding:25px}}

/* v2.1 contact page and refined cards */
.jd-contact-page{padding-top:115px;min-height:70vh}.jd-contact-page h1{font-size:clamp(38px,5vw,72px);line-height:1.08;margin:14px 0 24px}.jd-contact-page .jd-contact-lead{margin-bottom:38px;line-height:1.7}.jd-contact-more{margin-top:34px}.jd-contact-card{gap:0;border-radius:3px;box-shadow:0 16px 36px #0003;transition:border-color .2s ease,transform .2s ease}.jd-contact-card:hover{border-color:#13bff7;transform:translateY(-2px)}.jd-contact-card .jd-contact-email{display:block;margin-top:auto;margin-bottom:20px}.jd-contact-card .btn{margin-top:0;display:inline-flex;justify-content:center;align-items:center;min-height:48px}.jd-contact-section .jd-contact-grid{margin-top:30px}@media(max-width:700px){.jd-contact-page{padding-top:65px}.jd-contact-card{padding:24px 20px}.jd-contact-card .btn{width:100%;white-space:normal}.jd-contact-more .btn{white-space:normal;text-align:center}}
