/* IFFS 2027 — static/css/components/cards.css
   One family: speaker · session · tier · pass · logo-wall
   GENERATED from design/design_handoff_iffs_2027/static/css/iffs.css
   by scripts/split_design_css.py — do not hand-edit; edit the source. */
.card{background:var(--c-surface-canvas);border:1px solid var(--c-border-subtle);border-radius:var(--r-m);box-shadow:var(--shadow-1);overflow:hidden}
.card-grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-data);font-size:var(--fs-micro);font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill)}
.chip--accent{background:var(--p-accent-100);color:var(--p-accent-700)}
.chip--ok{background:var(--c-status-success-surface);color:var(--c-status-success-text)}
.chip--low{background:var(--c-status-warning-surface);color:var(--c-status-warning-text)}
.chip--out{background:var(--c-status-danger-surface);color:var(--c-status-danger-text)}
.chip--neutral{background:var(--p-steel-100);color:var(--p-graphite-600)}
.speaker-card__media{aspect-ratio:4/5;background:repeating-linear-gradient(45deg,var(--p-steel-100) 0 12px,var(--p-steel-050) 12px 24px);display:flex;align-items:center;justify-content:center;position:relative}
.speaker-card__media .ph{font-family:var(--font-data);font-size:10px;letter-spacing:.14em;color:var(--p-steel-500)}
.speaker-card__body{padding:var(--sp-4);display:flex;flex-direction:column;gap:4px}
.speaker-card__name{font-weight:600;font-size:16px}
.speaker-card__role{font-size:var(--fs-small);color:var(--c-text-secondary);line-height:1.45}
.speaker-card--soon .speaker-card__media{background:var(--p-steel-100)}
.sil{display:flex;flex-direction:column;align-items:center;gap:0;transform:translateY(12px)}
.sil__head{width:52px;height:52px;border-radius:50%;background:var(--p-steel-300)}
.sil__body{width:92px;height:44px;border-radius:46px 46px 0 0;background:var(--p-steel-300);margin-top:6px}
.speaker-card--tbd{border-style:dashed;box-shadow:none;display:flex;align-items:center;justify-content:center;aspect-ratio:4/5.9}
.session-card{display:grid;grid-template-columns:60px 1fr;gap:var(--sp-4);padding:var(--sp-4);align-items:start}
.session-card__time{font-family:var(--font-data);font-weight:600;font-size:15px;color:var(--c-link);padding-top:2px}
.session-card__title{font-weight:600;font-size:16px;line-height:1.35;margin:6px 0 4px}
.session-card__meta{font-size:var(--fs-small);color:var(--c-text-secondary)}
.tier-card{padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);position:relative}
.tier-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.tier-card__name{font-family:var(--font-display);font-weight:600;font-size:22px;text-transform:uppercase;letter-spacing:.02em}
.price{font-family:var(--font-data);font-weight:600;font-size:22px}
.price small{font-size:var(--fs-micro);font-weight:400;color:var(--c-text-muted);letter-spacing:.06em}
.deliverables{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-small);color:var(--p-graphite-700)}
.deliverables li{display:flex;gap:8px}
.deliverables li::before{content:"✓";color:var(--c-status-success);font-weight:700}
.card--soldout .dim{opacity:.45}
.stamp{position:absolute;top:18px;right:14px;transform:rotate(6deg);border:2px solid var(--p-red-500);color:var(--p-red-700);background:rgba(255,255,255,.92);font-family:var(--font-data);font-weight:600;font-size:12px;letter-spacing:.18em;padding:5px 12px;border-radius:3px}
.logo-wall{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.logo-slot{aspect-ratio:3/1.6;border:1px solid var(--c-border-subtle);border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;font-family:var(--font-data);font-size:10px;letter-spacing:.14em;color:var(--p-steel-500);background:var(--c-surface-canvas);text-align:center;padding:8px}
.logo-slot--empty{border-style:dashed;color:var(--p-steel-400);background:var(--p-steel-025)}
.supported{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);border-block:1px solid var(--c-border-subtle);padding:var(--sp-4) 0}
.supported__label{font-family:var(--font-data);font-size:var(--fs-micro);letter-spacing:.16em;color:var(--c-text-muted);text-transform:uppercase}
.supported__note{font-size:var(--fs-small);color:var(--c-text-secondary)}
