/* Stiluri pagina single-event — extrase din single-event.php ca fișier static
   (cache-uibil, în afara HTML-ului). Enqueue: iconcert_enqueue_single_event_assets(). */

/* ── Hero: scrim de contrast ───────────────────────────────────────────────
   Culoarea de fundal e extrasă automat din poster (iconcert_extract_poster_colors);
   pe afișe pastelate poate rămâne suficient de deschisă încât textul alb fix
   să devină ilizibil. Un gradient negru discret peste zona de conținut
   garantează contrastul indiferent de poster, fără să schimbe identitatea
   vizuală extrasă. Copilul direct primește z-index propriu (via .relative)
   ca să picteze deasupra scrim-ului — vezi ordinea de stacking CSS pentru
   elemente poziționate vs. non-poziționate din același context. */
.ev-hero { overflow: hidden; }
.ev-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.38));
  pointer-events: none;
}

/* ── Hero: poster ─────────────────────────────────────────────────────────── */
.ev-poster-wrap { width:220px; height:308px; }
@media (min-width:640px)  { .ev-poster-wrap { width:264px; height:370px; } }
@media (min-width:1024px) { .ev-poster-wrap { width:308px; height:431px; } }

/* Primul paragraf al articolului — bold */
.article-body-main > p:first-of-type,
.article-body-main > .wp-block-paragraph:first-of-type p,
.article-body-main > p:first-child { font-weight: 700 !important; }

/* ── Hero: rând pastile (categorii/genuri) — fade dreapta mereu, stânga după scroll ── */
#ev-tags-outer {
  mask-image: linear-gradient(to right, black 0%, black calc(100% - 32px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, black 0%, black calc(100% - 32px), transparent 100%);
}
#ev-tags-outer.has-left-fade {
  mask-image: linear-gradient(to right, transparent 0%, black 20px, black calc(100% - 32px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 20px, black calc(100% - 32px), transparent 100%);
}
#ev-tags-outer::-webkit-scrollbar { display: none; }

/* ── Nav taburi — același mecanism de fade ────────────────────────────────── */
#ev-tabs-nav {
  mask-image: linear-gradient(to right, black 0%, black calc(100% - 48px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, black 0%, black calc(100% - 48px), transparent 100%);
}
#ev-tabs-nav.has-left-fade {
  mask-image: linear-gradient(to right, transparent 0%, black 24px, black calc(100% - 48px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 24px, black calc(100% - 48px), transparent 100%);
}
#ev-tabs-nav::-webkit-scrollbar { display: none; }

/* Modal stage cols: max 2 coloane pe mobil */
@media (max-width: 639px) {
  .ica-sc { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Taburi sticky — top dinamic în funcție de vizibilitatea header-ului */
.ev-tabs-sticky-wrap {
  position: sticky;
  top: var(--ev-header-h, 64px);
  z-index: 30;
  transition: top 0.3s ease;
}

/* ── Floating bar mobil: intro spring, outro slide-down ───────────────────── */
@media (max-width: 639px) {
  #ev-floating-bar {
    transform: translateY(110%);
    opacity: 0;
    transition: transform 0.3s ease-in, opacity 0.2s ease-in;
    pointer-events: none;
  }
  #ev-floating-bar.fb-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
    transition: transform 0.45s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s ease-out;
  }
}

/* ── Hero: zona lineup + promoter ─────────────────────────────────────────── */
#hero-lineup-area { display:flex; flex-direction:column; gap:8px; }
#hero-lineup-area .hai-block { display:flex; align-items:baseline; gap:6px; }
#hero-lineup-area.multiline .hai-block { flex-direction:column; align-items:flex-start; gap:2px; }

/* ── Meniu 3 puncte (context) ─────────────────────────────────────────────── */
.ev-ctx-menu { background:#25292E; border:1px solid rgba(255,255,255,.12); border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,.5); overflow:hidden; min-width:224px; }
.ev-ctx-item { display:flex; align-items:center; gap:10px; padding:11px 16px; font-size:14px; color:rgba(255,255,255,.8); cursor:pointer; border:none; background:none; width:100%; text-align:left; text-decoration:none; transition:background .15s; }
.ev-ctx-item:hover { background:rgba(255,255,255,.09); color:#fff; }
.ev-ctx-item svg { flex-shrink:0; color:rgba(255,255,255,.45); }
.ev-ctx-sep { border-top:1px solid rgba(255,255,255,.07); }
.ev-ctx-sub .ev-ctx-item { padding-left:24px; color:rgba(255,255,255,.65); }
.ev-ctx-sub .ev-ctx-item:hover { background:rgba(255,255,255,.09); color:#fff; }
.ev-ctx-chevron { margin-left:auto; width:14px; height:14px; color:rgba(255,255,255,.35); transition:transform .2s; flex-shrink:0; }
.ev-ctx-chevron.open { transform:rotate(180deg); }
.ev-ctx-trigger { display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; color:rgba(255,255,255,.75); background:none; border:none; cursor:pointer; transition:background .15s, color .15s; }
.ev-ctx-trigger:hover { background:rgba(255,255,255,.1); color:#fff; }

/* ── Program: pastile de zile (radio tabs CSS-only) — partea statică ──────── */
/* Regulile dinamice (#uid-rK:checked ~ #uid-pK etc.) rămân inline, per instanță. */
.sch-daynav {
  display:flex; flex-wrap:nowrap; gap:6px; margin-bottom:1.25rem;
  overflow-x:auto; -ms-overflow-style:none; scrollbar-width:none;
  mask-image:linear-gradient(to right,black 0%,black calc(100% - 32px),transparent 100%);
  -webkit-mask-image:linear-gradient(to right,black 0%,black calc(100% - 32px),transparent 100%);
}
.sch-daynav.has-left-fade {
  mask-image:linear-gradient(to right,transparent 0%,black 20px,black calc(100% - 32px),transparent 100%);
  -webkit-mask-image:linear-gradient(to right,transparent 0%,black 20px,black calc(100% - 32px),transparent 100%);
}
.sch-daynav::-webkit-scrollbar { display:none; }
.sch-daynav label {
  cursor:pointer; padding:6px 14px; border-radius:8px; font-size:12px; font-weight:700;
  text-transform:uppercase; letter-spacing:.03em; background:rgba(148,163,184,.14); color:#787c82;
  transition:background .15s, color .15s; white-space:nowrap; flex-shrink:0;
}
.sch-daynav label:hover { background:rgba(240,131,26,.2); }
html.dark .sch-daynav label { color:#9ca3af; }
.sch-daypanel { display:none; }

/* ── Program: listă tip taguri (fără ore) ─────────────────────────────────── */
.sch-tags { column-count:1; }
.sch-tags .sch-tag { break-inside:avoid; display:block; padding:2px 0; }
@media (min-width:640px) { .sch-tags { column-count:2; column-gap:2rem; } }

/* ── Program turneu: tabel — coloana Locație devine sub-rând pe mobil ─────── */
@media (max-width:639px) { .tr-tbl-venue { display:none; } .tr-tbl-venue-sub { display:block; } }
@media (min-width:640px) { .tr-tbl-venue { display:table-cell; } .tr-tbl-venue-sub { display:none; } }
