/* Ver.34 — sales CTA hierarchy. Other sections are intentionally unchanged. */
/* Pink / gold: the primary purchase action; VIP remains the highest priority. */
.ticket-entry-vip .ticket-purchase-link {
  isolation:isolate; overflow:hidden;
  min-height:88px;
  margin:12px 10px 16px;
  padding:18px 32px 18px 18px;
  border:2px solid #ffe4a4;
  border-radius:12px;
  background:
    radial-gradient(ellipse at 29% -80%,rgba(255,244,207,.62),transparent 57%),
    linear-gradient(112deg,#ba095d 0%,#f82182 25%,#ff68b6 50%,#e8157c 73%,#b70861 100%);
  box-shadow:0 0 0 2px rgba(255,174,211,.18), 0 0 26px rgba(255,74,155,.65),0 12px 26px rgba(22,1,30,.56),inset 0 1px 0 rgba(255,255,255,.55);
}
.ticket-entry-vip .ticket-purchase-link::before {
  content:''; pointer-events:none; position:absolute;z-index:-1;
  inset:0;
  background:linear-gradient(115deg,transparent 12%,rgba(255,255,255,.05) 29%,rgba(255,255,255,.30) 42%,rgba(255,255,255,.08) 52%,transparent 67%);
  transform:translateX(-105%); transition:transform .85s ease;
}
.ticket-entry-vip .ticket-purchase-link:hover::before,
.ticket-entry-vip .ticket-purchase-link:focus-visible::before {transform:translateX(110%)}
.ticket-entry-vip .ticket-purchase-copy strong {font-size:clamp(16px,1.6vw,20px);letter-spacing:.03em;text-shadow:0 2px 10px #6e064a8f}
.ticket-entry-vip .ticket-purchase-copy small {color:#fff0cb;opacity:1;font-size:11px;letter-spacing:.15em}
.ticket-entry-vip .ticket-purchase-arrow {font-size:25px;color:#fff0bc;right:18px}
.ticket-entry-vip .perk-purchase-link {
  min-height:65px;
  border:2px solid #ffe0a2;
  border-radius:10px;
  font-size:16px;
  background:linear-gradient(111deg,#b90b60,#fd3797 47%,#e51b79);
  box-shadow:0 8px 25px rgba(253,74,159,.36),inset 0 1px 0 #ffffff55;
}
/* Blue: clear but deliberately calmer than VIP. */
.ticket-entry-s .ticket-purchase-link {
  min-height:60px;
  margin:11px 10px 13px;
  border:1px solid #b5d9ff;
  border-radius:9px;
  background:linear-gradient(110deg,#244986 0%,#3977c6 53%,#2456a1 100%);
  box-shadow:0 5px 14px rgba(7,12,48,.28),inset 0 1px 0 rgba(255,255,255,.18);
}
.ticket-entry-s .ticket-purchase-copy strong {font-size:clamp(13px,1.2vw,16px);letter-spacing:.02em}
.ticket-entry-s .ticket-purchase-copy small {opacity:.75;font-size:9px}
.ticket-entry-s .ticket-purchase-arrow {font-size:20px;right:17px;opacity:.85}
.ticket-entry-s .perk-purchase-link {
  min-height:54px; border-radius:8px; border:1px solid #b6d8fb;
  background:linear-gradient(110deg,#255394,#3a75c0,#285ba6);
  box-shadow:0 4px 12px #13082e46; font-size:13px;
}
/* General: quiet, outlined invitation — not competing with VIP. */
.ticket-entry-general .ticket-purchase-link {
  min-height:50px;
  margin:10px 12px 12px;
  width:calc(100% - 24px);
  padding:8px 30px 8px 12px;
  border:1px solid #cdb8f0;
  border-radius:8px;
  background:rgba(169,139,216,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  color:#efe8fa;
}
.ticket-entry-general .ticket-purchase-copy {gap:0}
.ticket-entry-general .ticket-purchase-copy small {display:none}
.ticket-entry-general .ticket-purchase-copy strong {font-size:13px;letter-spacing:.01em}
.ticket-entry-general .ticket-purchase-arrow {font-size:17px;right:14px;color:#e6d9fa;opacity:.85}
.ticket-entry-general .ticket-purchase-link:hover {background:rgba(169,139,216,.22)}
@media(max-width:580px) {
  .ticket-entry-vip .ticket-purchase-link{min-height:82px;margin-bottom:16px}
  .ticket-entry-vip .ticket-purchase-copy strong{font-size:18px}
  .ticket-entry-s .ticket-purchase-link{min-height:58px}
  .ticket-entry-general .ticket-purchase-link{min-height:49px}
  .ticket-entry-general .ticket-purchase-copy strong{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .ticket-entry-vip .ticket-purchase-link::before{transition:none;transform:none}
}

/* Ver.35: keep the tiered colors, show only the ticket application label. */
.ticket-entry-vip .ticket-purchase-link { padding-left:18px; padding-right:18px; }
.ticket-entry-general .ticket-purchase-link { padding-left:12px; padding-right:12px; }
.ticket-entry .ticket-purchase-copy { align-items:center; width:100%; }
