/* STELARS MUSIC V8: menú refinado y agenda visible desde el primer pantallazo. */

/* MENÚ: misma lista centrada; sin fotografías, marcos, números ni símbolos de hover. */
.menu-layer {
  background:
    radial-gradient(ellipse at 50% 35%, rgba(216,255,66,.045), transparent 43%),
    linear-gradient(160deg, rgba(13,17,13,.95) 0%, rgba(5,7,6,.96) 54%, rgba(15,18,14,.95) 100%);
  -webkit-backdrop-filter: blur(27px) saturate(90%);
  backdrop-filter: blur(27px) saturate(90%);
}
.menu-shell::before {
  content:"";
  pointer-events:none;
  position:absolute;
  left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(65vw,540px);height:min(73vh,570px);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(216,255,66,.027),transparent 68%);
  filter:blur(30px);
  z-index:0;
}
.menu-center { width:min(440px,calc(100% - 50px)); position:relative; z-index:5; overflow-y:auto; }
.menu-line {
  border:0;
  border-radius:0;
  position:relative;
  text-align:center;
  transform:none !important;
  padding:9px 16px;
  transition:color .25s ease;
}
.menu-line strong {
  font-weight:540;
  letter-spacing:-.045em;
  transition:color .24s ease,letter-spacing .3s ease;
}
.menu-line:hover strong, .menu-line:focus-visible strong {
  color:var(--off);
  letter-spacing:-.025em;
}
.menu-line.current strong {color:var(--off);}
.menu-line::after {
  content:"";
  position:absolute;left:50%;bottom:3px;
  width:0;height:1px;opacity:0;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(216,255,66,.70),transparent);
  transition:width .32s ease,opacity .32s ease;
}
.menu-line:hover::after, .menu-line:focus-visible::after {
  width:42%;opacity:1;
}
.menu-line.current::after {width:27%;opacity:.45;}
.menu-line::before,
.menu-line:hover::before,
.menu-line.current::before {content:none !important;display:none !important;}
.menu-bottom { border-top:1px solid rgba(255,255,255,.055); }
.menu-kicker::before { width:5px;height:5px;box-shadow:0 0 10px rgba(216,255,66,.3); }

/* AGENDA: inmediatamente después del header, sin antiguo hero de media pantalla. */
.concerts-cover {
  position:relative;
  padding:calc(var(--header-h) + 38px) 0 35px;
  background:linear-gradient(115deg,rgba(216,255,66,.035),transparent 40%),#10130f;
  border-bottom:1px solid var(--line);
}
.concerts-cover-inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(235px,355px);
  align-items:center;
  gap:25px;
}
.concerts-cover-heading h1 {
  font-size:clamp(2.6rem,5vw,4.5rem);
  font-weight:660;letter-spacing:-.065em;line-height:1.04;
  margin-bottom:12px;
}
.concerts-cover-heading .overline {font-size:.7rem; margin-bottom:15px;}
.concerts-cover-heading > p:last-child {font-size:clamp(.92rem,1.15vw,1.05rem);}
.concerts-next {
  display:grid;
  grid-template-columns:auto;
  gap:4px;
  border-left:1px solid rgba(216,255,66,.28);
  padding-left:24px;
  align-items:start;
}
.concerts-mini-label {
  font-size:.64rem;font-weight:700;letter-spacing:.2em;color:var(--acid);
  margin-bottom:7px;
}
.concerts-next time {font-size:.88rem;letter-spacing:.08em;color:var(--off);}
.concerts-next strong {font-size:clamp(1.3rem,2vw,1.8rem);font-weight:630;letter-spacing:-.025em;}
.concerts-next > span:last-child {font-size:.83rem;color:var(--muted);}
.concerts-v8-list {padding-top:25px !important;}
.concerts-v8-summary {
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:0 0 13px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:.67rem;font-weight:700;letter-spacing:.15em;
}
.concerts-v8-summary span:last-child {color:var(--acid);}
.concerts-v8-list .concert-year {padding-top:22px;}
.concerts-v8-list .concert-year-heading {margin-bottom:17px;padding-bottom:13px;}
.concerts-v8-list .concert-year-heading h2 {font-size:clamp(2rem,4vw,3.3rem);}
.concerts-v8-list .concert-month-heading {font-size:clamp(1.15rem,2vw,1.4rem);margin-bottom:12px;}
.concerts-v8-list .concert-card-v7 {min-height:110px;}

@media (max-width:700px) {
  .concerts-cover {padding:calc(var(--header-h) + 16px) 0 21px;}
  .concerts-cover-inner {grid-template-columns:1fr;gap:19px;}
  .concerts-cover-heading h1 {font-size:clamp(2.45rem,9vw,3.1rem);margin-bottom:8px;}
  .concerts-next {gap:3px;padding-left:14px;}
  .concerts-next strong {font-size:1.23rem;}
  .concerts-mini-label {margin-bottom:3px;}
  .concerts-v8-summary {font-size:.58rem;letter-spacing:.08em;}
  .concerts-v8-list {padding-top:16px !important;}
  .concerts-v8-list .concert-year {padding-top:16px;}
  .concerts-v8-list .concert-year-heading {margin-bottom:14px;}
  .menu-line {padding:7px 9px;}
  .menu-line strong {font-size:clamp(1.14rem,5.45vw,1.62rem);}
}
@media (prefers-reduced-motion:reduce) {
 .menu-line::after{transition:none;}
}
