/* Design tokens lifted verbatim from the live tickify.live event page so this
   subdomain renders as a native part of the platform. */
:root{
  --event-background:#f7f7f8;
  --event-surface:#ffffff;
  --event-text:#171717;
  --event-muted:#6b7280;
  --event-border:#e5e7eb;
  --event-dark:#111111;
  --event-radius:16px;
  --event-shadow:0 12px 35px rgba(17,24,39,.06);
  --heli-front:#a9dd36;      /* official Tickify green, from the brand PNGs */
  --heli-danger:#d92d20;
  --heli-success:#067647;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  background:var(--event-background);
  color:var(--event-text);
  font-size:15px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 16px;width:100%}

/* ---------- header / footer ----------
   tickify.live serves a white header (#fff, 1px #ededed rule) and a pure
   black footer, with a dark logo above and the light logo below. */
.heli-header{
  background:#fff;border-bottom:1px solid #ededed;
  position:sticky;top:0;z-index:40;
}
.heli-header-inner{display:flex;align-items:center;justify-content:space-between;height:66px}
.heli-brand{display:inline-flex;align-items:center}
.heli-brand img{display:block;width:115px;height:auto}
.heli-header-nav{display:flex;gap:22px}
.heli-header-nav a{color:var(--event-text);font-size:14px;font-weight:500}
.heli-header-nav a:hover{color:var(--heli-front-ink,#111);opacity:.7}

.heli-footer{background:#000;color:#a1a1aa;margin-top:56px;padding:40px 0 22px;font-size:13.5px}
.heli-footer .heli-brand img{width:115px}
.heli-footer-head{color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px}
.heli-footer-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.heli-footer-list a:hover{color:#fff}
.heli-footer-note{color:#a1a1aa;line-height:1.6;margin:0}
.heli-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:16px;font-size:12.5px}

/* ---------- event hero + summary (mirrors the tickify.live event page) ---------- */
.event-hero{position:relative;overflow:hidden;padding:16px 0;background:#101010}
.event-hero-blur{
  position:absolute;inset:-35px;background-position:center;background-size:cover;
  filter:blur(35px);opacity:.5;transform:scale(1.1);pointer-events:none;
}
.event-hero::after{position:absolute;inset:0;content:"";background:rgba(0,0,0,.28);pointer-events:none}
.event-banner-shell{position:relative;z-index:2;max-width:1200px;margin:0 auto}
.event-banner{
  display:block;width:100%;max-height:520px;object-fit:cover;
  border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.event-summary-wrap{position:relative;z-index:5;margin-top:8px}
.event-summary-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;
  padding:24px;background:var(--event-surface);border:1px solid var(--event-border);
  border-radius:var(--event-radius);box-shadow:var(--event-shadow);
}
.event-title{
  margin:0 0 12px;color:var(--event-text);
  font-size:clamp(23px,3vw,34px);font-weight:800;line-height:1.2;
}
.event-meta{display:flex;flex-wrap:wrap;gap:9px 18px;color:var(--event-muted);font-size:13px}
.event-meta-item{display:inline-flex;align-items:flex-start;gap:7px}
.event-meta-item i{width:17px;color:var(--event-dark);text-align:center;margin-top:2px;flex:none}
.event-main-action{
  min-width:185px;min-height:48px;padding:12px 20px;border-radius:10px;
  font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;
}

/* ---------- two-column content ---------- */
.event-content{margin-top:24px}
.event-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.content-card,.side-card{
  background:var(--event-surface);border:1px solid var(--event-border);
  border-radius:var(--event-radius);box-shadow:var(--event-shadow);padding:22px;
}
.content-card + .content-card,.side-card + .side-card{margin-top:20px}
.content-card-title{font-size:19px;font-weight:700;margin:0 0 4px}
.content-card-lead{font-weight:600;font-size:15px;margin:10px 0 6px}
.content-card-sub{color:var(--event-muted);font-size:13.5px;margin:0 0 18px}
.content-card-body{color:#3f3f46;font-size:14.5px;line-height:1.85}
.content-card-body p{margin:0 0 14px}
.side-card-title{font-size:15px;font-weight:700;margin:0 0 14px}
.side-card-list{list-style:none;padding:0;margin:0;display:grid;gap:11px;font-size:13.5px}
.side-card-list li{display:flex;align-items:center;gap:10px;color:#3f3f46}
.side-card-list i{width:18px;color:var(--event-dark);text-align:center;flex:none}
.side-card-list a:hover{text-decoration:underline}

/* ---------- cards ---------- */
.event-summary-wrap{position:relative;z-index:5;margin-top:-52px}
.heli-card{
  background:var(--event-surface);border:1px solid var(--event-border);
  border-radius:var(--event-radius);box-shadow:var(--event-shadow);padding:22px;
}
.heli-card + .heli-card{margin-top:16px}
.heli-card-title{font-size:17px;font-weight:700;margin:0 0 4px}
.heli-card-sub{color:var(--event-muted);font-size:13.5px;margin:0 0 18px}

/* ---------- step bar ---------- */
.heli-steps{background:var(--event-surface);border-bottom:1px solid var(--event-border)}
.heli-steps-inner{display:flex;gap:6px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.heli-steps-inner::-webkit-scrollbar{display:none}
.heli-step{
  display:flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;
  font-size:13px;font-weight:500;color:var(--event-muted);white-space:nowrap;flex:none;
}
.heli-step .n{
  width:21px;height:21px;border-radius:50%;display:grid;place-items:center;
  background:var(--event-border);color:var(--event-muted);font-size:11.5px;font-weight:700;
}
.heli-step.is-done{color:var(--event-text)}
.heli-step.is-done .n{background:var(--heli-success);color:#fff}
.heli-step.is-active{background:var(--event-text);color:#fff}
.heli-step.is-active .n{background:var(--heli-front);color:#111}

/* ---------- option tiles (dates) ---------- */
.heli-grid{display:grid;gap:12px}
.heli-grid.dates{grid-template-columns:repeat(auto-fill,minmax(228px,1fr))}
.heli-option{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid var(--event-border);border-radius:12px;padding:14px 16px;
  background:var(--event-surface);transition:.15s ease;width:100%;text-align:left;
}
.heli-option:hover{border-color:var(--event-dark);transform:translateY(-1px);box-shadow:var(--event-shadow)}
.heli-option.is-disabled{opacity:.5;pointer-events:none;background:#fafafa}
.heli-option-text{display:block;min-width:0}
.heli-option-day{display:block;font-weight:700;font-size:15px;line-height:1.3;white-space:nowrap}
.heli-option-sub{display:block;color:var(--event-muted);font-size:12.5px;margin-top:3px;line-height:1.45}
.heli-chip{
  font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:999px;
  background:#f4f4f5;color:var(--event-muted);white-space:nowrap;
}
.heli-chip.ok{background:#ecfdf3;color:var(--heli-success)}
.heli-chip.low{background:#fffaeb;color:#b54708}
.heli-chip.none{background:#fef3f2;color:var(--heli-danger)}

/* ---------- slot buttons ---------- */
.heli-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.heli-slot{
  border:1px solid var(--event-border);border-radius:12px;background:var(--event-surface);
  padding:13px 10px;text-align:center;transition:.15s ease;
}
.heli-slot:hover{border-color:var(--event-dark);transform:translateY(-1px)}
.heli-slot-time{font-weight:700;font-size:15px}
.heli-slot-meta{font-size:11.5px;color:var(--event-muted);margin-top:3px}
.heli-slot.is-full,.heli-slot.is-closed{opacity:.55;pointer-events:none;background:#fafafa}
.heli-slot.is-full .heli-slot-meta{color:var(--heli-danger);font-weight:600}

/* ---------- seat map ---------- */
.heli-cabin{
  border:1px solid var(--event-border);border-radius:var(--event-radius);
  padding:22px 16px;background:linear-gradient(180deg,#fafafa,#fff);
}
.heli-cabin-nose{
  width:76px;height:26px;margin:0 auto 6px;
  border-radius:60px 60px 0 0;background:var(--event-border);
}
.heli-row-label{
  text-align:center;font-size:11px;font-weight:700;letter-spacing:1.2px;
  color:var(--event-muted);text-transform:uppercase;margin:16px 0 10px;
}
.heli-seat-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.heli-seat{
  width:88px;padding:11px 6px;border-radius:12px;border:1.5px solid var(--event-border);
  background:#fff;text-align:center;transition:.15s ease;cursor:pointer;
}
.heli-seat:hover:not(:disabled){border-color:var(--event-dark);transform:translateY(-2px)}
.heli-seat-no{display:block;font-weight:800;font-size:17px;line-height:1.1}
.heli-seat-cat{display:block;font-size:10.5px;color:var(--event-muted);margin-top:3px;line-height:1.2}
.heli-seat-price{display:block;font-size:12px;font-weight:600;margin-top:5px;line-height:1.2}
.heli-seat.is-selected{border-color:var(--event-dark);background:var(--event-text);color:#fff}
.heli-seat.is-selected .heli-seat-cat{color:#d4d4d8}
.heli-seat:disabled{opacity:.45;cursor:not-allowed;background:#f4f4f5}
/* Strike only the seat number -- striking the whole tile turns the
   category and price into noise. */
.heli-seat.is-sold .heli-seat-no{text-decoration:line-through}
.heli-seat.is-sold .heli-seat-price{color:var(--event-muted);font-weight:500}
.heli-legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:18px;font-size:12px;color:var(--event-muted)}
.heli-legend span{display:inline-flex;align-items:center;gap:6px}
.heli-legend i{width:12px;height:12px;border-radius:4px;border:1.5px solid var(--event-border);display:inline-block}
.heli-legend i.sel{background:var(--event-text);border-color:var(--event-text)}
.heli-legend i.sold{background:#f4f4f5}
.heli-legend i.held{background:#fffaeb;border-color:#fec84b}

/* ---------- summary / totals ---------- */
.heli-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:14px}
.heli-line + .heli-line{border-top:1px dashed var(--event-border)}
.heli-total{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--event-text);margin-top:12px;padding-top:12px;font-weight:800;font-size:18px}

/* sticky action bar keeps the CTA reachable on a phone */
.heli-actionbar{
  position:sticky;bottom:0;z-index:30;background:var(--event-surface);
  border-top:1px solid var(--event-border);padding:11px 0;
  box-shadow:0 -6px 24px rgba(17,24,39,.07);margin-top:20px;
}
.heli-actionbar-inner{display:flex;align-items:center;justify-content:space-between;gap:14px}
.heli-actionbar-total small{display:block;color:var(--event-muted);font-size:11.5px;line-height:1}
.heli-actionbar-total b{font-size:19px}

.btn-heli{
  background:var(--event-dark);color:#fff;border:none;border-radius:10px;
  padding:12px 26px;font-weight:600;font-size:14.5px;transition:.15s ease;
}
.btn-heli:hover:not(:disabled){background:#000;color:#fff;transform:translateY(-1px)}
.btn-heli:disabled{opacity:.4;cursor:not-allowed}
.btn-heli-outline{
  background:transparent;color:var(--event-text);border:1px solid var(--event-border);
  border-radius:10px;padding:11px 20px;font-weight:600;font-size:14px;
}
.btn-heli-outline:hover{border-color:var(--event-dark)}

.heli-back{display:inline-flex;align-items:center;gap:6px;color:var(--event-muted);font-size:13.5px;margin-bottom:14px}
.heli-back:hover{color:var(--event-text)}
.heli-note{background:#fffaeb;border:1px solid #fec84b;color:#b54708;border-radius:12px;padding:11px 14px;font-size:13px}
.heli-timer{font-variant-numeric:tabular-nums;font-weight:700}

/* ---------- tickets ---------- */
.heli-ticket{
  display:grid;grid-template-columns:1fr 132px;gap:18px;background:var(--event-surface);
  border:1px solid var(--event-border);border-radius:var(--event-radius);
  box-shadow:var(--event-shadow);padding:20px;position:relative;overflow:hidden;
}
.heli-ticket::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--heli-front)}
.heli-ticket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:12px 18px;margin-top:14px}
.heli-ticket-grid div span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--event-muted);margin-bottom:2px}
.heli-ticket-grid div b{font-size:14px;font-weight:600}
.heli-ticket-qr{text-align:center;border-left:1px dashed var(--event-border);padding-left:16px}
.heli-ticket-qr img{width:100%;max-width:112px;height:auto}
.heli-ticket-qr code{font-size:9.5px;color:var(--event-muted);word-break:break-all}

/* ---------- verdicts ---------- */
.heli-verdict{border-radius:var(--event-radius);padding:26px;text-align:center;color:#fff}
.heli-verdict h1{font-size:26px;font-weight:800;margin:0 0 6px}
.heli-verdict.valid{background:var(--heli-success)}
.heli-verdict.used{background:#b54708}
.heli-verdict.invalid{background:var(--heli-danger)}

/* ---------- stats + tables ---------- */
.heli-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px}
.heli-stat{background:var(--event-surface);border:1px solid var(--event-border);border-radius:12px;padding:15px}
.heli-stat span{display:block;font-size:11.5px;color:var(--event-muted);text-transform:uppercase;letter-spacing:.5px}
.heli-stat b{font-size:23px;font-weight:800;line-height:1.3}
.heli-table{width:100%;font-size:13px;border-collapse:collapse}
.heli-table th{
  text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;
  color:var(--event-muted);padding:9px 10px;border-bottom:1px solid var(--event-border);white-space:nowrap;
}
.heli-table td{padding:10px;border-bottom:1px solid var(--event-border);white-space:nowrap}
.heli-table tr:hover td{background:#fafafa}
.heli-table-wrap{overflow-x:auto}
.heli-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:#f4f4f5;color:var(--event-muted)}
.heli-badge.confirmed{background:#ecfdf3;color:var(--heli-success)}
.heli-badge.checked_in{background:#eff8ff;color:#175cd3}
.heli-badge.reserved{background:#fffaeb;color:#b54708}
.heli-badge.cancelled,.heli-badge.expired,.heli-badge.refunded{background:#fef3f2;color:var(--heli-danger)}

@media (max-width:991px){
  .event-content-grid{grid-template-columns:1fr}
  .event-summary-card{grid-template-columns:1fr;gap:16px}
  .event-main-action{width:100%}
}

@media (max-width:768px){
  .event-hero{padding:0}
  .event-banner{border-radius:0}
  .event-banner-shell{padding:0}
  .event-summary-wrap{margin-top:0}
  .event-summary-card{border-radius:0;border-left:none;border-right:none;padding:18px 16px}
  .content-card,.side-card{padding:17px}
  .heli-header-inner{height:58px}
  .heli-brand img{width:96px}
  .heli-header-nav{gap:14px}
  .heli-header-nav a{font-size:13px}
  .heli-card{padding:17px}
  .heli-grid.dates{grid-template-columns:1fr}
  .heli-slots{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
  .heli-seat{width:calc(50% - 6px);max-width:150px}
  .heli-ticket{grid-template-columns:1fr}
  .heli-ticket-qr{border-left:none;border-top:1px dashed var(--event-border);padding:16px 0 0}
  .heli-ticket-qr img{max-width:150px}
}

.heli-seat.is-held{background:#fffaeb;border-color:#fec84b}
