/* The venue page (venue.js): a rail on «Афиша» and the place itself in a sheet - its days, prices and seats. */
.vn-rail { display:flex; gap:10px; overflow-x:auto; scrollbar-width:none; padding:2px 0 4px; }
.vn-rail::-webkit-scrollbar { display:none; }
.vn-card { flex:0 0 172px; display:block; text-align:left; padding:0 !important; border:0 !important; background:none !important; box-shadow:none !important; }
.vn-img { display:block; height:104px; border-radius:18px; background-size:cover; background-position:center; background-color:#1a150e; }
.vn-img.drawn { display:grid; place-items:center; background:linear-gradient(150deg, rgba(247,201,72,.35), rgba(26,21,14,.9)); color:#F7C948; }
.vn-img.drawn svg.i { width:30px; height:30px; }
.vn-tx { display:block; padding:8px 2px 0; }
.vn-tx b { display:block; font-size:14px; font-weight:700; line-height:1.25; max-height:2.5em; overflow:hidden; }
.vn-tx small { display:block; font-size:11.5px; color:var(--dim); margin-top:2px; }
.vn-tx em { display:block; font-style:normal; font-size:11.5px; font-weight:700; color:var(--gold); margin-top:3px; }

.vn-sheet { margin:-4px -2px 0; }
.vn-hero { position:relative; height:190px; border-radius:24px; overflow:hidden; background-size:cover; background-position:center; background-color:#1a150e; display:grid; place-items:center; }
.vn-hero.drawn { background:linear-gradient(150deg, rgba(247,201,72,.35), rgba(26,21,14,.95)); color:#F7C948; }
.vn-hero.drawn svg.i { width:46px; height:46px; }
.vn-sh { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.05) 40%, rgba(0,0,0,.85)); }
.vn-htx { position:absolute; left:16px; right:16px; bottom:12px; }
.vn-htx small { display:block; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); }
.vn-htx h1 { font-size:24px; font-weight:800; line-height:1.15; margin:3px 0 2px; }
.vn-htx span { display:block; font-size:13px; color:rgba(255,255,255,.78); }
.vn-acts { display:flex; gap:8px; margin:12px 0 4px; }
.vn-act { flex:1; display:flex; align-items:center; justify-content:center; gap:6px; height:42px; border-radius:14px; font-size:13.5px; font-weight:700;
  color:var(--ink); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); text-decoration:none; }
.vn-act svg.i { width:17px; height:17px; color:var(--gold); }
.vn-days { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; margin:12px 0 6px; }
.vn-days::-webkit-scrollbar { display:none; }
.vn-day { flex:0 0 auto; padding:8px 14px; border-radius:14px; font-size:13px; font-weight:700; color:var(--dim);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); }
.vn-day.on { background:linear-gradient(135deg, #fff, var(--gold)); color:#141007; border-color:transparent; }
.vn-list { margin-top:6px; }
.vn-row { display:flex; align-items:center; gap:10px; padding:11px 2px; border-bottom:1px solid rgba(255,255,255,.08); }
.vn-row:last-child { border-bottom:0; }
.vn-when { flex:0 0 54px; text-align:center; }
.vn-when b { display:block; font-size:15px; font-weight:800; font-variant-numeric:tabular-nums; }
.vn-when small { display:block; font-size:11px; color:var(--dim); }
.vn-main { flex:1; min-width:0; }
.vn-main b { display:block; font-size:14px; font-weight:700; line-height:1.3; }
.vn-main .vn-p { display:inline-block; margin-top:3px; }
.vn-main small { display:block; font-size:11.5px; color:var(--dim); margin-top:2px; }
.vn-left { color:var(--dim); }
.vn-left.few { color:#FFB86B; font-weight:700; }
.vn-p { font-size:13.5px; font-weight:800; color:var(--gold); white-space:nowrap; }
.vn-book { flex:0 0 auto; align-self:center; padding:9px 13px; border-radius:13px; font-size:12.5px; font-weight:800; color:#141007;
  background:linear-gradient(180deg, #F9D46E, #D9A93C); border:0; }
.vn-note { margin:14px 2px 6px; font-size:12px; color:var(--dim); text-align:center; }
.go-card .vn-chip { position:absolute; right:56px; bottom:12px; padding:5px 10px; border-radius:11px; font-size:11.5px; font-weight:800;
  color:#141007; background:linear-gradient(135deg, #fff, var(--gold)); border:0; }
.go-card { position:relative; }
