/* =========================================================
   Привилегии: VIP + DELUX, выбор срока, карточки магазина
   ========================================================= */
:root {
  --dx-a: #4fd6f5;
  --dx-b: #a855ff;
  --dx-c: #ff5dc8;
  --dx-grad: linear-gradient(135deg, var(--dx-a) 0%, var(--dx-b) 55%, var(--dx-c) 100%);
}

.tier-grad { background: var(--dx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; font-weight: 900; }

/* ---------- Заголовок страницы ---------- */
.tiers-title { display: flex; align-items: baseline; gap: .25em; flex-wrap: wrap; }
.tiers-title i { font-style: normal; color: var(--muted); font-weight: 600; font-size: .6em; }
.tiers-title span { background: var(--dx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; filter: drop-shadow(0 0 22px rgba(168, 85, 255, .45)); }

/* ---------- Выбор срока ---------- */
.tier-periods { display: grid; grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)); gap: 8px; margin: 14px 0 4px; }
.tier-period {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 10px 8px 9px; border-radius: 12px; cursor: pointer; font-family: inherit; color: var(--text);
  background: rgba(255, 255, 255, .03); border: 1px solid var(--line-2);
  transition: transform .18s, border-color .18s, background .18s, box-shadow .18s;
}
.tier-period b { font-size: 13px; font-weight: 800; letter-spacing: .01em; }
.tier-period span { font-size: 12px; color: var(--muted); font-weight: 700; }
.tier-period em { position: absolute; top: -8px; right: 8px; font-style: normal; font-size: 10px; font-weight: 900; padding: 1px 7px; border-radius: 99px; background: var(--green); color: #052414; }
.tier-period:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, .35); }
.tier-period:focus-visible { outline: 2px solid var(--lilac); outline-offset: 2px; }
.tier-period.active { color: #fff; background: rgba(168, 85, 255, .16); border-color: var(--violet-2); box-shadow: 0 0 0 1px var(--violet-2) inset, 0 10px 24px -12px rgba(142, 49, 255, .8); }
.tier-period.active span { color: #e9dcff; }
.tier-vip .tier-period.active, .tier-card.tier-vip .tier-period.active { background: rgba(255, 201, 74, .13); border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold) inset, 0 10px 24px -12px rgba(255, 176, 32, .7); }
.tier-vip .tier-period.active span { color: #ffe9ad; }
.tier-delux .tier-period.active { background: rgba(79, 214, 245, .1); border-color: transparent; box-shadow: 0 0 0 1px var(--dx-b) inset, 0 0 0 2px rgba(79, 214, 245, .35), 0 10px 26px -12px rgba(168, 85, 255, .85); }

/* ---------- Гем-значок ---------- */
.tier-gem { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; font-size: 20px; color: #2a1300; background: linear-gradient(135deg, #ffd35c, #ff9d1c); box-shadow: 0 8px 22px -8px rgba(255, 157, 28, .8); flex: none; }
.tier-gem.lg { width: 54px; height: 54px; font-size: 24px; border-radius: 16px; }
.tier-delux .tier-gem, .tier-card.tier-delux .tier-gem { color: #fff; background: var(--dx-grad); box-shadow: 0 8px 26px -8px rgba(168, 85, 255, .9); }

/* ---------- Страница: билеты ---------- */
.tiers-sec { padding-top: 6px; }
.tiers-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; max-width: 980px; margin: 0 auto; align-items: stretch; }
.tier-ticket { position: relative; display: flex; flex-direction: column; padding: 26px 24px 22px; border-radius: 22px; overflow: hidden; backdrop-filter: blur(10px); }
.tier-ticket::before { content: ""; position: absolute; top: -60%; left: -30%; width: 60%; height: 220%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .06), transparent); transform: rotate(20deg); animation: vipSweep 6s ease-in-out infinite; pointer-events: none; }
.tier-ticket.tier-vip { border: 1px solid rgba(255, 201, 74, .35); background: linear-gradient(160deg, rgba(34, 26, 12, .92), rgba(14, 16, 24, .94)); box-shadow: 0 30px 70px -34px rgba(255, 176, 32, .5), inset 0 1px 0 rgba(255, 255, 255, .06); }
.tier-ticket.tier-delux { border: 1px solid transparent; background: linear-gradient(160deg, rgba(24, 14, 44, .96), rgba(10, 14, 28, .96)) padding-box, var(--dx-grad) border-box; box-shadow: 0 34px 80px -30px rgba(142, 49, 255, .75), 0 0 60px -20px rgba(79, 214, 245, .4), inset 0 1px 0 rgba(255, 255, 255, .08); }
.tier-ribbon { position: absolute; top: 14px; right: -34px; transform: rotate(35deg); width: 170px; text-align: center; padding: 4px 0; font-size: 10px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: var(--dx-grad); box-shadow: 0 4px 14px rgba(168, 85, 255, .5); }
.tier-ribbon i { margin-right: 4px; }
.tier-ticket-top { position: relative; display: flex; align-items: center; gap: 14px; }
.tier-ticket-top b { display: block; font-size: 26px; font-weight: 900; line-height: 1.1; }
.tier-ticket.tier-delux .tier-ticket-top b { background: var(--dx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.tier-ticket-top small { color: var(--muted); font-weight: 600; }
.tier-periods.big { margin: 20px 0 6px; }
.tier-periods.big .tier-period { padding: 13px 8px 11px; }
.tier-periods.big .tier-period b { font-size: 15px; }
.tier-periods.big .tier-period span { font-size: 13px; }
.tier-price { position: relative; display: flex; align-items: baseline; gap: 10px; margin-top: 14px; }
.tier-price b { font-size: 46px; font-weight: 900; line-height: 1; letter-spacing: -.02em; }
.tier-price span { color: var(--muted); font-weight: 600; }
.tier-price span em { font-style: normal; color: var(--text); font-weight: 800; }
.tier-ticket.tier-vip .tier-price b { color: var(--gold); text-shadow: 0 0 28px rgba(255, 201, 74, .35); }
.tier-ticket.tier-delux .tier-price b { background: var(--dx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.tier-per { color: var(--muted); font-weight: 600; margin-top: 4px; min-height: 22px; }
.tier-save { font-style: normal; margin-left: 6px; padding: 2px 9px; border-radius: 99px; background: rgba(94, 240, 168, .14); color: var(--green); font-size: 12px; font-weight: 800; }
.tier-save[hidden] { display: none; }
.tier-list { position: relative; list-style: none; margin: 18px 0 20px; padding: 16px 0 0; border-top: 1px dashed var(--line-2); display: grid; gap: 9px; flex: 1; }
.tier-list li { display: flex; gap: 10px; font-size: 14px; font-weight: 600; line-height: 1.4; }
.tier-list li i { margin-top: 4px; font-size: 12px; color: var(--gold); flex: none; }
.tier-ticket.tier-delux .tier-list li i { color: var(--dx-a); }
.tier-buy { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; height: 54px; border-radius: 14px; font-size: 16px; font-weight: 900; text-decoration: none; white-space: nowrap; transition: transform .2s, box-shadow .2s; }
.tier-ticket.tier-vip .tier-buy { color: #2a1300; background: linear-gradient(135deg, #ffd35c, #ff9d1c 55%, #ff6fb5); box-shadow: 0 10px 30px -8px rgba(255, 157, 28, .7); }
.tier-ticket.tier-delux .tier-buy { color: #fff; background: var(--dx-grad); box-shadow: 0 10px 34px -8px rgba(168, 85, 255, .85); }
.tier-buy:hover { transform: translateY(-2px); color: inherit; }
.tier-ticket.tier-vip .tier-buy:hover { color: #2a1300; box-shadow: 0 16px 40px -8px rgba(255, 157, 28, .85); }
.tier-ticket.tier-delux .tier-buy:hover { color: #fff; box-shadow: 0 16px 44px -8px rgba(168, 85, 255, 1); }
.tier-note { position: relative; display: block; margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.tier-note i { margin-right: 6px; }

/* ---------- Блок «включает всё из VIP» ---------- */
.tier-includes { display: flex; gap: 14px; align-items: center; padding: 14px 18px; margin-bottom: 18px; border-radius: 16px; border: 1px solid rgba(255, 201, 74, .3); background: linear-gradient(120deg, rgba(255, 201, 74, .09), rgba(168, 85, 255, .08)); }
.tier-includes > i { font-size: 22px; color: var(--gold); }
.tier-includes b { display: block; font-size: 15px; }
.tier-includes span { color: var(--muted); font-size: 13px; }
.tier-perks .vip2-perk em { font-style: normal; }

/* ---------- Таблица сравнения ---------- */
.tier-cmp th, .tier-cmp td { text-align: center; }
.tier-cmp th:first-child, .tier-cmp td:first-child { text-align: left; }
.tier-cmp td span { font-size: 12px; font-weight: 700; }
.tier-cmp .tier-col { background: rgba(168, 85, 255, .07); }
.tier-cmp .fa-check { color: var(--green); }
.tier-cmp .fa-minus { color: var(--dim); }
.tier-final { background-image: linear-gradient(120deg, rgba(79, 214, 245, .08), rgba(168, 85, 255, .12), rgba(255, 93, 200, .08)); }
.tier-sticky b { font-size: 15px; }

/* ---------- Магазин: карточка тарифа ---------- */
.pcard15.tier-card { position: relative; }
.tier-card .tier-visual { display: grid; place-items: center; min-height: 168px; }
.tier-card.tier-vip .tier-visual { background: radial-gradient(120% 90% at 50% 0%, rgba(255, 201, 74, .22), transparent 70%), linear-gradient(160deg, #1f1709, #0e131d); }
.tier-card.tier-delux .tier-visual { background: radial-gradient(120% 90% at 50% 0%, rgba(168, 85, 255, .32), transparent 70%), radial-gradient(80% 70% at 85% 100%, rgba(79, 214, 245, .18), transparent 70%), linear-gradient(160deg, #150d2b, #0b1020); }
.tier-art { display: grid; justify-items: center; gap: 4px; text-align: center; padding: 14px; }
.tier-art .tier-gem { width: 62px; height: 62px; font-size: 28px; border-radius: 18px; margin-bottom: 6px; animation: tierFloat 3.4s ease-in-out infinite; }
.tier-art b { font-size: 26px; font-weight: 900; letter-spacing: .02em; }
.tier-card.tier-delux .tier-art b { background: var(--dx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.tier-card.tier-vip .tier-art b { color: var(--gold); }
.tier-art small { color: var(--muted); font-weight: 600; }
.tier-days { margin-left: 4px; font-size: 13px; font-weight: 700; color: var(--muted); }
.tier-short { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 5px; }
.tier-short li { display: flex; gap: 8px; font-size: 12.5px; font-weight: 600; color: #cfd6e6; line-height: 1.35; }
.tier-short li i { margin-top: 3px; font-size: 10px; color: var(--gold); flex: none; }
.tier-card.tier-delux .tier-short li i { color: var(--dx-a); }
.tier-card .tier-periods { margin-top: 12px; }
.tier-more { display: inline-block; margin-top: 10px; font-size: 12.5px; font-weight: 700; color: var(--lilac); text-decoration: none; }
.tier-more:hover { color: #fff; }
.tier-more i { font-size: 10px; margin-left: 2px; transition: transform .2s; }
.tier-more:hover i { transform: translateX(3px); }
.tier-card.tier-delux { box-shadow: 0 0 0 1px rgba(168, 85, 255, .45), 0 24px 60px -30px rgba(142, 49, 255, .7); }
.tier-card.tier-focus { animation: tierPulse 1.1s ease-out 2; }

@keyframes tierFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes tierPulse { 0% { box-shadow: 0 0 0 0 rgba(168, 85, 255, .7); } 100% { box-shadow: 0 0 0 22px rgba(168, 85, 255, 0); } }

@media (max-width: 860px) {
  .tiers-grid { grid-template-columns: 1fr; max-width: 520px; }
  .tier-price b { font-size: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .tier-art .tier-gem, .tier-ticket::before, .tier-card.tier-focus { animation: none; }
}


/* =========================================================
   Страница «Привилегии»: выбор (2 карточки) и подробная страница
   ========================================================= */
.pv-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); isolation: isolate; }
.pv-hero .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; opacity: .26; z-index: -3; filter: saturate(.9); }
.pv-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(7, 11, 18, .55) 0%, rgba(7, 11, 18, .9) 78%, var(--bg) 100%); }
.pv-glow { position: absolute; inset: -20% -10% auto -10%; height: 120%; z-index: -1; pointer-events: none;
  background: radial-gradient(540px 280px at 18% 8%, rgba(168, 85, 255, .35), transparent 70%), radial-gradient(520px 260px at 86% 0%, rgba(79, 214, 245, .2), transparent 70%); }
.pv-hero-vip .pv-glow { background: radial-gradient(540px 280px at 16% 6%, rgba(255, 176, 32, .32), transparent 70%), radial-gradient(480px 240px at 88% 0%, rgba(255, 93, 200, .16), transparent 70%); }
.pv-hero-in { position: relative; padding-top: 46px; padding-bottom: 40px; }
.pv-hero-hub .pv-hero-in { text-align: center; display: grid; justify-items: center; padding-top: 52px; padding-bottom: 46px; }
.pv-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 99px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--lilac); background: rgba(168, 85, 255, .12); border: 1px solid rgba(168, 85, 255, .3); }
.pv-hero-vip .pv-kicker { color: var(--gold); background: rgba(255, 201, 74, .1); border-color: rgba(255, 201, 74, .3); }
.pv-title { margin: 14px 0 6px; font-size: clamp(34px, 5.4vw, 60px); line-height: 1.04; font-weight: 900; letter-spacing: -.02em; }
.pv-title-vip { color: var(--gold); text-shadow: 0 0 40px rgba(255, 201, 74, .35); margin: 6px 0 0; }
.pv-title-delux { margin: 6px 0 0; background: var(--dx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; filter: drop-shadow(0 0 26px rgba(168, 85, 255, .5)); }
.pv-lead { max-width: 640px; margin: 12px 0 0; font-size: 16px; line-height: 1.55; color: #c3cadb; font-weight: 500; }
.pv-hero-hub .pv-lead { margin-inline: auto; }
.pv-hero .vipx-mine { margin-top: 18px; }
.pv-vk { margin-top: 20px; display: inline-flex; }

/* ---------- Выбор: карточки ---------- */
.pv-hub { padding-top: 6px; padding-bottom: 20px; }
.pv-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; max-width: 1040px; margin: -10px auto 0; }
.pv-card { --mx: 50%; --my: 0%; position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 28px; color: var(--text); text-decoration: none; isolation: isolate;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s; will-change: transform; }
.pv-card:hover { transform: translateY(-9px); color: var(--text); }
.pv-card:focus-visible { outline: 3px solid var(--lilac); outline-offset: 4px; }
.pv-card-fx { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; transition: opacity .3s;
  background: radial-gradient(380px 260px at var(--mx) var(--my), rgba(255, 255, 255, .13), transparent 70%); }
.pv-card:hover .pv-card-fx { opacity: 1; }
.pv-card.pv-vip { border: 1px solid rgba(255, 201, 74, .38); background: linear-gradient(165deg, rgba(36, 27, 11, .96), rgba(13, 16, 26, .97)); box-shadow: 0 34px 80px -40px rgba(255, 176, 32, .55), inset 0 1px 0 rgba(255, 255, 255, .06); }
.pv-card.pv-vip:hover { box-shadow: 0 44px 90px -36px rgba(255, 176, 32, .8), inset 0 1px 0 rgba(255, 255, 255, .1); border-color: rgba(255, 201, 74, .7); }
.pv-card.pv-delux { border: 1px solid transparent; background: linear-gradient(165deg, rgba(26, 14, 48, .97), rgba(9, 13, 28, .98)) padding-box, var(--dx-grad) border-box; box-shadow: 0 38px 90px -38px rgba(142, 49, 255, .8), 0 0 70px -26px rgba(79, 214, 245, .45), inset 0 1px 0 rgba(255, 255, 255, .08); }
.pv-card.pv-delux:hover { box-shadow: 0 48px 100px -34px rgba(168, 85, 255, 1), 0 0 90px -20px rgba(79, 214, 245, .6), inset 0 1px 0 rgba(255, 255, 255, .12); }
.pv-flag { position: absolute; top: 16px; right: 16px; z-index: 3; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 99px; font-size: 11px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: #fff; background: var(--dx-grad); box-shadow: 0 6px 18px -4px rgba(168, 85, 255, .7); }

.pv-card-art { position: relative; display: grid; place-items: center; height: 196px; overflow: hidden; }
.pv-vip .pv-card-art { background: radial-gradient(120% 100% at 50% 0%, rgba(255, 201, 74, .28), transparent 70%), linear-gradient(160deg, #22190a, #0f1420); }
.pv-delux .pv-card-art { background: radial-gradient(120% 100% at 50% 0%, rgba(168, 85, 255, .4), transparent 70%), radial-gradient(70% 80% at 90% 100%, rgba(79, 214, 245, .22), transparent 70%), linear-gradient(160deg, #190e32, #0a1022); }
.pv-orb { position: absolute; border-radius: 50%; filter: blur(26px); opacity: .55; animation: pvDrift 7s ease-in-out infinite; }
.pv-orb.o1 { width: 130px; height: 130px; left: 8%; top: 14%; }
.pv-orb.o2 { width: 100px; height: 100px; right: 10%; bottom: 6%; animation-delay: -3s; }
.pv-vip .pv-orb { background: #ffb020; }
.pv-delux .pv-orb.o1 { background: #a855ff; }
.pv-delux .pv-orb.o2 { background: #4fd6f5; }

.pv-gem { position: relative; display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 20px; font-size: 28px; color: #2a1300; background: linear-gradient(135deg, #ffd35c, #ff9d1c); box-shadow: 0 12px 30px -10px rgba(255, 157, 28, .85); flex: none; }
.pv-card .pv-gem { width: 96px; height: 96px; font-size: 42px; border-radius: 28px; animation: tierFloat 3.6s ease-in-out infinite; transition: transform .35s; }
.pv-card:hover .pv-gem { transform: scale(1.1) rotate(-4deg); animation-play-state: paused; }
.pv-delux .pv-gem, .pv-hero-delux .pv-gem, .pv-cross-delux .pv-gem { color: #fff; background: var(--dx-grad); box-shadow: 0 12px 34px -10px rgba(168, 85, 255, .95); }
.pv-gem.xl { width: 84px; height: 84px; font-size: 38px; border-radius: 24px; }

.pv-card-body { padding: 22px 28px 6px; flex: 1; }
.pv-card-body h2 { margin: 0; font-size: 40px; line-height: 1; font-weight: 900; letter-spacing: -.01em; }
.pv-vip .pv-card-body h2 { color: var(--gold); }
.pv-delux .pv-card-body h2 { background: var(--dx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.pv-sub { display: block; margin-top: 6px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.pv-card-body p { margin: 14px 0 0; color: #c3cadb; font-size: 14.5px; line-height: 1.55; }
.pv-card-body ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 9px; }
.pv-card-body li { display: flex; gap: 10px; font-size: 14px; font-weight: 600; line-height: 1.4; }
.pv-card-body li i { margin-top: 4px; font-size: 11px; color: var(--gold); flex: none; }
.pv-delux .pv-card-body li i { color: var(--dx-a); }

.pv-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 28px 0; padding: 18px 0 26px; border-top: 1px dashed var(--line-2); }
.pv-from { display: grid; line-height: 1.1; }
.pv-from small { color: var(--muted); font-size: 12px; font-weight: 700; }
.pv-from b { font-size: 30px; font-weight: 900; letter-spacing: -.01em; }
.pv-vip .pv-from b { color: var(--gold); }
.pv-delux .pv-from b { background: var(--dx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.pv-from span { margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 600; }
.pv-more { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 22px; border-radius: 14px; font-size: 15px; font-weight: 900; white-space: nowrap; transition: gap .25s, box-shadow .25s; }
.pv-more i { font-size: 13px; transition: transform .25s; }
.pv-card:hover .pv-more i { transform: translateX(5px); }
.pv-vip .pv-more { color: #2a1300; background: linear-gradient(135deg, #ffd35c, #ff9d1c 55%, #ff6fb5); box-shadow: 0 10px 28px -8px rgba(255, 157, 28, .7); }
.pv-delux .pv-more { color: #fff; background: var(--dx-grad); box-shadow: 0 10px 30px -8px rgba(168, 85, 255, .85); }

.pv-perks-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px; max-width: 1040px; margin: 30px auto 0; color: var(--muted); font-size: 13px; font-weight: 600; }
.pv-perks-row span { display: inline-flex; align-items: center; gap: 8px; }
.pv-perks-row i { color: var(--lilac); }

/* ---------- Подробная страница ---------- */
.pv-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 26px; }
.pv-back, .pv-switch { display: inline-flex; align-items: center; gap: 9px; height: 38px; padding: 0 16px; border-radius: 99px; font-size: 13px; font-weight: 800; text-decoration: none; transition: transform .2s, background .2s, border-color .2s; }
.pv-back { color: var(--text); background: rgba(255, 255, 255, .05); border: 1px solid var(--line-2); }
.pv-back:hover { color: #fff; background: rgba(255, 255, 255, .1); transform: translateX(-3px); }
.pv-switch { color: #fff; border: 1px solid transparent; }
.pv-switch i:last-child { font-size: 11px; }
.pv-switch-vip { color: var(--gold); background: rgba(255, 201, 74, .1); border-color: rgba(255, 201, 74, .35); }
.pv-switch-delux { background: linear-gradient(rgba(14, 12, 30, .9), rgba(14, 12, 30, .9)) padding-box, var(--dx-grad) border-box; }
.pv-switch:hover { transform: translateX(3px); color: #fff; }
.pv-head { display: flex; align-items: center; gap: 20px; }
.pv-head .pv-kicker { margin: 0; }

.pv-detail { padding-top: 26px; }
.pv-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 30px; align-items: start; }
.pv-sh { margin-bottom: 16px; }
.pv-side { position: sticky; top: calc(var(--tb) + 18px); }
.pv-ticket { box-shadow: 0 30px 80px -34px rgba(0, 0, 0, .8); }
.pv-ticket.tier-vip { box-shadow: 0 30px 80px -34px rgba(255, 176, 32, .55), inset 0 1px 0 rgba(255, 255, 255, .06); }
.pv-ticket.tier-delux { box-shadow: 0 34px 90px -30px rgba(142, 49, 255, .8), 0 0 60px -20px rgba(79, 214, 245, .4), inset 0 1px 0 rgba(255, 255, 255, .08); }
.pv-perks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pv-perks .vip2-perk.wide { grid-column: 1 / -1; }

.cmp-vip .c-vip, .cmp-delux .c-delux { background: rgba(168, 85, 255, .09); }
.cmp-vip .c-vip { background: rgba(255, 201, 74, .08); }

.pv-cross { display: flex; align-items: center; gap: 20px; padding: 22px 26px; border-radius: 22px; text-decoration: none; color: var(--text); transition: transform .25s, box-shadow .25s; }
.pv-cross:hover { transform: translateY(-4px); color: var(--text); }
.pv-cross > div { flex: 1; min-width: 0; }
.pv-cross b { display: block; font-size: 20px; font-weight: 900; }
.pv-cross > div span { color: var(--muted); font-size: 14px; }
.pv-cross em { display: inline-flex; align-items: center; gap: 10px; font-style: normal; font-weight: 900; font-size: 14px; white-space: nowrap; padding: 12px 18px; border-radius: 14px; }
.pv-cross em i { transition: transform .25s; }
.pv-cross:hover em i { transform: translateX(4px); }
.pv-cross-delux { border: 1px solid transparent; background: linear-gradient(120deg, rgba(79, 214, 245, .08), rgba(168, 85, 255, .14), rgba(255, 93, 200, .08)) padding-box, var(--dx-grad) border-box; box-shadow: 0 24px 70px -34px rgba(142, 49, 255, .8); }
.pv-cross-delux em { color: #fff; background: var(--dx-grad); }
.pv-cross-vip { border: 1px solid rgba(255, 201, 74, .35); background: linear-gradient(120deg, rgba(255, 201, 74, .1), rgba(255, 93, 200, .06)); box-shadow: 0 24px 70px -36px rgba(255, 176, 32, .6); }
.pv-cross-vip em { color: #2a1300; background: linear-gradient(135deg, #ffd35c, #ff9d1c); }

@keyframes pvDrift { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(14px, -12px); } }

@media (max-width: 1000px) {
  .pv-layout { grid-template-columns: 1fr; }
  .pv-side { position: static; order: -1; max-width: 520px; width: 100%; margin: 0 auto; }
}
@media (max-width: 860px) {
  .pv-cards { grid-template-columns: 1fr; max-width: 520px; gap: 22px; }
  .pv-card-art { height: 160px; }
  .pv-card .pv-gem { width: 80px; height: 80px; font-size: 36px; }
  .pv-card-body h2 { font-size: 34px; }
  .pv-perks { grid-template-columns: 1fr; }
  .pv-cross { flex-direction: column; text-align: center; }
  .pv-head { gap: 14px; }
  .pv-gem.xl { width: 68px; height: 68px; font-size: 30px; border-radius: 20px; }
}
@media (max-width: 520px) {
  .pv-hero-in { padding-top: 32px; padding-bottom: 28px; }
  .pv-hero-hub .pv-hero-in { padding-top: 38px; }
  .pv-card-foot { flex-wrap: wrap; }
  .pv-more { width: 100%; justify-content: center; }
  .pv-perks-row { flex-direction: column; align-items: center; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .pv-orb, .pv-card .pv-gem { animation: none; }
  .pv-card, .pv-card:hover, .pv-back:hover, .pv-switch:hover { transform: none; }
}


/* =========================================================
   OLD ZOMBIE — compact privilege cards v2
   VIP/DELUX занимают половину ширины витрины и не распирают
   обычную сетку карточек товаров.
   ========================================================= */
.shop15-grid > .tier-card{
  grid-column: span 3;
  min-height: 238px;
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 175px;
  grid-template-rows:1fr;
  overflow:hidden;
  align-items:stretch;
  transform:none;
}
.shop15-grid > .tier-card:hover{transform:translateY(-3px)}
.tier-card .tier-compact-visual{
  position:relative; min-width:0; padding:28px 16px 22px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; text-align:center; color:var(--text); text-decoration:none;
  border-right:1px solid var(--line);
}
.tier-card.tier-vip .tier-compact-visual{
  background:radial-gradient(130% 95% at 50% 0%,rgba(255,201,74,.24),transparent 68%),linear-gradient(160deg,#201709,#0d131d);
}
.tier-card.tier-delux .tier-compact-visual{
  background:radial-gradient(130% 95% at 50% 0%,rgba(168,85,255,.34),transparent 68%),radial-gradient(90% 80% at 90% 100%,rgba(79,214,245,.18),transparent 72%),linear-gradient(160deg,#170d2d,#0b1120);
}
.tier-card .tier-compact-visual .pc-badge{top:12px;left:12px}
.tier-card .tier-compact-visual .pc-owned{top:12px;right:12px}
.tier-card .tier-gem{width:62px;height:62px;border-radius:18px;font-size:27px;display:grid;place-items:center;margin:5px auto 2px}
.tier-card .tier-compact-name{font-size:24px;font-weight:950;letter-spacing:-.02em;line-height:1}
.tier-card.tier-vip .tier-compact-name{color:var(--gold)}
.tier-card.tier-delux .tier-compact-name{background:var(--dx-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.tier-card .tier-compact-visual small{color:var(--muted);font-size:12px;font-weight:700}
.tier-compact-body{min-width:0;padding:22px 24px;display:flex;flex-direction:column;justify-content:center}
.tier-compact-body h3{margin:5px 0 7px;font-size:22px;font-weight:950}
.tier-compact-body>p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tier-compact-perks{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:13px}
.tier-compact-perks span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:750;color:var(--text)}
.tier-compact-perks i{font-size:10px;color:var(--gold)}
.tier-delux .tier-compact-perks i{color:var(--dx-a)}
.tier-compact-action{padding:20px 18px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:11px;background:rgba(5,9,16,.23)}
.tier-compact-action .pc-price{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.tier-compact-action .pc-price b{font-size:26px;line-height:1.05}
.tier-compact-action .pc-price small{font-size:11px;color:var(--muted)}
.tier-open{width:100%;justify-content:center;text-decoration:none}
.tier-open-note{text-align:center;color:var(--muted);font-size:10px;line-height:1.3}

/* Карточки магазина не должны оставаться невидимыми после фильтра/сортировки. */
.shop15-grid > .pcard15.oz-reveal,
.shop15-grid > .pcard15.rv{
  opacity:1!important;
  translate:none!important;
  transform:none;
}
.shop15-grid > .pcard15:hover{transform:translateY(-3px)}

@media (max-width:1350px){
  .shop15-grid > .tier-card{grid-column:span 2;grid-template-columns:135px minmax(0,1fr) 165px}
  .tier-compact-perks span:nth-child(n+3){display:none}
}
@media (max-width:980px){
  .shop15-grid > .tier-card{grid-column:1/-1;grid-template-columns:135px minmax(0,1fr) 165px}
}
@media (max-width:680px){
  .shop15-grid > .tier-card{grid-column:1/-1;grid-template-columns:105px minmax(0,1fr);min-height:0}
  .tier-card .tier-compact-visual{padding:22px 10px;border-right:1px solid var(--line)}
  .tier-card .tier-gem{width:52px;height:52px;font-size:22px}
  .tier-card .tier-compact-name{font-size:18px}
  .tier-compact-body{padding:18px 16px}
  .tier-compact-body>p{display:none}
  .tier-compact-perks{display:none}
  .tier-compact-action{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:13px 15px;display:grid;grid-template-columns:1fr auto;align-items:center}
  .tier-compact-action .pc-price b{font-size:22px}
  .tier-open{width:auto;min-width:135px}
  .tier-open-note{display:none}
}

/* ---------- Страница выбора привилегий (vip.php): карточки — широкие прямоугольники ---------- */
.pv-hub-grid { grid-template-columns: 1fr; gap: 18px; max-width: 1080px; margin: 0 auto; }
.shop15-grid.pv-hub-grid > .tier-card { grid-column: auto; min-height: 230px; }
.shop15-grid.pv-hub-grid > .tier-card .tier-compact-body > p { -webkit-line-clamp: 3; }

.pv-hub .pv-perks-row { margin-top: 26px; }
.pv-detail .flash, .pv-hub .flash { max-width: 1080px; margin-inline: auto; margin-bottom: 16px; }
.tier-ticket .btn-gift { width: 100%; justify-content: center; }
.tier-ticket .buy-lack[hidden] { display: none; }
@media (max-width: 680px) {
  .pv-hub-grid .tier-compact-perks { display: flex; }
  .pv-hub-grid > .tier-card .tier-compact-body > p { display: -webkit-box; }
}

/* Метки на карточке тарифа не должны налезать друг на друга */
.tier-card .tier-compact-visual .pc-owned { top: auto; right: auto; left: 50%; bottom: 12px; transform: translateX(-50%); white-space: nowrap; }
.tier-card .tier-compact-visual { padding-bottom: 40px; }
.pv-hub-grid .tier-compact-perks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
.pv-hub-grid .tier-compact-perks span { align-items: flex-start; line-height: 1.35; }
.pv-hub-grid .tier-compact-perks i { margin-top: 3px; }
.pv-hub-grid .tier-compact-body h3 { font-size: 26px; }
@media (max-width: 680px) { .pv-hub-grid .tier-compact-perks { grid-template-columns: 1fr; } }

/* =========================================================
   v6: аккуратнее карточки магазина, баннер-переход и таблица
   ========================================================= */
/* Карточка товара: цена сверху в одну строку, кнопки на всю ширину */
.shop15-grid > .pcard15 .pc-foot { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 12px; padding: 14px 16px 16px; }
.shop15-grid > .pcard15 .pc-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.shop15-grid > .pcard15 .pc-price b { display: inline-block; white-space: nowrap; font-size: 24px; line-height: 1.1; }
.shop15-grid > .pcard15 .pc-price small { white-space: nowrap; font-size: 12px; }
.shop15-grid > .pcard15 .pc-actions { display: flex; gap: 8px; width: 100%; }
.shop15-grid > .pcard15 .pc-actions > .pc-buy,
.shop15-grid > .pcard15 .pc-actions > a { flex: 1 1 auto; min-width: 0; justify-content: center; white-space: nowrap; }
.shop15-grid > .pcard15 .pc-actions > .pc-gift { flex: 0 0 46px; padding: 0; }
.shop15-grid > .pcard15 .pc-foot > .pc-buy,
.shop15-grid > .pcard15 .pc-foot > a.btn-neon { width: 100%; justify-content: center; }
.shop15-grid > .pcard15 a.btn-owned { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; white-space: nowrap; font-size: 13px; }
.shop15-grid > .pcard15 .btn-owned span, .shop15-grid > .pcard15 .btn-neon span { white-space: nowrap; }

/* Страница тарифа: баннер «посмотрите другой тариф» — тёмная подложка и читаемый текст */
.pv-cross-delux {
  border: 1.5px solid transparent;
  background: linear-gradient(120deg, rgba(79, 214, 245, .10), rgba(168, 85, 255, .18), rgba(255, 93, 200, .10)) padding-box,
              linear-gradient(#0d1220, #0d1220) padding-box,
              var(--dx-grad) border-box;
}
.pv-cross > div b { color: #fff; }
.pv-cross > div span { color: #c3cadb; display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.45; }
.pv-cross-vip { background: linear-gradient(120deg, rgba(255, 201, 74, .12), rgba(255, 93, 200, .06)), #0d1220; }

/* Таблица сравнения */
.tier-cmp thead th.c-vip { color: var(--gold); }
.tier-cmp thead th.c-delux { background-image: var(--dx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.cmp-vip .c-vip, .cmp-vip tbody .c-vip { background: rgba(255, 201, 74, .06); }
.cmp-delux .c-delux, .cmp-delux tbody .c-delux { background: rgba(168, 85, 255, .10); }
.cmp-vip tbody .c-delux, .cmp-delux tbody .c-vip { background: transparent; }
.tier-cmp td span { color: var(--text); }

/* FAQ на странице тарифа — списком, чтобы не сжималось */
.pv-main .shop15-faq { display: grid; grid-template-columns: 1fr; gap: 10px; }
