:root{
  --bg:#05060a;
  --panel:rgba(255,255,255,.06);
  --panel2:rgba(255,255,255,.10);
  --stroke:rgba(255,255,255,.14);
  --text:#f5f7ff;
  --muted:rgba(245,247,255,.72);
  --muted2:rgba(245,247,255,.52);
  --accent1:#7c3aed;
  --accent2:#06b6d4;
  --accent3:#f59e0b;
  --shadow:0 22px 70px rgba(0,0,0,.55);
  --r:22px;
  --r2:16px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
/*  background: radial-gradient(1200px 800px at 15% 10%, rgba(124,58,237,.22), transparent 55%),
              radial-gradient(1000px 700px at 85% 20%, rgba(6,182,212,.18), transparent 55%),
              radial-gradient(1000px 700px at 60% 95%, rgba(245,158,11,.10), transparent 55%),
              var(--bg); */
    background: #000;          
  color:var(--text);
  overflow-x:hidden;
}

a{color:inherit}
img{max-width:100%;display:block}

/* layout */
.wrap,
.container{
  width:min(1220px, calc(100% - 44px));
  margin:0 auto;
}

main{position:relative; z-index:1}

.noise{
  pointer-events:none;
  position:fixed;
  inset:-40px;
  opacity:.065;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  background-size:220px 220px;
  z-index:0;
}

.bg-orb{
  position:absolute;
  inset:auto;
  width:520px;
  height:520px;
  border-radius:999px;
  filter: blur(40px);
  opacity:.22;
  z-index:0;
}

/* topbar – untold-like (transparent -> solid on scroll) */
.topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:80;
  backdrop-filter: blur(18px);
  background: rgba(5,6,10,.18);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition: background .2s ease, box-shadow .2s ease;
}
.topbar.isSolid{
  background: rgba(5,6,10,.70);
  box-shadow: 0 16px 60px rgba(0,0,0,.45);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:16px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  max-width:150px;
}

.brandMark{
  border-radius:14px;
  overflow:hidden;
}

.brandMark img{width:100%;height:100%;object-fit:cover}
.brandFallback{width:100%;height:100%;background:linear-gradient(135deg, rgba(124,58,237,.7), rgba(6,182,212,.45));}

.navBurger{
  display:none;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  align-items:center;
  justify-content:center;
  gap:5px;
}
.navBurger span{display:block;width:18px;height:2px;background:rgba(255,255,255,.9);border-radius:2px}

.brandText{line-height:1.05}
.brandTitle{font-weight:900; letter-spacing:.2px}
.brandMeta{font-size:12px; color:var(--muted2); margin-top:2px}

.navlinks{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.navCtaMobile{display:none}

.navlinks a{
  text-decoration:none;
  font-weight:700;
  font-size:16px;
  padding:10px 12px;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.ml-payBadges{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:10px;
  flex-wrap:wrap;
  width:100%;
}

.ml-payLogo{
  height:32px;           /* toate la aceeași înălțime */
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.ml-payLogo img{
  height:100%;
  width:auto;
  display:block;
  object-fit:contain;
}

/* opțional: limite ca să nu sară unul prea mare */
.ml-payLogo[title="NETOPIA"] img{ max-width:170px; }
.ml-payLogo[title="Apple Pay"] img{ max-width:120px; }
.ml-payLogo[title="Google Pay"] img{ max-width:140px; height:65px; }

section.section.section-cart {
    margin-top: 100px;
}
.panel.ml-cartEvent {
    display: flex;
    align-items: center;
    width: 100%;
}
/* mobile nav */
@media (max-width: 920px){
  .navBurger{display:flex}
  .navCtas{display:none}
  .navlinks.isOpen{display:flex}
  .navlinks a{justify-content:center;text-align:center}
  .navCtaMobile{display:inline-flex}
}

/* hero */
.hero{
  min-height:100vh;
  padding-top:84px;
  position:relative;
  overflow:hidden;
}
.heroMediaFull{
  position:absolute;
  inset:0;
  z-index:0;
}
.heroMediaFull video,
.heroMediaFull img{
  width:100%;height:100%;object-fit:cover;
  transform: scale(1.03);
}

/* Hero video wrapper + controls */
.heroVideoWrap{position:absolute;inset:0}
.heroVideoWrap video{width:100%;height:100%;object-fit:cover;display:block;background:#000;}
.heroVolBtn,.heroPlayBtn{
  position:absolute;
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.38);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter: blur(8px);
  z-index:900;
}
.heroVolBtn{right:14px;bottom:14px}
.heroPlayBtn{left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;font-size:20px}
.heroVolBtn:active,.heroPlayBtn:active{transform:translate(-50%,-50%) scale(.98)}
.heroVolBtn:active{transform:scale(.98)}

.heroSlider{ position:absolute; inset:0; }
.heroSlide{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 800ms ease; }
.heroSlide.isActive{ opacity:1; }
.heroShade{
  position:absolute;
  inset:0;
  background: radial-gradient(1200px 800px at 20% 20%, rgba(124,58,237,.30), transparent 60%),
              radial-gradient(900px 600px at 80% 25%, rgba(6,182,212,.22), transparent 60%),
              linear-gradient(to bottom, rgba(5,6,10,.25), rgba(5,6,10,.90));
}
.heroInner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:22px;
  align-items:end;
  padding: 64px 0 42px;
}
.heroHeadline{
  font-size: clamp(44px, 6vw, 64px);
  line-height: .92;
  letter-spacing: -1px;

  margin: 10px 0 0;
  text-transform: uppercase;
  font-family: "Berkshire Swash", serif;
  font-weight: 500;
  font-style: normal;
}
.heroSub{
  max-width: 52ch;
  font-size: clamp(16px, 1.6vw, 19px);
  color: rgba(245,247,255,.82);
  margin-top: 14px;
}

.heroSide{align-self:stretch}
.heroPanel{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(5,6,10,.55);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.heroPanelTop{padding:18px 18px 0}
.heroPanelGrid{padding:16px 18px 18px; display:grid; gap:12px}
.miniCard{
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}
.miniTop{display:flex;align-items:center;justify-content:space-between;gap:10px}
.miniTitle{font-weight:950}
.miniText{margin-top:8px;color:rgba(245,247,255,.72);font-size:13px;line-height:1.35}
.heroBadges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.badgePill{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  font-weight:800;font-size:13px;color:rgba(245,247,255,.92);
}
.scrollHint{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(245,247,255,.72);font-size:12px;
}
.scrollDot{width:28px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.18);position:relative;overflow:hidden}
.scrollDot:after{content:"";position:absolute;left:50%;top:10px;transform:translateX(-50%);width:6px;height:6px;border-radius:999px;background:rgba(245,247,255,.85);animation:scrollDot 1.2s infinite ease-in-out}
@keyframes scrollDot{0%{opacity:.2;transform:translate(-50%,0)} 50%{opacity:1} 100%{opacity:.2;transform:translate(-50%,16px)}}

@media (max-width: 980px){
  .heroInner{grid-template-columns: 1fr; align-items:start; padding: 44px 0 34px}
  .heroHeadline {font-size: 37px !important;}
}

/* section rhythm */
.section{
  padding: 84px 0;
  position:relative;
}
.sectionAlt{
  background: linear-gradient(297deg, rgba(124, 58, 237, 0.95), rgb(0 0 0 / 90%));
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.grid2{display:grid;grid-template-columns: 1.05fr .95fr;gap:22px;align-items:start}
@media (max-width: 980px){.grid2{grid-template-columns:1fr}}

.lead{font-size:18px;line-height:1.5;color:rgba(245,247,255,.80);max-width:58ch;margin:12px 0 0}
.stack{display:grid;gap:12px}

.ctaBand{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px;
  border-radius: var(--r);
  border:1px solid rgba(255,255,255,.14);
  background: radial-gradient(900px 500px at 20% 30%, rgba(124,58,237,.22), transparent 60%),
              radial-gradient(700px 480px at 80% 40%, rgba(6,182,212,.18), transparent 60%),
              rgba(255,255,255,.04);
  box-shadow: 0 22px 70px rgba(0,0,0,.55);
}
@media (max-width: 860px){.ctaBand{flex-direction:column;align-items:flex-start}}

.cardGlow{position:relative}
.cardGlow:before{
  content:"";position:absolute;inset:-1px;border-radius:calc(var(--r) + 1px);
  background: linear-gradient(135deg, rgba(124,58,237,.35), rgba(6,182,212,.20), rgba(245,158,11,.16));
  opacity:.22;filter: blur(18px);
  z-index:0;
}
.cardGlow > *{position:relative;z-index:1}
/*.cardShade{position:absolute;inset:0;background:linear-gradient(to bottom, rgba(5,6,10,.10), rgba(5,6,10,.70));opacity:.9} */
.cardMetaTop{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}

/* reveal */
.reveal{opacity:0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease}
.reveal.isIn{opacity:1; transform:none;}
.form-contact {display:block !important;}
/* marquee */
.marquee{
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
  overflow:hidden;
}
.marqueeTrack{display:flex;gap:28px;white-space:nowrap; padding: 18px 0; animation: marquee 26s linear infinite}
.marqueeItem{font-weight:950; text-transform:uppercase; letter-spacing:.6px; opacity:.85}
@keyframes marquee{0%{transform:translateX(0)} 100%{transform:translateX(-50%)}}

.navlinks a:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.20);
}

.navCtas{
  display:flex;
  gap:10px;
  align-items:center;
}

.btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:var(--text);
  border-radius:999px;
  padding:12px 16px;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  gap:10px;
  align-items:center;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, filter .15s ease;
}

.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.22)}
.btn:active{transform: translateY(0px); filter:brightness(.95)}

.btnPrimary{
  background: linear-gradient(135deg, rgba(124,58,237,.95), rgba(6,182,212,.90));
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 50px rgba(124,58,237,.25);
}
.btnPrimary:hover{filter:brightness(1.06)}
.btnGhost{background: rgba(255,255,255,.04)}
.btnDanger{background: rgba(220,38,38,.18); border-color: rgba(220,38,38,.25)}

.iconDot{
  width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.85);opacity:.9;
  box-shadow:0 0 0 4px rgba(255,255,255,.12);
}

.hero{
  position:relative;
  padding:44px 0 26px;
  z-index:1;
}

.heroGrid{
  display:grid;
  grid-template-columns: 1.3fr .7fr;
  gap:18px;
  align-items:stretch;
}

.heroCard{
  border-radius: var(--r);
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
}

.heroMedia{
  position:relative;
  min-height: 470px;
}

.heroVideo, .heroImg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.heroOverlay{
  position:absolute;
  inset:0;
  background: radial-gradient(900px 520px at 15% 20%, rgba(124,58,237,.35), transparent 50%),
              radial-gradient(900px 520px at 85% 25%, rgba(6,182,212,.22), transparent 55%),
              linear-gradient(to bottom, rgba(5,6,10,.30), rgba(5,6,10,.75));
}

.heroBody{
  padding:26px 22px 22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:14px;
  position:relative;
  min-height: 470px;
}

.kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  width:fit-content;
  font-size:12px;
  color: var(--muted);
}

.h1{
  font-size: clamp(34px, 3.6vw, 54px);
  line-height:1.02;
  letter-spacing:-.6px;
  margin:0;
  padding:10px 0;
  font-weight:1000;
}

.sub{
  margin:0;
  color: var(--muted);
  font-size:14px;
  line-height:1.45;
  max-width: 52ch;
  padding-top:10px;
}

.metaRow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  color: var(--muted);
  font-weight:800;
  font-size:13px;
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:5px;
  border:1px solid rgba(255,255,255,.30);
  background: rgba(255,255,255,.04);
  font-size:12px;
  color: var(--muted);
}

.pillOk{ background:linear-gradient(135deg, rgb(36 139 50 / 95%), rgb(6 165 12 / 90%)); color:rgba(255,255,255,.92); }
.pillDanger{ background:rgba(220,38,38,.16); border-color:rgba(220,38,38,.28); color:rgba(255,255,255,.92); }
.pillMuted{ background:linear-gradient(135deg, rgb(241 13 13 / 95%), rgb(212 6 128 / 90%)); color:rgba(255,255,255,.72); }

.grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:14px;
}

.section{
  padding: 60px 0;
  position:relative;
  z-index:1;
}
svg.icon {
    width: 50px;
    height: 50px;
}
.sectionTitleRow{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:30px;
  margin-top:60px;
}
section.section.section-login {
    padding: 100px 0;
}
section.section.section-register {
    padding: 100px 0;
}
.post-login {width:100%;}
.login-buttons {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 12px;
    align-items:center;
}
.h2{
  margin:0;
  font-size:20px;
  letter-spacing:.2px;
}

.small{font-size:12px;color:var(--muted2)}
.muted{color:var(--muted)}
.card{
  grid-column: span 4;
  border-radius: var(--r2);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  overflow:hidden;
  box-shadow: 0 18px 55px rgba(0,0,0,.38);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.card-premiu {padding:15px;}
.card:hover{transform: translateY(-2px); background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.18)}

.cardMedia{
  height: 220px;
  background: rgba(255,255,255,.04);
}
.cardMedia img{width:100%;height:100%;object-fit:cover;display:block}

/* colaboratori (folosit și pe home) */
.cardMedia-colaborator{
  height:220px;
  position:relative;
  background: rgba(255,255,255,.04);
}
.cardMedia-colaborator img{width:100%;height:100%;object-fit:cover;display:block}
.cardShade{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.28) 55%, rgba(0,0,0,.55) 100%);
}

/* disabled buttons (ex: bilete sold-out) */
.btn.isDisabled,
.btn[disabled]{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
}
.cardBody{padding:14px 14px 16px}
.cardTitle{margin:0;font-weight:950;font-size:15px;letter-spacing:.2px}
.cardMeta{margin-top:6px;font-size:12px;color:var(--muted2);font-weight:800}
.cardText{margin-top:10px;font-size:13px;color:var(--muted);line-height:1.45}

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}

.panel{
  border-radius: var(--r);
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  padding:18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.panel.panel-site {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
}
.btn-checkin {margin-top:10px;}
.field{
  width:100%;
  padding:12px 14px;
  border-radius: 5px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: var(--text);
  outline:none;
}

/* Fix: textul din dropdown-uri trebuie să fie vizibil */
select.field{color:var(--text)}
select.field option{color:#111;background:#fff}
select.field optgroup{color:#111;background:#fff}
.field:focus{border-color: rgba(6,182,212,.45); box-shadow:0 0 0 4px rgba(6,182,212,.12)}
.label{font-size:12px;color:var(--muted2);margin-bottom:6px;font-weight:800}

/* Fix: dropdown text/options readable on all browsers */
select.field{color:var(--text)}
select.field option, select.field optgroup{color:#111;background:#fff}

.footer{
  padding:28px 0 40px;
  border-top:1px solid rgba(255,255,255,.28);
  margin-top:26px;
  color: var(--muted2);
}

.footerGrid{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

hr.sep{border:0;border-top:1px solid rgba(255,255,255,.10); margin:14px 0}

.videoGrid .card{grid-column: span 6}

.badgeRow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.badge{
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: var(--muted);
  font-weight:900;
  font-size:12px;
  min-width: 100px;
  text-align: center;
}

.notice{
  border-radius: var(--r2);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  padding:14px;
  color: var(--muted);
  margin:20px 0;
}
button.btn.btnGhost.ex-bt {
    display: flex;
    justify-content: center;
    align-items: center;
}
.ml-cartList {
    padding: 20px;
    border: 1px solid #393939;
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(124, 58, 237, .95), rgba(6, 182, 212, .90));
    margin: 20px 0;
    width:100%;
}
.ml-cartRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    flex-wrap:wrap;
}
.ml-cartTop {
    padding: 20px 0;
}
.ml-cartPriceLine {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap:wrap;
}
.ml-cartMoney {
    margin-right: 10px;
    font-weight: 700;
}

@media (max-width: 980px){
  .heroGrid{grid-template-columns:1fr}
  .heroBody, .heroMedia{min-height: 420px}
  .card{grid-column: span 6}
  .videoGrid .card{grid-column: span 12}
  .split{grid-template-columns:1fr}
  .tickets-description{flex-wrap:wrap;flex-direction:column-reverse !important;min-width:100%;}
  .grid {grid-template-columns: repeat(12, 1fr) !important;}
}

@media (max-width: 560px){
  .brand{min-width:unset}
  .navlinks{justify-content:flex-start}
  .card{grid-column: span 12}
  .grid {grid-template-columns: repeat(1, 1fr) !important;}
  .brandMark img{width:60%;}
  .navCtas .btnPrimary{display:none;}
  .heroHeadline{font-size:27px !important;}
  .heroSub{text-align:center;}
  .reveal.isIn{display:flex;flex-direction:column;align-items:center;}
  .heroBadges{justify-content: center;}
  .btPrimary-off{display:none !important;}
  .delog-btn{display:none !important;}
}

/* --- Page hero (pentru Despre/Contact/Check-in) --- */
.pageHero{ position:relative; overflow:hidden; padding:70px; }
.pageHeroMedia{ position:absolute; inset:0; }
.pageHeroMedia img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.1) contrast(1.02); }
.pageHeroFallback{ width:100%; height:100%; background:linear-gradient(135deg, rgba(124,58,237,.45), rgba(6,182,212,.22)); }
.pageHeroShade{ position:absolute; inset:0; background:radial-gradient(800px 360px at 30% 20%, rgba(0,0,0,.25), transparent), linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.75)); }
.pageHeroInner{ position:relative; padding:84px 0; }

/* Event page hero (banner style) */
.eventHero{ position:relative; overflow:hidden; margin:18px auto 0; }
.eventHeroMedia{ position:absolute; inset:0; }
.eventHeroMedia img{ width:100%; height:100%; object-fit:cover;object-position:center; display:block; filter:saturate(1.08) contrast(1.02); }
.eventHeroFallback{ width:100%; height:100%; background:linear-gradient(135deg, rgba(124,58,237,.45), rgba(6,182,212,.22)); }
.eventHeroShade{ position:absolute; inset:0; background:radial-gradient(900px 380px at 25% 10%, rgba(0,0,0,.20), transparent), linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.80)); }
.eventHeroInner{ position:relative; padding:60px 0; }
.eventHeroActions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:16px; }
.eventDTGrid{ display:grid; grid-template-columns: 1fr 1fr; gap:18px; align-items:start; margin-top:18px; }
.eventDTCol{ min-width:0; }
.eventDTCard{ border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); border-radius:18px; overflow:hidden; }
.eventDTHead{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.10); }
.eventDTBody{ padding:14px 16px; }
.eventDTToggle{ display:none; appearance:none; border:1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color:inherit; border-radius:999px; padding:10px 12px; font-weight:900; cursor:pointer; }
.eventDTToggle:hover{ background: rgba(255,255,255,.10); }

@media(max-width: 920px){
  .eventDTGrid{ grid-template-columns: 1fr; }
  .eventDTToggle{ display:inline-flex; }
  /* Mobile: detalii închise implicit (controlled via JS + class) */
  .eventDTBody.isCollapsed{ display:none; }
}

/* Promo popup (configurabil din Admin) */
.promoModal{ position:fixed; inset:0; z-index:9999; display:none; }
.promoModal.isOpen{ display:block; }
.promoBackdrop{ position:absolute; inset:0; background:rgba(0,0,0,.65); backdrop-filter: blur(4px); }
.promoCard{ position:relative; width:min(520px, calc(100% - 26px)); margin: 12vh auto; border-radius:22px; border:1px solid rgba(255,255,255,.14); background: rgba(10,11,18,.92); box-shadow: 0 30px 90px rgba(0,0,0,.65); padding:18px; }
.promoClose{ position:absolute; top:10px; right:10px; width:40px; height:40px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color:#fff; font-size:22px; line-height:1; cursor:pointer; }
.promoClose:hover{ background: rgba(255,255,255,.10); }
.promoTitle{ font-weight:1000; font-size:18px; margin:0 44px 10px 0; }
.promoBody{ opacity:.96; }
.promoBody a{ color: inherit; text-decoration: underline; }
.eventShare{ display:flex; gap:10px; flex-wrap:wrap; margin-left:auto; }

/* tighter sections (event page) */
.section.sectionTight .sectionTitleRow{ margin-top:22px; margin-bottom:18px; }
.section.sectionTight{ padding-top:90px; padding-bottom:70px; }

/* --- Tabs (Check-in) --- */
.tabs{ }
.tabBar{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.tabBtn{ cursor:pointer; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04); color:rgba(255,255,255,.88); padding:10px 12px; border-radius:999px; font-weight:800; font-size:13px; }
.tabBtn.isActive{ background:rgba(124,58,237,.22); border-color:rgba(124,58,237,.35); }
.tabPanel{ display:none; }
.tabPanel.isActive{ display:block; }

/* --- Footer --- */
.footerLinks{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:flex-end; }
.iconBtn{ width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04); color:rgba(255,255,255,.9); font-weight:900; }
.iconBtn:hover{ transform:translateY(-1px); }
.iconBtn .icon{ width:20px; height:20px; fill:currentColor; }
.footerContact .small{ opacity:.85; }

/* --- Status in cards --- */
.cardTopRow{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }

.tickets-description {
    display: flex;
    flex-direction: row-reverse;
    width: min(1220px, calc(100% - 44px));
    margin: 0 auto;
}
.grid.ticket-availability-wrapper {
    display: flex;
    flex-direction: column;
}

