/* WOWPRO — shared styles (v3, minimal pop-label standard: pure black + gold) */
:root{
  --bg: #000000;
  --bg-alt: #0c0c0c;
  --bg-alt2: #131313;
  --fg: #f5f5f2;
  --muted: #9a9a95;
  --accent: #d4af37;        /* true gold */
  --accent-bright: #f2d374; /* hover / highlight gold */
  --live: #c1442c;          /* urgency accent — upcoming badge only */
  --line: rgba(255,255,255,0.09);
  --maxw: 1160px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
  letter-spacing:0.03em;
  font-weight:400;
  line-height:0.98;
  margin:0 0 0.3em;
}
h1{font-size:clamp(2.6rem,7vw,4.6rem);}
h2{font-size:clamp(1.9rem,4vw,2.8rem);}
h3{font-size:1.3rem; letter-spacing:0.02em;}
p{color:var(--muted); margin:0 0 1em;}
a{color:inherit;}
img{max-width:100%; display:block;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* scroll-reveal */
.reveal{opacity:0; transform:translateY(24px); transition:opacity 0.6s ease, transform 0.6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
}

/* header */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(0,0,0,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
header.site .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:14px; padding-bottom:14px;
}
.logo{display:flex; align-items:center; text-decoration:none; color:var(--fg);}
.logo img{height:32px; width:auto; display:block;}

nav.main{display:flex; align-items:center; gap:26px;}
nav.main a{
  text-decoration:none; color:var(--fg); font-size:0.88rem;
  letter-spacing:0.04em; text-transform:uppercase;
  opacity:0.8; position:relative; padding-bottom:2px;
}
nav.main a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:var(--accent); transition:right 0.2s ease;
}
nav.main a:hover{opacity:1; color:var(--accent);}
nav.main a:hover::after{right:0;}
.lang-toggle{
  display:flex; border:1px solid var(--line); border-radius:20px; overflow:hidden;
}
.lang-toggle a{
  background:none; border:none; color:var(--muted); text-decoration:none;
  font-size:0.78rem; letter-spacing:0.05em; padding:6px 14px; cursor:pointer;
  font-family:inherit; transition:background 0.15s, color 0.15s; display:inline-block;
}
.lang-toggle a.active{background:var(--accent); color:#000; font-weight:700; pointer-events:none;}
.lang-toggle a:not(.active):hover{color:var(--fg);}

/* mobile nav — hamburger collapses the 4 text links; LT/EN stays visible always */
.nav-right{display:flex; align-items:center; gap:26px;}
.nav-toggle{
  display:none; background:none; border:none; cursor:pointer; padding:0;
  width:28px; height:20px; flex-direction:column; justify-content:space-between; flex-shrink:0;
}
.nav-toggle span{display:block; width:100%; height:2px; background:var(--fg); transition:transform 0.25s ease, opacity 0.25s ease;}
.nav-toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){opacity:0;}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}
.nav-backdrop{
  display:none; position:fixed; inset:0; background:rgba(0,0,0,0.55); z-index:48;
  opacity:0; pointer-events:none; transition:opacity 0.25s ease;
}
.nav-backdrop.is-open{opacity:1; pointer-events:auto;}

@media (max-width:760px){
  .nav-right{gap:14px;}
  .nav-toggle{display:flex;}
  .nav-backdrop{display:block;}
  nav.main{
    position:fixed; top:0; right:-100%; height:100%; width:78%; max-width:300px;
    background:#0c0c0c; flex-direction:column; align-items:flex-start;
    padding:96px 28px 28px; gap:24px; transition:right 0.3s ease; z-index:49;
    border-left:1px solid var(--line); overflow-y:auto;
  }
  nav.main.is-open{right:0;}
  nav.main a{font-size:1.05rem;}
  body.nav-open{overflow:hidden;}
}

/* hero — minimal: logo mark on pure black, nothing else fighting for attention */
.hero{
  position:relative; min-height:0; display:flex; align-items:center; justify-content:center;
  text-align:center; background:#000;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 480px 260px at center, rgba(212,175,55,0.08) 0%, transparent 70%);
}
.hero .wrap{position:relative; padding:44px 24px 36px;}

.hero-mark{max-width:280px; margin:0 auto 16px;}
.hero-mark img{width:100%; height:auto; filter:drop-shadow(0 0 26px rgba(212,175,55,0.22));}

.eyebrow{
  display:flex; align-items:center; justify-content:center; gap:10px;
  color:var(--accent); text-transform:uppercase; letter-spacing:0.2em;
  font-size:0.76rem; margin-bottom:0; font-weight:600;
}
.eyebrow::before, .eyebrow::after{content:""; width:26px; height:1px; background:var(--accent); opacity:0.55;}

/* dedicated "events in numbers" section */
.numbers-head{text-align:center; max-width:560px; margin:0 auto 44px;}
.numbers-head h2{margin-bottom:6px;}

/* stats bar */
.stats{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:0;
}
.stat{
  padding:8px 20px; text-align:center;
  border-left:1px solid var(--line);
}
.stat:first-child{border-left:none;}
.stat b{
  display:block; font-family:'Bebas Neue',Impact,sans-serif;
  font-size:2.8rem; color:var(--accent); line-height:1;
}
.stat span{font-size:0.8rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.05em;}
@media (max-width:640px){
  .stat{border-left:none; border-top:1px solid var(--line); padding:20px 8px;}
}

/* sections */
section{padding:80px 0; position:relative;}
section.alt{background:var(--bg-alt);}
.section-head{max-width:640px; margin-bottom:40px;}
.section-head p{margin:0;}
.section-head .eyebrow{justify-content:flex-start;}
.section-head .eyebrow::before{display:none;}

/* management — compact text row, deliberately no portrait (events lead, not artists) */
.mgmt-row{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  border:1px solid var(--line); border-left:3px solid var(--accent);
  padding:24px 28px; color:var(--fg);
  background:var(--bg-alt2); transition:border-color 0.2s, background 0.2s;
}
.mgmt-row:hover{border-color:var(--accent-bright); background:#181818;}
.mgmt-row .tag{color:var(--accent); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em; display:block; margin-bottom:4px;}
.mgmt-row h3{margin:0;}
.mgmt-actions{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}

/* roster / artist cards (legacy — kept for compatibility) */
.roster-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px;}
.artist-card{
  position:relative; border:1px solid var(--line); border-radius:4px; overflow:hidden;
  text-decoration:none; display:block; background:#111;
  aspect-ratio:3/4; background-size:cover; background-position:center top;
}
.artist-card .card-fade{position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.92) 100%);}
.artist-card .card-body{position:absolute; left:0; right:0; bottom:0; padding:22px;}
.artist-card h3{margin:0 0 4px;}
.artist-card .tag{color:var(--accent); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em;}

/* events — poster wall: true squares, image is the whole design, no overlay text */
.poster-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px;
}
.poster{
  position:relative; aspect-ratio:1/1; border:1px solid var(--line);
  background:var(--bg-alt) center/cover no-repeat; overflow:hidden; border-radius:2px;
  transition:transform 0.3s ease, border-color 0.3s ease;
  display:block;
}
.poster:hover{transform:translateY(-3px); border-color:var(--accent);}

.poster .poster-top{
  position:absolute; top:10px; right:10px; z-index:2;
}
.poster .poster-cta{
  position:absolute; inset:0; z-index:1; display:flex; align-items:flex-end; justify-content:center;
  padding-bottom:16px; opacity:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.75) 100%);
  transition:opacity 0.25s ease;
}
.poster:hover .poster-cta, .poster:focus-visible .poster-cta{opacity:1;}

.btn{
  display:inline-block; background:var(--accent); color:#000; text-decoration:none;
  padding:11px 22px; border-radius:2px; font-weight:700; font-size:0.82rem;
  letter-spacing:0.05em; text-transform:uppercase; transition:background 0.2s, transform 0.2s;
}
.btn:hover{background:var(--accent-bright); transform:translateY(-2px);}
.btn.ghost{background:none; border:1px solid var(--fg); color:var(--fg);}
.btn.ghost:hover{border-color:var(--accent); color:var(--accent); background:none;}
.btn.small{padding:7px 14px; font-size:0.72rem;}

/* events — legacy text rows (kept for reference / detail pages) */
.event-list{display:flex; flex-direction:column; border-top:1px solid var(--line);}
.event-row{
  display:grid; grid-template-columns:120px 1fr auto; gap:20px; align-items:center;
  padding:20px 0; border-bottom:1px solid var(--line);
}
.event-row .date b{display:block; font-family:'Bebas Neue',Impact,sans-serif; font-size:1.5rem;}
.event-row .date span{color:var(--muted); font-size:0.78rem; text-transform:uppercase;}
.event-row .meta h4{margin:0 0 2px; font-size:1.05rem; font-weight:600;}
.event-row .meta p{margin:0; font-size:0.9rem;}

.badge{
  font-size:0.68rem; text-transform:uppercase; letter-spacing:0.06em;
  padding:5px 11px; border-radius:20px; border:1px solid var(--line); color:var(--muted);
  white-space:nowrap; background:rgba(0,0,0,0.7); backdrop-filter:blur(4px);
}
.badge.upcoming{
  color:#fff; background:var(--live); border-color:var(--live); font-weight:700;
}

/* bio */
.bio-text{max-width:720px;}
.bio-text h3{margin-top:1.6em; color:var(--fg);}
.bio-text p{color:#c9c9c4;}

.bio-more{max-width:720px; margin-top:6px;}
.bio-more summary{
  cursor:pointer; color:var(--accent); font-size:0.85rem; text-transform:uppercase;
  letter-spacing:0.05em; font-weight:600; list-style:none;
}
.bio-more summary::-webkit-details-marker{display:none;}
.bio-more summary::after{content:" +"; }
.bio-more[open] summary::after{content:" –";}
.bio-more .bio-text{margin-top:18px;}

/* contact / booking */
.booking{
  border:1px solid var(--line); border-radius:6px; padding:40px;
  display:grid; grid-template-columns:1.3fr 1fr; gap:32px;
  background:var(--bg-alt2);
}
.booking dl{margin:0; display:grid; grid-template-columns:auto 1fr; gap:8px 16px; font-size:0.95rem;}
.booking dt{color:var(--muted);}
.booking dd{margin:0;}

.social-row{display:flex; gap:14px; margin-top:8px;}
.social-row a{
  width:38px; height:38px; border:1px solid var(--line); border-radius:50%;
  display:flex; align-items:center; justify-content:center; text-decoration:none;
  font-size:0.75rem; color:var(--muted); transition:border-color 0.2s, color 0.2s;
}
.social-row a:hover{border-color:var(--accent); color:var(--accent);}
.mgmt-actions .social-row{margin-top:0;}

/* footer */
footer.site{
  position:relative; border-top:1px solid var(--line); padding:48px 0 28px;
  background:var(--bg-alt);
}
footer.site .wrap{position:relative; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}
footer.site p{margin:0; font-size:0.82rem; color:var(--muted);}

.note{
  font-size:0.8rem; color:var(--muted); border-left:2px solid var(--accent);
  padding:10px 16px; background:rgba(212,175,55,0.06); margin:0 0 28px;
}

@media (max-width:640px){
  .booking{grid-template-columns:1fr;}
  .event-row{grid-template-columns:1fr; gap:6px;}
}
