/* Event pages (/events/…): the main site's fonts, colours and cut-corner frames, no scripts beyond Metrika. */
@font-face { font-family: 'Tektur'; src: url(/fonts/tektur-latin.woff2) format('woff2'); font-weight: 400 900; font-display: swap; unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2190-2193; }
@font-face { font-family: 'Tektur'; src: url(/fonts/tektur-cyrillic.woff2) format('woff2'); font-weight: 400 900; font-display: swap; unicode-range: U+0400-045F, U+0490-0491, U+2116; }
@font-face { font-family: 'Rajdhani NC'; src: url(/fonts/cp-rajdhani-500.woff2) format('woff2'); font-weight: 300 500; font-display: swap; }
@font-face { font-family: 'Rajdhani NC'; src: url(/fonts/cp-rajdhani-600.woff2) format('woff2'); font-weight: 600 800; font-display: swap; }
:root { --void: #07060b; --ink: #e8f3f5; --dim: #8e9fab; --red: #ff6159; --cyan: #5ef6ff; --yellow: #fcee0a; --line: rgba(142, 159, 171, 0.22); --fd: 'Tektur', 'NC Intl', 'Rajdhani NC', 'Arial Narrow', sans-serif; --fb: 'Rajdhani NC', 'NC Intl', 'Arial Narrow', sans-serif; color-scheme: dark; }
* { box-sizing: border-box; }
html { background: var(--void); }
body.ev { margin: 0; color: var(--ink); font: 500 1.08rem/1.55 var(--fb); background: radial-gradient(1200px 600px at 80% -10%, rgba(255, 97, 89, 0.12), transparent 60%), radial-gradient(900px 500px at -10% 20%, rgba(94, 246, 255, 0.07), transparent 60%), var(--void); min-height: 100vh; }
a { color: var(--cyan); text-decoration: none; }
a:hover { color: var(--yellow); }
:focus-visible { outline: 2px solid var(--yellow); outline-offset: 3px; }
img { display: block; max-width: 100%; height: auto; }
.ev-top { position: sticky; top: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 10px clamp(16px, 4vw, 48px); background: rgba(7, 6, 11, 0.9); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(255, 97, 89, 0.35); }
.ev-brand { display: flex; align-items: center; gap: 10px; color: var(--ink); font: 700 1rem/1 var(--fd); letter-spacing: 0.04em; text-transform: uppercase; }
.ev-brand small { display: block; font-size: 0.62rem; letter-spacing: 0.3em; color: var(--red); margin-top: 3px; }
.ev-langs { display: flex; gap: 2px; }
.ev-langs a { padding: 6px 8px; font: 600 0.78rem/1 var(--fd); color: var(--dim); box-shadow: inset 0 0 0 1px var(--line); }
.ev-langs a[aria-current] { color: #000; background: var(--yellow); box-shadow: none; }
.ev-main { max-width: 1180px; margin: 0 auto; padding: 18px clamp(16px, 4vw, 48px) 40px; }
.ev-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; font: 600 0.78rem/1.3 var(--fd); letter-spacing: 0.08em; text-transform: uppercase; color: var(--dim); }
.ev-crumbs li + li::before { content: '›'; margin-right: 6px; color: var(--red); }
.ev-card { display: grid; gap: 22px; padding: 18px; background: rgba(13, 11, 20, 0.85); box-shadow: inset 0 0 0 1px rgba(252, 238, 10, 0.25); clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px)); }
@media (min-width: 860px) { .ev-card { grid-template-columns: minmax(0, 380px) minmax(0, 1fr); align-items: start; } }
.ev-poster img { width: 100%; max-height: 560px; object-fit: contain; background: #000; }
.ev-noposter { display: grid; place-items: center; min-height: 220px; font: 700 1.4rem/1 var(--fd); color: var(--dim); text-transform: uppercase; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0 10px, transparent 10px 20px); }
.ev-kind { margin: 0; font: 600 0.8rem/1.2 var(--fd); letter-spacing: 0.16em; text-transform: uppercase; color: var(--yellow); }
.ev-info h1, .ev-h1 { margin: 8px 0 14px; font: 800 clamp(1.9rem, 5vw, 3rem)/1.02 var(--fd); letter-spacing: 0.01em; color: var(--ink); text-wrap: balance; }
.ev-meta { display: grid; gap: 0; margin: 0 0 14px; }
.ev-meta div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--line); }
.ev-meta dt { font: 600 0.74rem/1.5 var(--fd); letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim); }
.ev-meta dd { margin: 0; font: 600 1rem/1.4 var(--fd); }
.ev-body { margin: 0 0 16px; max-width: 62ch; }
.ev-links, .ev-cta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.ev-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; font: 700 0.84rem/1 var(--fd); letter-spacing: 0.1em; text-transform: uppercase; color: var(--cyan); box-shadow: inset 0 0 0 1px rgba(94, 246, 255, 0.4); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%); }
.ev-btn:hover { background: rgba(94, 246, 255, 0.08); color: var(--cyan); }
.ev-btn-y { color: #000; background: var(--yellow); box-shadow: none; }
.ev-btn-y:hover { color: #000; background: #fff36b; }
.ev-sec { margin-top: 30px; }
.ev-sec h2 { display: flex; align-items: baseline; gap: 10px; margin: 0 0 12px; padding: 8px 12px; font: 700 0.95rem/1 var(--fd); letter-spacing: 0.16em; text-transform: uppercase; color: #120a0d; background: var(--red); clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 100%, 0 100%); }
.ev-sec h2 small { font-size: 0.8rem; opacity: 0.7; }
.ev-tracks { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.ev-tracks a { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 12px; padding: 6px; color: var(--ink); font: 700 0.95rem/1.25 var(--fd); background: rgba(14, 14, 23, 0.7); box-shadow: inset 0 0 0 1px rgba(94, 246, 255, 0.12); }
.ev-tracks a:hover { box-shadow: inset 0 0 0 1px var(--yellow); color: var(--yellow); }
.ev-tracks img { width: 56px; height: 56px; object-fit: cover; }
.ev-shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(30%, 170px), 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.ev-shots a { display: block; aspect-ratio: 1; overflow: hidden; background: #0b0a10; }
.ev-shots img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.ev-shots a:hover img { transform: scale(1.05); }
.ev-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 30px; }
.ev-pn a { display: grid; gap: 4px; padding: 12px 14px; color: var(--ink); font: 700 1rem/1.25 var(--fd); box-shadow: inset 0 0 0 1px var(--line); }
.ev-pn a small { font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim); }
.ev-pn-r { text-align: right; }
.ev-all { margin-top: 18px; text-align: center; }
.ev-lead { max-width: 70ch; margin: 0 0 14px; color: var(--dim); }
.ev-jump { display: flex; flex-wrap: wrap; gap: 8px; }
.ev-jump a { padding: 8px 12px; font: 700 0.84rem/1 var(--fd); letter-spacing: 0.1em; text-transform: uppercase; box-shadow: inset 0 0 0 1px rgba(94, 246, 255, 0.35); }
.ev-active { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.ev-active li { display: grid; gap: 2px; padding: 10px 12px; background: rgba(252, 238, 10, 0.06); box-shadow: inset 2px 0 0 var(--yellow); }
.ev-active b { font: 700 1rem/1.2 var(--fd); } .ev-active span { font-size: 0.9rem; color: var(--dim); }
.ev-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 200px), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.ev-grid a { display: grid; grid-template-rows: auto 1fr; height: 100%; color: var(--ink); background: rgba(13, 11, 20, 0.85); box-shadow: inset 0 0 0 1px var(--line); }
.ev-grid a:hover { box-shadow: inset 0 0 0 1px var(--yellow); }
.ev-grid img, .ev-grid .ev-noposter { width: 100%; aspect-ratio: 4 / 5; min-height: 0; object-fit: cover; }
.ev-g-t { display: grid; gap: 3px; padding: 8px 10px 10px; }
.ev-g-t b { font: 700 0.98rem/1.2 var(--fd); } .ev-g-t small { font-size: 0.82rem; color: var(--dim); }
.ev-foot { display: grid; gap: 12px; max-width: 1180px; margin: 0 auto; padding: 24px clamp(16px, 4vw, 48px) 40px; border-top: 1px solid var(--line); color: var(--dim); }
.ev-foot p { margin: 0; }
.ev-small { font-size: 0.85rem; color: var(--dim); }
.ev-lb { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 16px; background: rgba(5, 4, 8, 0.95); cursor: zoom-out; }
.ev-lb img { max-width: 100%; max-height: 100%; width: auto; box-shadow: 0 0 0 1px rgba(94, 246, 255, 0.3); }
