/* IFFS 2027 — static/css/pages/passes.css
   GENERATED from design/design_handoff_iffs_2027/pages/IFFS Passes.dc.html
   by scripts/extract_page_css.py — do not hand-edit; edit the source. */
.ladder{display:grid;gap:var(--sp-3)}
@media(min-width:720px){.ladder{grid-template-columns:repeat(3,1fr)}}
.rung{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:6px}
.rung .when{font-family:var(--font-data);font-size:var(--fs-micro);letter-spacing:.13em;color:var(--c-text-muted);text-transform:uppercase}
.rung .amt{font-family:var(--font-data);font-weight:600;font-size:24px}
.rung .amt small{font-size:var(--fs-micro);font-weight:400;color:var(--c-text-muted)}
.rung--active{border-color:var(--c-action-primary);box-shadow:0 0 0 3px rgba(221,127,0,.14)}
.rung--future{background:var(--p-steel-025)}
.rung--future .amt{color:var(--c-text-secondary)}
.pass-grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.includes-strip{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.trust{border-block:1px solid var(--c-border-subtle);padding:var(--sp-4) 0;display:flex;gap:var(--sp-4) var(--sp-5);flex-wrap:wrap;font-family:var(--font-data);font-size:var(--fs-micro);letter-spacing:.12em;color:var(--p-graphite-600);text-transform:uppercase}
.trust a{color:var(--c-link)}
.step-rail{display:flex;gap:var(--sp-2);flex-wrap:wrap;font-family:var(--font-data);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase}
.step{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--c-border-subtle);border-radius:var(--r-pill);color:var(--c-text-secondary)}
.step--done{border-color:var(--c-status-success);color:var(--c-status-success-text)}
.step--now{border-color:var(--c-action-primary);color:var(--p-accent-700);background:var(--p-accent-050)}
.checkout{display:grid;gap:var(--sp-4);max-width:880px}
.attendee-done{display:flex;justify-content:space-between;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-4)}
.attendee-done .who{display:flex;flex-direction:column}
.attendee-done .who b{font-size:15px}
.attendee-done .who span{font-size:var(--fs-small);color:var(--c-text-secondary)}
.order{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:8px;font-family:var(--font-data);font-size:13px}
.order div{display:flex;justify-content:space-between;gap:var(--sp-4)}
.order .muted{color:var(--c-text-secondary)}
.order .total{border-top:1px solid var(--c-border-subtle);padding-top:10px;font-weight:600;font-size:15px}
.qr{width:128px;height:128px;border:1px solid var(--c-border-subtle);border-radius:var(--r-s);background-image:repeating-conic-gradient(var(--p-graphite-900) 0 25%,transparent 0 50%);background-size:16px 16px;background-position:center}
.confirm{display:grid;gap:var(--sp-4)}
@media(min-width:720px){.confirm{grid-template-columns:auto 1fr;align-items:center}}
.waiting{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-4) var(--sp-5)}
.waiting .spinner{width:20px;height:20px;border:2.5px solid var(--p-steel-200);border-top-color:var(--p-accent-600);border-radius:50%;animation:spin .8s linear infinite;flex:none}
.pagehead .countdown{align-self:flex-start}
