/* Nakup vstupenek, dekovna stranka a vstupenka. Barvy a pisma bere z falcon-2026.css. */
/* hlavicka webu je pevna (asi 80 px), obsah musi zacinat pod ni */
.vstupenky-nakup { padding: 128px 0 80px; }
/* plovouci tlacitka by na telefonu prekryvala tlacitko platby a QR kod */
body:has(.vstupenky-nakup) .whatsapp-float, body:has(.vstupenky-nakup) .next-event-float { display: none !important; }
.vstupenky-nakup .container { max-width: 760px; }
.vstupenky-nakup h1 { font-size: clamp(1.8rem, 5vw, 2.6rem); margin: 0 0 12px; }
.vstupenky-zpet { margin: 0 0 18px; }
.vstupenky-zpet a { color: var(--falcon-green, #00ff9d); text-decoration: none; }
.vstupenky-akce { margin: 0 0 28px; font-size: 1.1rem; line-height: 1.6; color: rgb(255 255 255 / 80%); }
.vstupenky-akce strong { color: #fff; }
.vstupenky-hlaska { margin: 0 0 20px; padding: 14px 18px; border-radius: 12px; border: 1px solid rgb(255 255 255 / 14%); background: rgb(255 255 255 / 5%); }
.vstupenky-chyba { border-color: #ff4d6d; background: rgb(255 77 109 / 12%); color: #ffd6dd; }
.vstupenky-formular { display: block; }
.vstupenky-soucet { margin: 0; font-size: 1.6rem; font-weight: 700; color: #fff; }
.vstupenky-soucet small { display: block; font-size: .85rem; font-weight: 400; color: rgb(255 255 255 / 60%); }
.vstupenky-past { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vstupenky-souhlas { margin: 6px 0 22px; line-height: 1.5; color: rgb(255 255 255 / 80%); }
.vstupenky-souhlas input { width: 20px; height: 20px; vertical-align: -4px; margin-right: 8px; accent-color: #00ff9d; }
.vstupenky-souhlas a, .vstupenky-pozn a { color: var(--falcon-green, #00ff9d); }
.vstupenky-pozn { margin: 16px 0 0; font-size: .92rem; color: rgb(255 255 255 / 60%); }
.vstupenky-formular select, .vstupenky-formular input[type=text], .vstupenky-formular input[type=email] { font-size: 16px; }
.vstupenky-seznam { display: grid; gap: 16px; }
.vstupenka-karta { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; align-items: center; padding: 18px; border-radius: 16px; border: 1px solid rgb(255 255 255 / 12%); background: rgb(255 255 255 / 4%); }
.vstupenka-karta h2 { margin: 0 0 6px; font-size: 1.15rem; }
.vstupenka-karta p { margin: 0 0 10px; color: rgb(255 255 255 / 80%); }
.vstupenka-qr { background: #fff; border-radius: 10px; padding: 6px; line-height: 0; }
.vstupenka-qr svg { display: block; width: 100%; height: auto; }
.vstupenka-list { max-width: 420px; margin: 0 auto; padding: 28px 24px; text-align: center; border-radius: 20px; border: 1px solid rgb(255 255 255 / 14%); background: linear-gradient(180deg, rgb(138 43 226 / 16%), rgb(255 255 255 / 3%)); }
.vstupenka-list h1 { font-size: clamp(1.4rem, 5vw, 1.9rem); margin: 6px 0 10px; overflow-wrap: anywhere; }
.vstupenka-stav { display: inline-block; margin: 0; padding: 5px 14px; border-radius: 999px; font-weight: 700; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; background: #00ff9d; color: #06120d; }
.vstupenka-pouzita .vstupenka-stav { background: #ffb020; }
.vstupenka-zrusena .vstupenka-stav { background: #ff4d6d; color: #fff; }
.vstupenka-zrusena .vstupenka-qr, .vstupenka-pouzita .vstupenka-qr { opacity: .35; }
.vstupenka-kdy { margin: 0 0 20px; color: rgb(255 255 255 / 80%); line-height: 1.6; }
.vstupenka-qr-velky { max-width: 280px; margin: 0 auto 16px; }
.vstupenka-kod { margin: 0 0 6px; font-family: 'JetBrains Mono', monospace; letter-spacing: .12em; font-size: 1.05rem; color: #00ff9d; }
.vstupenka-jmeno { margin: 0; color: #fff; }
@media (max-width: 520px) {
  .vstupenky-nakup { padding: 104px 0 56px; }
  .vstupenka-karta { grid-template-columns: minmax(0, 1fr); text-align: center; }
  .vstupenka-karta .vstupenka-qr { max-width: 200px; margin: 0 auto; }
  .vstupenky-formular .btn { width: 100%; }
}
@media print {
  header, footer, nav, .whatsapp-float, .floating-ticket, .vstupenky-zpet { display: none !important; }
  .vstupenka-list { border-color: #000; background: #fff; color: #000; }
  .vstupenka-list h1, .vstupenka-kdy, .vstupenka-jmeno, .vstupenka-kod { color: #000; }
}
