/* World AI Expo — online booking app (/book/). Uses the site's tokens. */
/* The site's sticky quick-action bar and cookie banner sit over the bottom of the viewport; on the booking page the bar is hidden and the app keeps clear space so controls are never covered. */
.sticky-cta{display:none!important}
.wb{padding-bottom:140px!important;--wb-line:var(--line,#e5e7eb);--wb-muted:var(--text-muted,#6b7280);--wb-ink:var(--text,#0b1220);--wb-blue:var(--blue,#1a56db);--wb-surface:var(--surface,#fff);--wb-surface-2:var(--surface-2,#f4f6fa);max-width:1040px;margin:0 auto;padding:8px 0 40px}
.wb *{box-sizing:border-box}
.wb-steps{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px;padding:0;list-style:none}
.wb-steps li{flex:1 1 120px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--wb-muted);padding:10px 12px;border-radius:10px;background:var(--wb-surface-2)}
.wb-steps li span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--wb-line);color:var(--wb-ink);font-size:12px}
.wb-steps li.active{color:var(--wb-blue);background:color-mix(in srgb,var(--wb-blue) 10%,transparent)}
.wb-steps li.active span,.wb-steps li.done span{background:var(--wb-blue);color:#fff}
.wb-steps li.done{color:var(--wb-ink)}
.wb-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
@media (max-width:860px){.wb-grid{grid-template-columns:1fr}.wb-side{order:-1}}
.wb-card{background:var(--wb-surface);border:1px solid var(--wb-line);border-radius:14px;padding:22px}
.wb-card h2{font-size:1.25rem;margin:0 0 6px}
.wb-card h3{font-size:1rem;margin:18px 0 8px}
.wb-lead{color:var(--wb-muted);margin:0 0 16px;font-size:.95rem}
.wb-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}
.wb-tabs button{border:1px solid var(--wb-line);background:var(--wb-surface);border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px;cursor:pointer;color:var(--wb-ink)}
.wb-tabs button.active{background:var(--wb-blue);border-color:var(--wb-blue);color:#fff}
.wb-pkgs{display:grid;gap:12px}
.wb-pkg{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--wb-line);border-radius:12px;padding:14px 16px;background:var(--wb-surface)}
.wb-pkg.featured{border-color:var(--wb-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--wb-blue) 14%,transparent)}
.wb-pkg.soldout{opacity:.55}
.wb-pkg .name{font-weight:800;font-size:1rem}
.wb-pkg .tag{font-size:12px;color:var(--wb-muted)}
.wb-pkg .price{font-weight:800;color:var(--wb-blue);font-size:1.05rem;white-space:nowrap}
.wb-pkg .price s{color:var(--wb-muted);font-weight:500;font-size:.85rem;margin-right:6px}
.wb-pkg .meta{font-size:12px;color:var(--wb-muted);margin-top:4px}
.wb-pkg details{margin-top:6px;font-size:13px}
.wb-pkg details summary{cursor:pointer;color:var(--wb-blue);font-weight:600}
.wb-pkg .incl ul{margin:6px 0 0;padding-left:18px}
.wb-qty{display:flex;align-items:center;gap:6px}
.wb-qty button{width:32px;height:32px;border-radius:8px;border:1px solid var(--wb-line);background:var(--wb-surface);font-size:18px;line-height:1;cursor:pointer;color:var(--wb-ink)}
.wb-qty input{width:52px;height:32px;text-align:center;border:1px solid var(--wb-line);border-radius:8px;background:var(--wb-surface);color:var(--wb-ink)}
.wb-qty .pick{height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--wb-blue);background:var(--wb-surface);color:var(--wb-blue);font-weight:700;cursor:pointer}
.wb-qty .pick.on{background:var(--wb-blue);color:#fff}
.wb-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
@media (max-width:600px){.wb-form{grid-template-columns:1fr}}
.wb-form .full{grid-column:1/-1}
.wb-field label{display:block;font-size:12px;font-weight:700;margin-bottom:4px;color:var(--wb-ink)}
.wb-field input,.wb-field select,.wb-field textarea{width:100%;height:42px;border:1px solid var(--wb-line);border-radius:9px;padding:0 12px;background:var(--wb-surface);color:var(--wb-ink);font:inherit}
.wb-field textarea{height:auto;padding:10px 12px}
.wb-field .hint{font-size:11.5px;color:var(--wb-muted);margin-top:4px}
.wb-field.err input,.wb-field.err select{border-color:#dc2626}
.wb-otp{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.wb-otp .wb-field{flex:1 1 200px}
.wb-note{background:var(--wb-surface-2);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5}
.wb-note.ok{background:#e8f7ee;color:#14532d}
.wb-note.warn{background:#fff6dc;color:#713f12}
.wb-error{color:#b91c1c;font-size:13px;font-weight:600;margin:10px 0}
.wb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;align-items:center}
.wb-actions .spacer{flex:1}
.wb-sum{position:sticky;top:calc(var(--header-h,64px) + 12px)}
.wb-sum table{width:100%;border-collapse:collapse;font-size:14px}
.wb-sum td{padding:6px 0;border-bottom:1px solid var(--wb-line);vertical-align:top}
.wb-sum td.r{text-align:right;white-space:nowrap}
.wb-sum tr.total td{font-weight:800;border-bottom:0;border-top:2px solid var(--wb-blue);font-size:15px}
.wb-sum .small{font-size:12px;color:var(--wb-muted)}
.wb-sched{width:100%;border-collapse:collapse;font-size:13.5px;margin:8px 0}
.wb-sched th,.wb-sched td{padding:7px 8px;border-bottom:1px solid var(--wb-line);text-align:left}
.wb-sched th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--wb-muted)}
.wb-sched td.r,.wb-sched th.r{text-align:right}
.wb-radio{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--wb-line);border-radius:10px;padding:12px 14px;cursor:pointer;margin-bottom:8px}
.wb-radio.on{border-color:var(--wb-blue);background:color-mix(in srgb,var(--wb-blue) 7%,transparent)}
.wb-radio input{margin-top:3px}
.wb-radio b{display:block}
.wb-radio small{color:var(--wb-muted)}
.wb-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;margin:10px 0}
.wb-check input{margin-top:3px}
.wb-timer{font-size:12px;color:var(--wb-muted)}
.wb-pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:700;background:var(--wb-surface-2);color:var(--wb-ink)}
.wb-pill.ok{background:#e8f7ee;color:#14532d}.wb-pill.warn{background:#fff6dc;color:#713f12}.wb-pill.bad{background:#fde8e6;color:#7f1d1d}
.wb-attendee{border:1px solid var(--wb-line);border-radius:12px;padding:14px;margin-bottom:10px}
.wb-attendee h4{margin:0 0 8px;font-size:.9rem}
.wb-code{font-family:ui-monospace,Menlo,monospace;font-weight:800;letter-spacing:.08em}
.wb-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.wb-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--wb-line);border-top-color:var(--wb-blue);border-radius:50%;animation:wbspin .8s linear infinite;vertical-align:middle;margin-right:6px}
@keyframes wbspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.wb-spinner{animation:none}}
.wb button:focus-visible,.wb a:focus-visible,.wb input:focus-visible,.wb select:focus-visible{outline:3px solid color-mix(in srgb,var(--wb-blue) 45%,transparent);outline-offset:2px}
