*{box-sizing:border-box}
:root{--red:#e63946;--org:#ff9f1c;--line:rgba(255,255,255,.14);--panel:rgba(10,10,20,.66);--mut:rgba(255,255,255,.68)}
html,body{margin:0;min-height:100%;background:#050509;color:#fff;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
a{text-decoration:none;color:inherit}
.bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:radial-gradient(circle at top,#1b1536 0,#070713 48%,#020208 100%)}
.bg i{position:absolute;inset:-10%;filter:blur(20px);opacity:.78}
.bg i:nth-child(1){background:radial-gradient(circle at 20% 80%,rgba(230,57,70,.25),transparent 45%)}
.bg i:nth-child(2){background:radial-gradient(circle at 75% 30%,rgba(255,159,28,.2),transparent 50%)}
.bg i:nth-child(3){background:radial-gradient(circle at 55% 55%,rgba(120,90,255,.16),transparent 55%)}

.shop-header{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(18px,4vw,46px);background:rgba(5,5,12,.76);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(18px)}
.shop-logo img{height:58px;width:auto;display:block}
.shop-header nav{display:flex;gap:16px;text-transform:uppercase;font-size:.78rem;letter-spacing:.16em;color:var(--mut)}

.wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:42px 18px 80px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:18px}
.card{border:1px solid var(--line);background:var(--panel);border-radius:28px;padding:22px;box-shadow:0 24px 60px rgba(0,0,0,.55);backdrop-filter:blur(18px)}
.k{color:var(--org);letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;font-weight:900}
h1{font-size:clamp(2.4rem,7vw,5rem);line-height:.95;margin:10px 0;letter-spacing:.12em;text-transform:uppercase}
h2,h3{letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}
p{color:var(--mut);line-height:1.6}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.event-card{overflow:hidden;padding:0}
.event-img{height:220px;background:linear-gradient(135deg,rgba(230,57,70,.35),rgba(255,159,28,.24));display:grid;place-items:center;color:rgba(255,255,255,.5);font-weight:900;letter-spacing:.2em}
.event-body{padding:18px}
.btn,button{border:0;border-radius:999px;padding:12px 16px;background:linear-gradient(130deg,var(--red),var(--org));color:#050509;font-weight:1000;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;display:inline-flex;justify-content:center}
.btn.outline{background:rgba(0,0,0,.25);color:#fff;border:1px solid var(--line)}
.ticket-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:12px;background:rgba(0,0,0,.22)}
input,select{border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.35);color:#fff;padding:12px;font:inherit;width:100%}
label{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;color:var(--mut);display:block;margin:0 0 6px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.notice{border:1px solid rgba(255,159,28,.35);background:rgba(255,159,28,.08);padding:14px;border-radius:18px;color:rgba(255,255,255,.82)}
.shop-footer{position:relative;z-index:1;max-width:1180px;margin:0 auto 30px;padding:24px 18px;color:var(--mut);display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.shop-footer strong{display:block;color:#fff;letter-spacing:.18em}
.shop-footer nav{display:flex;gap:16px}
@media(max-width:900px){.hero,.grid,.form-grid{grid-template-columns:1fr}.ticket-row{grid-template-columns:1fr}.shop-header{align-items:flex-start;flex-direction:column}.shop-footer{justify-content:center;text-align:center}}
