.tickets-page { min-height:60vh; padding:clamp(3.5rem,7vw,7rem) 0 var(--space-9); overflow:hidden; background:radial-gradient(circle at 82% 2%,rgb(36 184 93 / 12%),transparent 28rem),var(--color-bg); }
.tickets-page__header { max-width:50rem; margin-bottom:clamp(2rem,4vw,3.5rem); }
.tickets-page__header h1 { margin:0 0 var(--space-4); }
.tickets-page__header > p:last-child { max-width:40rem; margin:0; color:var(--color-text-muted); font-size:var(--text-md); }
.tickets-page__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:var(--space-5); }
.ticket-event-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:linear-gradient(145deg,rgb(17 25 19 / 96%),rgb(8 12 10 / 98%)); box-shadow:0 1.25rem 3rem rgb(0 0 0 / 20%); transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base); }
.ticket-event-card:hover { border-color:rgb(87 221 135 / 34%); box-shadow:0 1.5rem 3.5rem rgb(0 0 0 / 30%); transform:translateY(-3px); }
.ticket-event-card__media { position:relative; min-height:13.5rem; overflow:hidden; border-bottom:1px solid var(--color-border); isolation:isolate; background:#06130b; }
.ticket-event-card__media::before { position:absolute; z-index:-1; inset:-15% -10%; background:radial-gradient(circle at 75% 38%,rgb(87 221 135 / 30%),transparent 36%),linear-gradient(118deg,transparent 25%,rgb(36 184 93 / 9%) 25% 50%,transparent 50%); content:""; }
.ticket-event-card__media::after { position:absolute; z-index:3; inset:0; background:linear-gradient(90deg,rgb(3 7 4 / 44%),transparent 48%),linear-gradient(180deg,transparent 62%,rgb(4 7 5 / 68%)); content:""; pointer-events:none; }
.ticket-event-card__court { position:absolute; z-index:-1; inset:0; width:100%; height:100%; object-fit:cover; opacity:.62; transition:opacity var(--transition-slow),transform var(--transition-slow); }
.ticket-event-card:hover .ticket-event-card__court { opacity:.74; transform:scale(1.025); }
.ticket-event-card__logos { position:absolute; z-index:4; top:var(--space-4); left:var(--space-4); display:flex; align-items:center; gap:.5rem; }
.ticket-event-card__team-logo { display:flex; width:3.25rem; height:3.25rem; flex:0 0 auto; align-items:center; justify-content:center; overflow:hidden; border-radius:.65rem; }
.ticket-event-card__team-logo > .team-logo { display:grid; width:100%; height:100%; place-items:center; overflow:hidden; padding:.5rem; border:1px solid rgb(255 255 255 / 68%); border-radius:.65rem; background:linear-gradient(145deg,#fbfaf5,#e0e3dc); box-shadow:0 .7rem 1.4rem rgb(0 0 0 / 28%),inset 0 0 0 1px rgb(255 255 255 / 60%); }
.ticket-event-card__team-logo img { display:block; width:auto; height:auto; max-width:75%; max-height:75%; object-fit:contain; }
.ticket-event-card__team-logo .team-logo__fallback { display:grid; width:100%; height:100%; place-items:center; color:#163020; font-family:var(--font-display); font-size:.76rem; font-weight:var(--font-weight-bold); letter-spacing:.03em; }
.ticket-event-card__player { position:absolute; z-index:2; right:-2%; bottom:-1px; width:53%; height:108%; pointer-events:none; filter:drop-shadow(-1rem .8rem 1.6rem rgb(0 0 0 / 36%)); }
.ticket-event-card__player::before { position:absolute; z-index:-1; right:-20%; bottom:-20%; width:130%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgb(87 221 135 / 23%),transparent 64%); content:""; }
.ticket-event-card__player img { width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.ticket-event-card__body { display:flex; flex:1; flex-direction:column; padding:var(--space-5); }
.ticket-event-card__matchup { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:var(--space-2); margin:0 0 var(--space-3); color:var(--color-text-muted); font-size:.69rem; font-weight:var(--font-weight-bold); letter-spacing:.055em; line-height:1.25; text-transform:uppercase; }
.ticket-event-card__matchup span { overflow-wrap:anywhere; }
.ticket-event-card__matchup span:last-child { text-align:right; }
.ticket-event-card__matchup i { color:var(--color-accent-bright); font-style:normal; }
.ticket-event-card h2 { display:-webkit-box; min-height:2.25em; margin:0 0 var(--space-4); overflow:hidden; font-size:clamp(1.25rem,1.5vw,1.65rem); line-height:1.12; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.ticket-event-card__event-info { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:var(--space-4); margin-bottom:var(--space-5); padding:var(--space-4); border:1px solid rgb(255 255 255 / 8%); border-radius:var(--radius-md); background:rgb(255 255 255 / 2.5%); }
.ticket-event-card__date { display:grid; grid-template-columns:auto auto; align-items:end; column-gap:.48rem; min-width:6.6rem; padding-right:var(--space-4); border-right:1px solid var(--color-border); }
.ticket-event-card__date strong { grid-row:1/3; color:var(--color-text); font-family:var(--font-display); font-size:clamp(2.7rem,4vw,3.8rem); letter-spacing:-.05em; line-height:.76; }
.ticket-event-card__date span { color:var(--color-accent-bright); font-size:.66rem; font-weight:var(--font-weight-bold); letter-spacing:.075em; line-height:1; }
.ticket-event-card__date small { color:var(--color-text-dim); font-size:.64rem; font-weight:var(--font-weight-bold); letter-spacing:.07em; line-height:1; }
.ticket-event-card__time-place { min-width:0; }
.ticket-event-card__time-place > strong { display:block; margin-bottom:.45rem; font-family:var(--font-display); font-size:clamp(1.65rem,2.4vw,2.2rem); line-height:.9; }
.ticket-event-card__time-place p { display:flex; min-width:0; align-items:flex-start; gap:.42rem; margin:0; color:var(--color-text-muted); font-size:.73rem; line-height:1.35; }
.ticket-event-card__time-place p span { overflow-wrap:anywhere; }
.ticket-event-card__time-place svg { width:.92rem; height:.92rem; flex:0 0 auto; margin-top:.03rem; fill:none; stroke:var(--color-accent-bright); stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.ticket-event-card__broadcast { margin-top:.55rem; color:var(--color-text-dim); }
.ticket-event-card__broadcast svg { margin-top:0; }
.ticket-event-card__footer { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-3); margin-top:auto; padding-top:var(--space-4); border-top:1px solid var(--color-border); }
.ticket-event-card__price { display:grid; gap:.15rem; margin:0; }
.ticket-event-card__price small { color:var(--color-text-dim); font-size:.61rem; font-weight:var(--font-weight-bold); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.ticket-event-card__price strong { font-family:var(--font-display); font-size:1.05rem; }
.ticket-event-card__buy { display:inline-flex; min-width:7.2rem; min-height:2.85rem; align-items:center; justify-content:center; gap:var(--space-2); padding:.8rem 1.05rem; border-radius:var(--radius-sm); background:var(--gradient-accent); color:var(--color-ink); font-family:var(--font-display); font-size:.72rem; font-weight:var(--font-weight-bold); letter-spacing:.075em; line-height:1; text-transform:uppercase; transition:box-shadow var(--transition-fast),transform var(--transition-fast); }
.ticket-event-card__buy:hover,.ticket-event-card__buy:focus-visible { box-shadow:0 0 1.5rem var(--color-accent-glow); transform:translateY(-1px); }
.ticket-event-card__buy .kk-arrow-icon { width:.95rem; height:.95rem; }

.ticket-event-card--pass { border-color:rgb(87 221 135 / 35%); background:linear-gradient(152deg,rgb(21 62 36 / 96%),rgb(7 17 11 / 98%) 62%); box-shadow:0 1.4rem 3.5rem rgb(0 0 0 / 25%),inset 0 1px rgb(255 255 255 / 4%); }
.ticket-event-card--pass .ticket-event-card__media { background:linear-gradient(135deg,#153c24,#07130c); }
.ticket-event-card--pass .ticket-event-card__media::before { inset:0; background:radial-gradient(circle at 24% 44%,rgb(87 221 135 / 31%),transparent 35%),repeating-linear-gradient(132deg,transparent 0 22px,rgb(255 255 255 / 3.5%) 22px 23px); }
.ticket-event-card--pass .ticket-event-card__media::after { background:linear-gradient(180deg,transparent 45%,rgb(3 9 5 / 58%)); }
.ticket-event-card--pass .ticket-event-card__court { opacity:.32; filter:saturate(1.2); transform:scale(1.12) rotate(-2deg); }
.ticket-event-card--pass:hover .ticket-event-card__court { opacity:.43; transform:scale(1.15) rotate(-2deg); }
.ticket-event-card__pass-identity { position:absolute; z-index:4; inset:0; display:grid; place-content:center; justify-items:center; gap:var(--space-4); text-align:center; }
.ticket-event-card__pass-identity img { width:auto; max-width:min(64%,9rem); height:auto; max-height:5.8rem; object-fit:contain; filter:drop-shadow(0 1rem 1.5rem rgb(0 0 0 / 40%)); }
.ticket-event-card__pass-identity span { padding:.48rem .72rem; border:1px solid rgb(152 255 188 / 30%); border-radius:.5rem; background:rgb(3 10 6 / 55%); color:var(--color-accent-bright); font-size:.66rem; font-weight:var(--font-weight-bold); letter-spacing:.12em; text-transform:uppercase; backdrop-filter:blur(7px); }
.ticket-event-card__pass-label { margin:0 0 var(--space-3); color:var(--color-accent-bright); font-size:.66rem; font-weight:var(--font-weight-bold); letter-spacing:.12em; text-transform:uppercase; }
.ticket-event-card--pass h2 { min-height:3.36em; font-size:clamp(1.35rem,1.65vw,1.78rem); -webkit-line-clamp:3; }
.ticket-event-card__season { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:var(--space-3); margin-bottom:var(--space-5); padding:var(--space-4); border:1px solid rgb(87 221 135 / 22%); border-radius:var(--radius-md); background:linear-gradient(135deg,rgb(87 221 135 / 10%),rgb(255 255 255 / 2%)); }
.ticket-event-card__season strong { font-family:var(--font-display); font-size:clamp(1.55rem,2.4vw,2rem); line-height:1; }
.ticket-event-card__season span { color:var(--color-text-muted); font-size:.68rem; font-weight:var(--font-weight-bold); letter-spacing:.08em; text-transform:uppercase; }
.tickets-page__empty { padding:clamp(2rem,5vw,4.5rem); border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--gradient-surface); text-align:center; }
.tickets-page__empty h2 { margin:0; font-size:clamp(1.5rem,3vw,2.5rem); }
.tickets-page__empty a { display:inline-flex; align-items:center; gap:var(--space-2); margin:var(--space-5) auto 0; padding-bottom:.35rem; border-bottom:1px solid var(--color-border-strong); color:var(--color-text-muted); font-size:.68rem; font-weight:var(--font-weight-bold); letter-spacing:.06em; text-transform:uppercase; transition:border-color var(--transition-fast),color var(--transition-fast); }
.tickets-page__empty a:hover,.tickets-page__empty a:focus-visible { border-color:var(--color-accent); color:var(--color-accent-bright); }

@media (max-width:71.99rem) {
	.tickets-page__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ticket-event-card__media { min-height:14.5rem; }
}
@media (max-width:47.99rem) {
	.tickets-page { padding:var(--space-7) 0 var(--space-8); }
	.tickets-page__header { margin-bottom:var(--space-6); }
	.tickets-page__grid { grid-template-columns:1fr; gap:var(--space-4); }
	.ticket-event-card__media { min-height:clamp(13rem,58vw,15.25rem); }
	.ticket-event-card__player { right:0; width:50%; height:104%; }
	.ticket-event-card__body { padding:var(--space-4); }
	.ticket-event-card h2 { min-height:0; }
	.ticket-event-card--pass h2 { min-height:0; }
	.ticket-event-card__event-info { margin-bottom:var(--space-4); padding:var(--space-3); }
	.ticket-event-card__date { min-width:6rem; padding-right:var(--space-3); }
	.ticket-event-card__date strong { font-size:3rem; }
	.ticket-event-card__footer { align-items:center; }
	.ticket-event-card__buy { min-width:7.5rem; min-height:3rem; }
}
@media (max-width:26.875rem) {
	.ticket-event-card__logos { top:var(--space-3); left:var(--space-3); }
	.ticket-event-card__team-logo { width:3rem; height:3rem; }
	.ticket-event-card__team-logo > .team-logo { padding:.45rem; }
	.ticket-event-card__event-info { grid-template-columns:minmax(0,1fr) auto; gap:var(--space-3); }
	.ticket-event-card__date { min-width:0; }
	.ticket-event-card__time-place { max-width:8.5rem; }
}
@media (prefers-reduced-motion:reduce) {
	.ticket-event-card,.ticket-event-card__court,.ticket-event-card__buy { transition:none; }
	.ticket-event-card:hover,.ticket-event-card:hover .ticket-event-card__court,.ticket-event-card--pass:hover .ticket-event-card__court,.ticket-event-card__buy:hover { transform:none; }
}
