/*
Theme Name: DJ Dezerk
Author: DJ Dezerk
Description: Custom wedding DJ and music storefront starter theme.
Version: 0.8.0
Text Domain: djdezerk
*/

:root{--bg:#090909;--panel:#171717;--gold:#e5bc65;--red:#c51b27;--white:#f6f3ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.55 system-ui,-apple-system,Arial,sans-serif}a{color:inherit;text-decoration:none}header{position:sticky;top:0;z-index:5;background:#090909ed;border-bottom:1px solid #6c512c}nav{max-width:1200px;margin:auto;padding:13px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.brand{font-weight:900;letter-spacing:2px;color:var(--gold);font-size:23px}.links{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.links a:hover{color:var(--gold)}.btn{display:inline-block;background:var(--red);padding:12px 22px;font-weight:800;border:0;color:white;cursor:pointer;border-radius:3px}.btn.alt{background:transparent;border:1px solid var(--gold);color:var(--gold)}.hero{min-height:570px;background:radial-gradient(circle at 75% 40%,#59131a 0%,transparent 38%),linear-gradient(110deg,#080808,#211911 65%,#090909);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;padding:65px max(25px,calc((100vw - 1150px)/2))}.hero img{width:100%;filter:drop-shadow(0 0 18px #8c1a1a55)}.eyebrow{text-transform:uppercase;color:var(--gold);letter-spacing:3px;font-size:13px}h1{font-size:clamp(46px,6vw,88px);line-height:1.02;margin:16px 0}h2{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:8px 0 18px}h3{margin:0 0 8px}p{color:#d5d1c9}.hero p{font-size:18px;max-width:540px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}section{padding:75px 24px}.wrap{max-width:1150px;margin:auto}.intro{max-width:760px;margin-bottom:28px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--panel);border:1px solid #34302b;border-radius:6px;padding:26px}.card strong{color:var(--gold)}.card .btn{margin-top:12px}.stripe{background:#14100e}.red{color:#f26c72}.tag{display:inline-block;color:var(--gold);border:1px solid #765b2d;padding:5px 9px;font-size:12px;letter-spacing:1px;margin-bottom:15px}.note{font-size:13px;color:#bcb4a6}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px}.form{display:grid;gap:12px}.form input,.form select,.form textarea{width:100%;padding:13px;border:1px solid #645849;background:#111;color:white;border-radius:3px;font:inherit}.form textarea{min-height:110px}footer{padding:30px 24px;border-top:1px solid #51402a;color:#a9a49a;text-align:center}@media(max-width:800px){.hero,.split{grid-template-columns:1fr}.hero{padding:50px 24px}.grid{grid-template-columns:1fr}.links{gap:11px}}
 .topactions{display:flex;align-items:center;gap:8px}.product .price{font-size:24px;font-weight:800;color:var(--gold)}.product .muted{font-size:13px;color:#b6afa3}.cartpanel{position:fixed;right:18px;top:80px;width:min(370px,calc(100vw - 36px));background:#191715;border:1px solid var(--gold);z-index:12;padding:22px;box-shadow:0 15px 50px #000b;display:none}.cartpanel.open{display:block}.cartrow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #554636}.cartrow button{background:none;color:#f3a2a2;border:0;cursor:pointer}.carttotal{display:flex;justify-content:space-between;font-size:20px;padding:18px 0}.demo{background:#3a2713;color:#f8dba1;padding:11px 20px;text-align:center;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.topactions{width:100%;justify-content:flex-end}} 
.portrait-row{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:42px;align-items:center}.portrait-row img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;border:2px solid var(--gold);border-radius:8px;box-shadow:14px 14px 0 #402d1c}.trust{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.trust span{padding:9px 13px;border:1px solid #75603d;border-radius:30px;color:var(--gold);font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps .card{border-top:3px solid var(--gold)}.faq details{border-bottom:1px solid #504332;padding:16px 0}.faq summary{cursor:pointer;font-weight:700}.faq details p{margin-bottom:0}.highlight{color:var(--gold)}.cartpanel{max-height:75vh;overflow:auto}.gallery-note{font-size:13px;color:#d9c69f}.status{padding:12px 16px;background:#261b13;border-left:3px solid var(--gold);margin-top:18px}@media(max-width:800px){.portrait-row{grid-template-columns:1fr}.portrait-row img{height:auto;max-height:none;max-width:340px}.steps{grid-template-columns:1fr}}
.package ul{padding-left:20px;color:#ddd;min-height:170px}.package li{margin:8px 0}.package.featured{border-color:var(--gold);box-shadow:0 0 0 1px #e5bc6555}.package .price{font-size:30px;font-weight:900;color:var(--gold)}.addons{margin-top:28px;padding:24px;border:1px solid #584526;background:#12100c}.addon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;color:#e7dbca}.form label{display:grid;gap:5px;color:#e9d9b7;font-size:14px}.form label.check{display:flex;align-items:flex-start;gap:10px;color:#ddd}.form label.check input{width:auto;margin-top:5px}@media(max-width:800px){.addon-grid{grid-template-columns:1fr}.package ul{min-height:0}}
.wp-block-image img{max-width:100%;height:auto}.woocommerce a.button,.woocommerce button.button{background:#c51b27;color:white}.site-content{min-height:65vh}

/* v0.2 navigation and inquiry form */
.links{align-items:center}.links .menu-item{list-style:none}.links a{white-space:nowrap}.site-content .form{max-width:740px}.site-content .form input,.site-content .form select,.site-content .form textarea{max-width:100%}

/* Version 7: international touring feature */
.tour-feature{background:linear-gradient(135deg,#17110d,#090909);border-top:1px solid #634820;border-bottom:1px solid #634820}.tour-layout{display:grid;grid-template-columns:minmax(250px,430px) 1fr;gap:42px;align-items:start}.tour-poster{margin:0}.tour-poster img{width:100%;height:auto;display:block;border:2px solid var(--gold);border-radius:6px}.tour-poster figcaption{color:#c8b9a1;font-size:13px;margin-top:10px}.tour-layout h3{color:var(--gold);margin:0 0 12px}.tour-layout p{line-height:1.85;margin-bottom:24px}@media(max-width:800px){.tour-layout{grid-template-columns:1fr}.tour-poster{max-width:520px}}

/* Version 8: compact, accessible mobile navigation and responsive layout */
.menu-toggle{display:none;background:transparent;border:1px solid #806437;border-radius:4px;color:var(--gold);padding:9px 12px;font:700 14px/1.2 inherit;cursor:pointer;align-items:center;gap:8px}
.menu-toggle:focus-visible,.links a:focus-visible,.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:800px){
 header nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 18px;align-items:center}
 .brand{font-size:20px;letter-spacing:1.4px}
 .menu-toggle{display:inline-flex;justify-self:end;font-family:inherit}
 .links{display:none;grid-column:1/-1;flex-direction:column;align-items:stretch;gap:0;padding:8px 0;border-top:1px solid #544029}
 .links.is-open{display:flex}
 .links a{display:block;padding:12px 8px;white-space:normal;font-size:15px;min-height:44px}
 .links .menu-item{width:100%;margin:0;padding:0}
 .nav-book{grid-column:1/-1;justify-self:start;padding:10px 16px;font-size:13px}
 .hero{min-height:0;padding:42px 20px;gap:22px}
 .hero h1{font-size:clamp(40px,11vw,60px);overflow-wrap:break-word}
 .hero img{width:min(100%,350px);height:auto;justify-self:center}
 .hero p{font-size:16px}
 section{padding:52px 20px}
 .card{padding:22px}
 .grid,.steps,.split,.portrait-row,.tour-layout{min-width:0}
 .package .btn{max-width:100%;white-space:normal;text-align:center}
 .form input,.form select,.form textarea{font-size:16px}
}
@media(max-width:390px){.hero h1{font-size:39px}.actions .btn{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Version 9 — scheduled radio show cards */
.dz-radio-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}
.dz-radio-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.dz-radio-card p{margin:0}
.dz-radio-status{font-weight:800;letter-spacing:.06em;color:#aaa}
.dz-radio-status.is-live{color:#ff5151}
.dz-radio-next{font-weight:600}
.dz-radio-small{font-size:.84rem;opacity:.75;margin-top:auto!important}
.dz-radio-link[hidden]{display:none!important}
@media(max-width:800px){.dz-radio-grid{grid-template-columns:1fr}.dz-radio-card{padding:22px}}
