:root {
  --white: #ffffff;
  --paper-25: #fcfbfb;
  --paper-50: #faf9f9;
  --paper-75: #f1f0f0;
  --paper-100: #ebe6df;
  --paper-200: #ded7cf;
  --paper-250: #d8d1c7;
  --paper-450: #807b73;
  --paper-500: #5a554e;
  --mist: #e2e6f0;
  --slate-250: #a5a9b7;
  --slate-300: #9a9dab;
  --slate-350: #949aad;
  --slate-400: #868da1;
  --slate-450: #767d90;
  --slate-550: #646a78;
  --slate-600: #545a6c;
  --slate-700: #383c4a;
  --slate-800: #1b1e27;
  --slate-850: #15171e;
  --slate-900: #101219;
  --slate-950: #0a0b10;
  --ink: #201c16;
  --midnight: #0a1022;

  --cobalt-700: #16389e;
  --cobalt-600: #1a45c4;
  --cobalt-400: #8fb3ff;
  --cobalt-300: #9cbeff;
  --cobalt-250: #a9c6ff;

  --emerald-600: #1f9d63;
  --emerald-400: #43c489;
  --emerald-800: #146c43;
  --emerald-900: #0f5533;
  --emerald-300: #8fe9bb;

  --amber-500: #eab308;
  --amber-400: #f2a33c;
  --amber-800: #8a5200;

  --rose-600: #d5484f;
  --rose-400: #ef6a71;
  --rose-350: #f4868c;
  --rose-800: #b3262c;

  --shade-soft: rgb(20 20 30 / 5%);
  --shade: rgb(20 20 30 / 7%);
  --shade-pop: rgb(20 20 30 / 8%);
  --shade-pop-far: rgb(20 20 30 / 14%);
  --night-soft: rgb(0 0 0 / 40%);
  --night: rgb(0 0 0 / 45%);
  --night-pop: rgb(0 0 0 / 50%);
  --night-pop-far: rgb(0 0 0 / 55%);

  --soot-3: rgb(0 0 0 / 3%);
  --soot-6: rgb(0 0 0 / 6%);
  --soot-8: rgb(0 0 0 / 8%);
  --soot-12: rgb(0 0 0 / 12%);
  --soot-15: rgb(0 0 0 / 15%);
  --soot-25: rgb(0 0 0 / 25%);
  --soot-30: rgb(0 0 0 / 30%);
  --soot-35: rgb(0 0 0 / 35%);
  --sheen-8: rgb(255 255 255 / 8%);
}

:root {
  color-scheme: light dark;

  --bg: light-dark(var(--paper-50), var(--slate-900));
  --surface: light-dark(var(--white), var(--slate-800));
  --surface-2: light-dark(var(--paper-25), var(--slate-850));
  --key: transparent;
  --key-edge: var(--field-line);
  --key-ink: var(--text);
  --key-lift: none;
  --key-hover: var(--accent-weak);
  --key-edge-hover: var(--accent);
  --key-ink-hover: var(--accent-ink);
  --key-lift-hover: none;

  --line: light-dark(var(--paper-100), var(--slate-700));
  --line-strong: light-dark(var(--paper-200), var(--slate-600));
  --dark-ground: var(--slate-850);
  --dark-ground-line: var(--slate-700);
  --field-line: light-dark(var(--paper-250), var(--slate-550));
  --sw-track-off: light-dark(var(--paper-450), var(--slate-450));
  --line-structural: light-dark(var(--paper-100), var(--slate-700));
  --shell-ground: light-dark(var(--paper-75), var(--slate-950));

  --text: light-dark(var(--ink), var(--mist));
  --text-muted: light-dark(var(--paper-500), var(--slate-250));
  --text-placeholder: light-dark(color-mix(in srgb, var(--ink) 65%, var(--white)), var(--slate-400));
  --text-faint: light-dark(var(--paper-450), var(--slate-350));

  --accent: light-dark(var(--cobalt-600), var(--cobalt-400));
  --accent-strong: light-dark(var(--cobalt-700), var(--cobalt-300));
  --accent-ink: light-dark(var(--cobalt-700), var(--cobalt-250));
  --on-accent: light-dark(var(--white), var(--midnight));
  --accent-weak: light-dark(
    color-mix(in srgb, var(--accent) 9%, transparent),
    color-mix(in srgb, var(--accent) 14%, transparent));
  --accent-weak-2: light-dark(
    color-mix(in srgb, var(--accent) 12%, transparent),
    color-mix(in srgb, var(--accent) 18%, transparent));

  --ok: light-dark(var(--emerald-600), var(--emerald-400));
  --ok-ink: light-dark(var(--emerald-800), var(--emerald-400));
  --ok-weak: light-dark(
    color-mix(in srgb, var(--ok) 11%, transparent),
    color-mix(in srgb, var(--ok) 16%, transparent));
  --ok-strong: light-dark(
    color-mix(in srgb, var(--ok) 24%, transparent),
    color-mix(in srgb, var(--ok) 30%, transparent));
  --ok-strong-ink: light-dark(var(--emerald-900), var(--emerald-300));
  --warn: light-dark(var(--amber-500), var(--amber-400));
  --warn-ink: light-dark(var(--amber-800), var(--amber-400));
  --warn-weak: light-dark(
    color-mix(in srgb, var(--warn) 13%, transparent),
    color-mix(in srgb, var(--warn) 16%, transparent));
  --danger: light-dark(var(--rose-600), var(--rose-400));
  --danger-ink: light-dark(var(--rose-800), var(--rose-350));
  --danger-weak: light-dark(
    color-mix(in srgb, var(--danger) 10%, transparent),
    color-mix(in srgb, var(--danger) 14%, transparent));
  --danger-badge: light-dark(
    color-mix(in srgb, var(--danger) 16%, transparent),
    color-mix(in srgb, var(--danger) 14%, transparent));
  --neutral-pill: light-dark(var(--paper-500), var(--slate-300));

  --rim: light-dark(transparent, var(--sheen-8));

  --shadow: 0 0 0 1px var(--rim),
    0 1px 2px light-dark(var(--shade-soft), var(--night-soft)),
    0 8px 24px light-dark(var(--shade), var(--night));
  --shadow-pop-far: 0 12px 32px var(--shade-pop-far);
  --shadow-pop: 0 0 0 1px var(--rim),
    0 4px 10px light-dark(var(--shade-pop), var(--night-pop)), var(--shadow-pop-far);
  --shadow-pill: 0 0 0 1px var(--rim), 0 1px 2px var(--soot-8);
  --shadow-hairline: 0 0 0 1px var(--rim), 0 1px 2px var(--soot-3);
  --shadow-hairline-lift: 0 0 0 1px var(--rim), 0 2px 10px var(--soot-6);
  --shadow-menu: 0 0 0 1px var(--rim), 0 6px 20px var(--soot-30);
  --shadow-menu-soft: 0 0 0 1px var(--rim), 0 6px 20px var(--soot-25);
  --shadow-journey: 0 0 0 1px var(--rim), 0 1px 2px var(--soot-3),
    0 12px 32px -24px var(--soot-15);
  --shadow-modal: 0 20px 60px var(--soot-35);

  --accent-btn: var(--accent);
  --btn-shadow: none;
  --btn-primary-bg: var(--accent);
  --btn-primary-fg: var(--on-accent);
  --fg: var(--text);
  --muted: var(--text-muted);
  --accent-fg: var(--on-accent);
  --nav-text: var(--text-muted);
}
@media (prefers-color-scheme: dark) {
  :root {
    --shadow-pop-far: 0 16px 40px var(--night-pop-far);
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
  }
}
:root[data-theme="light"] {
  color-scheme: light;
  --shadow-pop-far: 0 12px 32px var(--shade-pop-far);
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: auto;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --shadow-pop-far: 0 16px 40px var(--night-pop-far);
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

@supports not (color: light-dark(#fff, #000)) {
  :root {
    --bg: var(--paper-50);
    --surface: var(--white);
    --surface-2: var(--paper-25);
    --key: transparent;
    --key-edge: var(--paper-250);
    --key-ink: var(--ink);
    --key-lift: none;
    --key-hover: color-mix(in srgb, var(--cobalt-600) 9%, transparent);
    --key-edge-hover: var(--cobalt-600);
    --key-ink-hover: var(--cobalt-700);
    --key-lift-hover: none;
    --shell-ground: var(--paper-75);

    --line: var(--paper-100);
    --line-strong: var(--paper-200);
    --field-line: var(--paper-250);
    --sw-track-off: var(--paper-450);
    --line-structural: var(--paper-100);
    --rim: transparent;

    --text: var(--ink);
    --text-muted: var(--paper-500);
    --text-faint: var(--paper-450);

    --accent: var(--cobalt-600);
    --accent-strong: var(--cobalt-700);
    --accent-ink: var(--cobalt-700);
    --on-accent: var(--white);
    --accent-weak: color-mix(in srgb, var(--accent) 9%, transparent);
    --accent-weak-2: color-mix(in srgb, var(--accent) 12%, transparent);

    --ok: var(--emerald-600);
    --ok-ink: var(--emerald-800);
    --ok-weak: color-mix(in srgb, var(--ok) 11%, transparent);
    --ok-strong: color-mix(in srgb, var(--ok) 24%, transparent);
    --ok-strong-ink: var(--emerald-900);
    --warn: var(--amber-500);
    --warn-ink: var(--amber-800);
    --warn-weak: color-mix(in srgb, var(--warn) 13%, transparent);
    --danger: var(--rose-600);
    --danger-ink: var(--rose-800);
    --danger-weak: color-mix(in srgb, var(--danger) 10%, transparent);
    --danger-badge: color-mix(in srgb, var(--danger) 16%, transparent);
    --neutral-pill: var(--paper-500);
  }
}

@media (prefers-contrast: more) {
  :root {
    --key-edge: light-dark(var(--paper-450), var(--slate-450));
    --line: light-dark(var(--paper-450), var(--slate-450));
    --line-strong: light-dark(var(--paper-450), var(--slate-450));
    --field-line: light-dark(var(--paper-450), var(--slate-450));
    --line-structural: light-dark(var(--paper-500), var(--slate-400));
  }
}

:root {
  --font-mono: ui-monospace, "SF Mono", Menlo, monospace;

  --fs-3xs: .75rem;
  --fs-2xs: .8125rem;
  --fs-xs: .875rem;
  --fs-s: 1rem;
  --fs-m: 1.125rem;
  --fs-l: 1.375rem;
  --fs-xl: 2rem;
  --fs-2xl: 2.75rem;
}

:root {
  --r-sm: 4px;
  --r-md: 7px;
  --r-lg: 10px;
  --r-xl: 14px;
  --r-pill: 999px;
}

@media (pointer: coarse), (max-width: 40rem) {
  :root { --tap: 2.75rem; }
}

* { box-sizing: border-box; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--accent) 30%, transparent); }

body { background: var(--bg); color: var(--fg); font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif;
  margin: 0; }
main { margin: 0 auto; max-width: 620px; padding: 2.5rem 1.25rem 4rem; }

h1 { font-size: 1.6rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.1rem; margin: 2rem 0 .75rem; }
p { margin: .5rem 0; }
a { color: var(--accent); }
.muted { color: var(--muted); }

.meta-icon { fill: currentColor; height: 1em; vertical-align: -.125em; width: 1.125em; }

.rows { border-top: 1px solid var(--line); margin-top: 1.25rem; }
.row { align-items: center; border-bottom: 1px solid var(--line); display: flex;
  gap: 1rem; padding: .8rem 0; }
.row .grow { flex: 1; }
.row button, .row a.button { margin-top: 0; }
.row > label.grow { color: inherit; font-size: inherit; margin: 0; }

.page-header { align-items: baseline; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; margin-bottom: .35rem; }
.page-header h1 { margin-bottom: 0; }
.page-sub { margin-top: 0; }

heading-help { align-items: center; display: inline-flex; gap: .7rem; min-width: 0; }

.price { font-variant-numeric: tabular-nums; }

input[type=number] { background: transparent; border: 1px solid var(--field-line); border-radius: var(--r-md);
  color: inherit; font: inherit; padding: .4rem .5rem; width: 4.5rem; }
input[type=number].full { padding: .45rem .6rem; }

button:not(:where(button-group > *, .embed-cta, .embed-all-types > *, [data-checkout-button])), a.button { align-items: center; background: var(--key); border: 1px solid var(--key-edge); border-radius: var(--r-md); box-shadow: var(--key-lift);
  color: var(--key-ink); cursor: pointer; display: inline-flex; font: inherit;
  font-size: .8125rem; font-weight: 550; gap: .35rem; line-height: 1.4;
  margin-top: 1.25rem; padding: .38rem .8rem; text-decoration: none;
  transition: background .12s, border-color .12s, box-shadow .12s, transform .05s; }
button:not(:where(button-group > *, .embed-cta, .embed-all-types > *, [data-checkout-button])):hover, a.button:hover { background: var(--key-hover); border-color: var(--key-edge-hover);
  box-shadow: var(--key-lift-hover); color: var(--key-ink-hover); }
button:not(:where(button-group > *, .embed-cta, .embed-all-types > *, [data-checkout-button])):active, a.button:active { transform: translateY(.5px); }
button:not(:where(button-group > *, .embed-cta, .embed-all-types > *, [data-checkout-button])):disabled { cursor: default; opacity: .5; }

.ticket, body.buyer-journey .share-link a { font-family: var(--font-mono); font-size: .95rem; }

.ok { color: var(--ok-ink); font-weight: 600; }

.pill { border: 1px solid var(--line); border-radius: var(--r-pill); color: var(--muted);
  display: inline-block; font-size: .8rem; padding: .1rem .55rem; text-decoration: none;
  white-space: nowrap; }

.qty { align-items: center; display: flex; gap: .35rem; }
.qty input[type=number],
body.buyer-journey form:not([data-checkout]) .qty input[type=number] { box-sizing: border-box; height: 2rem; margin: 0; padding: 0 .3rem; text-align: center; }
button.step { align-items: center; border-radius: var(--r-md); box-sizing: border-box; display: inline-flex; flex: none;
  height: 2rem; justify-content: center; line-height: 1;
  margin: 0; padding: 0; touch-action: manipulation; width: 2rem; }
button.step:disabled { cursor: default; filter: none; opacity: .35; }
body.buyer-journey button.step { background: color-mix(in srgb, var(--fg) 13%, var(--journey-card));
  border: 0; border-radius: var(--button-radius, var(--bj-radius-sm)); color: var(--fg); font-weight: 400; }
body.buyer-journey button.step:disabled { opacity: .45; }
@media (prefers-contrast: more) {
  body.buyer-journey button.step { border: 1px solid var(--control-line); }
}
@media ((pointer: coarse) or (max-width: 40rem)) and (not (prefers-contrast: more)) {
  body.buyer-journey .qty button.step {
    --step-pad: .375rem;
    background-clip: content-box;
    border-radius: calc(var(--button-radius, var(--bj-radius-sm)) + var(--step-pad));
    box-sizing: content-box;
    margin: calc(-1 * var(--step-pad));
    padding: var(--step-pad);
  }
  body.buyer-journey .qty button.step:focus-visible { outline-offset: calc(2px - var(--step-pad)); }
}
input.stepped { appearance: textfield; -moz-appearance: textfield; text-align: center; }
input.stepped::-webkit-outer-spin-button, input.stepped::-webkit-inner-spin-button {
  -webkit-appearance: none; margin: 0; }

button.step {
  --step-arm: .6rem;
  --step-rule: .09rem;
  position: relative;
}
button.step::before,
button.step::after {
  background: currentColor;
  content: "";
  inset-block-start: 50%;
  inset-inline-start: 50%;
  position: absolute;
  translate: -50% -50%;
}
button.step::before { block-size: var(--step-rule); inline-size: var(--step-arm); }
button.step[data-step="up"]::after { block-size: var(--step-arm); inline-size: var(--step-rule); }
@media (forced-colors: active) {
  button.step::before,
  button.step::after { background: ButtonText; }
  button.step:disabled::before,
  button.step:disabled::after { background: GrayText; }
}

button.busy { pointer-events: none; position: relative; }
button.busy:not(:where(button-group > *, [data-pay-alternative])) { color: transparent; }
button.busy::after { animation: spin .6s linear infinite; border: 2px solid var(--text-muted); border-top-color: transparent; border-radius: 50%;
  content: ""; height: 1em; inset: 0;
  margin: auto; position: absolute;
  width: 1em; }
@keyframes spin { to { transform: rotate(360deg); } }

button.primary:not(:where([data-checkout-button])), a.button.primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
button.primary:not(:where([data-checkout-button])):hover, a.button.primary:hover { border-color: var(--accent); filter: brightness(1.07); }
button.primary.busy:not(:where(button-group > *)) { color: transparent; }
button.primary.busy::after { border-color: var(--on-accent); border-top-color: transparent; }
button.danger, a.button.danger { background: color-mix(in srgb, var(--danger), #000 28%); border-color: transparent; color: #fff; }
button.danger:hover, a.button.danger:hover { background: color-mix(in srgb, var(--danger), #000 34%); }
button.subtle, a.button.subtle { background: none; border-color: transparent; color: var(--accent-ink);
  font-size: var(--fs-2xs); padding: .38rem 0; }
button.subtle:hover, a.button.subtle:hover { background: none; color: var(--accent); text-decoration: underline; }
button.ghost, a.button.ghost { background: transparent; border-color: transparent; color: var(--text-muted); }
button.ghost:hover, a.button.ghost:hover { background: var(--accent-weak); color: var(--text); }
button.ghost.danger, a.button.ghost.danger { background: transparent; color: var(--danger-ink); }
button.ghost.danger:hover, a.button.ghost.danger:hover { background: color-mix(in srgb, var(--danger) 12%, transparent); color: var(--danger-ink); }
.pill.danger, a.danger { color: var(--danger-ink); }
.pill.primary { background: var(--accent-btn); border-color: var(--accent-btn); color: var(--on-accent); }

input:not([type=checkbox], [type=radio], [type=file], [type=number], [type=color],
  [type=submit], [type=button], [type=reset], [type=image], [type=range], [type=hidden]),
textarea, select { background: transparent;
  border: 1px solid var(--field-line); border-radius: var(--r-md); color: inherit;
  font: inherit; padding: .45rem .6rem; }
textarea { resize: vertical; width: 100%; }
textarea:not([rows]) { min-height: 9rem; }
input[type=file] { background: var(--surface); border: 1px solid var(--field-line); border-radius: var(--r-md);
  color: inherit; font: inherit; padding: .45rem .6rem; width: 100%; }
input[type=file]::file-selector-button { background: transparent; border: 1px solid var(--line-strong);
  border-radius: var(--r-md); color: inherit; cursor: pointer; font: inherit; margin-right: .7rem; padding: .2rem .7rem; }
input[type=file]::file-selector-button:hover { border-color: var(--accent); }

input::placeholder, textarea::placeholder { color: var(--text-placeholder); opacity: 1; }

select:not([multiple]), [rst-combo] > [rst-input] {
  background-color: var(--surface); background-repeat: no-repeat;
  background-position: right .6rem center; background-size: .8rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2398a2b5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  padding-right: 2rem; }
@media (prefers-color-scheme: light) { select:not([multiple]), [rst-combo] > [rst-input] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6579' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); } }
:root[data-theme="dark"] select:not([multiple]), :root[data-theme="dark"] [rst-combo] > [rst-input] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2398a2b5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
:root[data-theme="light"] select:not([multiple]), :root[data-theme="light"] [rst-combo] > [rst-input] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6579' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
select:not([multiple]) { appearance: none; -webkit-appearance: none; -moz-appearance: none; cursor: pointer; }

[rst-combo] { position: relative; }
[rst-combo] > [rst-input] { width: 100%; }
.rst-sr-only { border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px !important; margin: -1px;
  max-width: 1px !important; min-height: 0 !important; min-width: 0 !important; overflow: hidden; padding: 0;
  position: absolute !important; white-space: nowrap; width: 1px !important; }
[rst-combo-list] { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md);
  box-shadow: var(--shadow-menu); left: 0; list-style: none; margin: .25rem 0 0; max-height: 15rem;
  overflow-y: auto; padding: .25rem; position: absolute; right: 0; top: 100%; z-index: 30; }
[rst-combo-list][hidden] { display: none; }
[rst-combo][rst-combo-up] > [rst-combo-list] { bottom: 100%; margin: 0 0 .25rem; top: auto; }
[rst-combo-option] { border-radius: var(--r-sm); cursor: pointer; line-height: 1.3rem; overflow: hidden; padding: .48rem .55rem;
  text-overflow: ellipsis; white-space: nowrap; }
[rst-combo-option]:hover { background: color-mix(in srgb, var(--text) 6%, transparent); }
[rst-combo-option].is-active { background: var(--accent-weak); color: var(--accent-ink); }
[rst-combo-option][aria-selected="true"] { font-weight: 600; }
[rst-combo-option] > [rst-combo-desc] { color: var(--text-muted); font-weight: 400; }
[rst-combo-option] > [rst-combo-desc]::before { content: " — "; }
[rst-combo-option].is-active > [rst-combo-desc] { color: var(--accent-ink); }
[rst-combo-option][aria-selected="true"]::after { color: var(--accent-ink); content: "✓"; float: right; margin-left: .5rem; }
[rst-combo-empty] { color: var(--text-muted); padding: .4rem .55rem; }
[rst-combo-sep] { border-top: 1px solid var(--line); list-style: none; margin: .3rem .25rem; }
body.buyer-journey [rst-combo-sep] { border-top-color: var(--hairline, var(--line)); }
[rst-combo-list] > li[role="group"], [rst-combo-rows] { list-style: none; margin: 0; padding: 0; }
[rst-select-group] { color: var(--text-muted); font-size: var(--label-size, var(--fs-2xs));
  font-weight: var(--label-weight, 600); padding: .4rem .55rem .2rem; }

[rst-combo] > [rst-combo-lead] { left: .65rem; line-height: 1; pointer-events: none; position: absolute; top: 50%;
  transform: translateY(-50%); }
[rst-combo] > [rst-combo-lead][hidden] { display: none; }
[rst-combo][rst-combo-has-lead] > [rst-input] { padding-left: 2.15rem; }
[rst-combo-option] > [rst-combo-lead] { display: inline-block; margin-right: .5rem; min-width: 1.35em; }
[rst-combo][rst-combo-compact] > [rst-combo-list] { max-width: min(22rem, calc(100vw - 2rem)); min-width: 100%;
  right: auto; width: max-content; }

body.buyer-journey [rst-combo-list] { background: var(--journey-card, var(--surface)); border-color: var(--hairline, var(--line));
  border-radius: var(--bj-radius-sm, var(--r-md)); color: var(--fg); }
body.buyer-journey [rst-combo-option]:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
body.buyer-journey [rst-combo-option].is-active { background: color-mix(in srgb, var(--p-accent) 16%, transparent);
  box-shadow: inset 0 0 0 1px var(--fg); color: var(--fg); }
body.buyer-journey [rst-combo-option] > [rst-combo-desc],
body.buyer-journey [rst-combo-empty],
body.buyer-journey [rst-select-group] { color: var(--muted); }
body.buyer-journey [rst-combo-option].is-active > [rst-combo-desc],
body.buyer-journey [rst-combo-option][aria-selected="true"]::after { color: var(--fg); }

label { color: var(--muted); display: block; font-size: .85rem; margin: .8rem 0 .2rem; }

details[data-summary] { margin-top: .25rem; }
details[data-summary] summary { align-items: center; border-bottom: 1px solid var(--line); cursor: pointer;
  display: flex; font-weight: 600; gap: .6rem; list-style: none;
  padding: .8rem 0; }
details[data-summary] summary::-webkit-details-marker { display: none; }
details[data-summary] summary::before { color: var(--muted); content: "▸";
  font-size: .8em; transition: transform .15s; }
details[data-summary][open] summary::before { transform: rotate(90deg); }
details[data-summary] [data-breakdown] .row { color: var(--muted); }

.caret { align-items: center; color: var(--text-muted); display: inline-flex; font-size: .8em; margin-left: .3rem; transition: transform .15s; }
.caret svg, .caret i { display: block; }
summary:hover > .caret { color: var(--text); }
details[open] > summary > .caret { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) {
  .caret { transition: none; }
}

.name-row { display: grid; gap: .8rem; grid-template-columns: 1fr 1fr; }
.namefield-read {
  align-items: baseline;
  background: color-mix(in srgb, var(--fg, currentColor) 3%, transparent);
  border: 1px solid var(--control-line, var(--field-line));
  border-radius: 0 0 var(--bj-radius-sm, var(--r-md, 7px)) var(--bj-radius-sm, var(--r-md, 7px));
  border-top: 0;
  box-sizing: border-box;
  display: flex;
  font-size: var(--bj-support, .85rem);
  gap: .5rem;
  margin: -1px 0 0;
  padding: .3rem .65rem;
  width: 100%;
}
.namefield-read > dl { flex: 1; min-width: 0; }
.namefield-read[hidden], .namefield-details > summary[hidden], .namefield-words[hidden] { display: none; }
.namefield-strip { display: flex; flex-wrap: wrap; gap: .1rem .9rem; margin: 0; }
.namefield-pair { align-items: baseline; display: flex; gap: .35rem; min-width: 0; }
.namefield-read dt { color: color-mix(in srgb, var(--muted, var(--text-muted)) 88%, var(--fg, currentColor)); font-weight: 400; }
.namefield-read dd { margin: 0; }

button.namefield-alt, body.buyer-journey button.namefield-alt {
  background: none; border: 0; border-radius: var(--r-sm, 4px); box-shadow: none;
  color: var(--journey-link, var(--accent)); cursor: pointer; display: inline; font: inherit; line-height: inherit;
  margin: 0 0 0 .5rem; min-height: 0; padding: 0; text-decoration: underline dashed;
  text-decoration-color: color-mix(in srgb, var(--journey-link, var(--accent)) 55%, transparent);
  text-underline-offset: .25em; width: auto; }
button.namefield-alt:hover, body.buyer-journey button.namefield-alt:hover {
  background: var(--accent-weak, rgba(37,99,235,.09)); text-decoration-color: var(--journey-link, var(--accent)); }
.namefield-applied { align-items: center; color: var(--ok-ink); display: inline-flex; gap: .25rem; margin-inline-start: .5rem; }

button.namefield-edit, body.buyer-journey button.namefield-edit {
  align-items: center; background: none; border: 0; border-radius: var(--r-md, 7px); box-shadow: none;
  color: var(--journey-link, var(--accent)); cursor: pointer; display: inline-flex;
  flex: none; font: inherit; font-size: var(--bj-support, .85rem); gap: .3rem;
  line-height: 1.4; margin: 0; min-height: 24px; padding: .15rem .35rem;
  text-decoration: none; white-space: nowrap; width: auto; }
button.namefield-edit:hover, body.buyer-journey button.namefield-edit:hover {
  background: var(--accent-weak, rgba(37,99,235,.09)); }
.namefield-edit svg { flex: none; }
.namefield-live, .namefield-vh { block-size: 1px; clip-path: inset(50%); inline-size: 1px; overflow: hidden; position: absolute; }

.namefield-details, .namefield-more { margin: .45rem 0 0; }
.namefield-more > summary { min-height: 24px; }
.namefield-details > summary, .namefield-more > summary, .namefield-all > summary { align-items: center; color: var(--muted, var(--text-muted)); cursor: pointer; display: flex; font-size: var(--bj-support, .85rem); list-style: none; width: fit-content; }
.namefield-details > summary::-webkit-details-marker, .namefield-more > summary::-webkit-details-marker, .namefield-all > summary::-webkit-details-marker { display: none; }
.namefield-details[open] > summary, .namefield-more[open] > summary, .namefield-all[open] > summary { margin-bottom: .35rem; }
.namefield-all > summary { margin-left: auto; }
.namefield-details .name-row label, .namefield-more .name-row label { margin-top: 0; }
.namefield-details .name-row + .name-row, .namefield-more .name-row + .name-row { margin-top: .55rem; }

.namefield-plain .name-row { gap: 1.1rem 1rem; }
.namefield-plain .name-row + .name-row { margin-top: 1.1rem; }
.namefield-plain .name-row label { margin-top: 0; margin-bottom: .3rem; }
.namefield-plain { margin-bottom: 1.4rem; }
.namefield-all { border-top: 1px solid var(--hairline, var(--line)); margin-top: .8rem; padding-top: .7rem; }
.namefield-all[open] { border-bottom: 1px solid var(--hairline, var(--line)); padding-bottom: 1rem; }

.namefield-words { margin: .1rem 0 .2rem; }
.namefield-taphint { color: var(--muted, var(--text-muted)); font-size: var(--bj-support, .85rem); margin: 0 0 .45rem; }
.namefield-wordrow { display: flex; flex-wrap: wrap; gap: .35rem; }
button.namefield-word, body.buyer-journey button.namefield-word {
  align-items: center; background: transparent; border: 1px solid var(--hairline, var(--line));
  border-radius: var(--r-md, 7px); box-shadow: none; color: var(--fg, var(--text)); cursor: pointer; display: inline-flex;
  font: inherit; font-size: var(--bj-support, .85rem); gap: .3rem; margin: 0; min-height: 1.75rem;
  padding: .15rem .55rem .15rem .4rem; transition: background .13s, border-color .13s, color .13s; width: auto; }
button.namefield-word:hover, body.buyer-journey button.namefield-word:hover {
  border-color: var(--control-line, var(--line-strong)); }
button.namefield-word[aria-pressed="true"], body.buyer-journey button.namefield-word[aria-pressed="true"] {
  background: var(--accent-weak, rgba(37,99,235,.09)); border-color: color-mix(in srgb, var(--journey-link, var(--accent)) 32%, transparent);
  color: var(--accent-ink, var(--journey-link, var(--accent))); font-weight: 550; }
.namefield-tick { display: inline-flex; line-height: 0; transition: color .12s; }
.namefield-tick.is-off { color: var(--muted, var(--text-muted)); opacity: .5; }
.namefield-tick.is-on { color: var(--journey-link, var(--accent)); opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .namefield-tick, button.namefield-word { transition: none; }
}
.namefield-address { border: 0; margin: .9rem 0 0; min-width: 0; padding: 0; }
.namefield-address > legend { padding: 0; }
body.buyer-journey .namefield-address > legend { color: var(--fg); display: block; font-size: var(--bj-support); font-weight: 600; margin-bottom: .4rem; padding: 0; width: auto; }

.field-phone { display: flex; gap: .5rem; max-width: var(--bj-field, none); }
.field-phone select { flex: 0 1 auto; min-width: 0; max-width: 45%; }
.field-phone input { flex: 1 1 auto; min-width: 0; }
body.buyer-journey form:not([data-checkout]) .field-phone :where(select, input) { max-width: none; }
body.buyer-journey form:not([data-checkout]) .field-phone select { max-width: 45%; }
.field-phone > [rst-combo] { flex: 0 0 auto; width: 7.75rem; }

footer { color: var(--muted); display: flex; font-size: .8rem; gap: 1rem; margin-top: 3rem; }

[data-src="style:powered_by"] {
  color: var(--muted, currentColor);
  font-size: .75rem;
  opacity: .85;
  text-decoration: none;
}
[data-src="style:powered_by"]:hover { opacity: 1; text-decoration: underline; }
[data-src="style:powered_by"]:focus-visible { border-radius: .2rem; outline: 2px solid currentColor; outline-offset: 2px; }

legal-links { display: block; font-size: .75rem; margin-bottom: .25rem; }
legal-links a { color: var(--muted, currentColor); opacity: .85; text-decoration: none; }
legal-links a:hover { opacity: 1; text-decoration: underline; }
legal-links a:focus-visible { border-radius: .2rem; outline: 2px solid currentColor; outline-offset: 2px; }
legal-links span { color: var(--muted, currentColor); opacity: .85; }

account-footer {
  background: var(--footer-bg, transparent);
  box-sizing: border-box;
  color: var(--footer-ink, var(--muted, currentColor));
  display: block;
  font-size: .8125rem;
  line-height: 1.6;
  margin-top: auto;
  padding: 2rem 1.25rem 1.5rem;
  text-align: start;
  width: 100%;
}
account-footer[data-band] { padding-block: 2.5rem 2rem; }
account-footer > footer-inner { display: block; margin: 0 auto; max-width: 640px; }
account-footer .footer-logo { display: inline-block; margin-bottom: 1rem; }
account-footer[data-logo="below"] .footer-logo { margin-bottom: 0; margin-top: .4rem; }
account-footer:is([data-logo="left"], [data-logo="right"]) > footer-inner { align-items: flex-start; column-gap: 2rem; display: flex; flex-wrap: wrap; }
account-footer:is([data-logo="left"], [data-logo="right"]) .footer-logo { flex: none; }
account-footer:is([data-logo="left"], [data-logo="right"]) footer-text { flex: 1 1 16rem; min-width: 0; }
account-footer :is(a.footer-logo img, img.footer-logo) { display: block; height: auto; max-height: 3rem; max-width: 12rem; }
account-footer footer-text { display: block; }
account-footer footer-text :is(p, ul, ol) { margin: 0 0 .6rem; }
account-footer footer-text :is(ul, ol) { padding-inline-start: 1.25rem; }
:root account-footer footer-text :is(h2, h3) { color: inherit; font-size: .9375rem; font-weight: 600; line-height: 1.4; margin: 0 0 .4rem; }
:root account-footer footer-text h3 { font-size: .8125rem; }
:root account-footer a[href] { color: inherit; text-decoration: underline; }
:root account-footer a[href]:focus-visible { border-radius: .2rem; outline: 2px solid currentColor; outline-offset: 2px; }
account-footer .sp-picture { margin: 0 0 1rem; }
account-footer .sp-picture img { display: block; height: auto; max-width: 100%; }
account-footer .sp-grid { margin: 0 0 1rem; }
account-footer .sp-grid ul { display: grid; gap: .5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
account-footer .sp-grid ul[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
account-footer .sp-grid ul[data-cols="1"] { grid-template-columns: minmax(0, 1fr); }
account-footer .sp-grid li { margin: 0; }
account-footer .sp-grid a { display: block; }
account-footer .sp-grid img { aspect-ratio: 1; display: block; height: auto; object-fit: cover; width: 100%; }
account-footer .sp-grid ul[data-shape="portrait"] img { aspect-ratio: 4 / 5; }
account-footer .sp-grid ul[data-shape="landscape"] img { aspect-ratio: 3 / 2; }
account-footer .sp-grid figcaption { margin-top: .5rem; }
account-footer > footer-links { display: grid; gap: 2rem; margin: 0 auto 2rem; max-width: 640px; }
account-footer > footer-links:only-child { margin-bottom: 0; }
account-footer:has(> footer-links) footer-text { max-width: 100%; width: fit-content; }
:root account-footer site-footer-columns h2 { color: inherit; font-size: .9375rem; font-weight: 600; line-height: 1.4; margin: 0 0 .6rem; }
account-footer site-footer-columns ul { gap: .4rem; }

.detail-list { display: grid; gap: .35rem 1.5rem; grid-template-columns: max-content 1fr; margin: 1.5rem 0; }
.detail-list[hidden] { display: none; }
.detail-list dt { color: var(--muted); }
.detail-list dd { margin: 0; }

.detail-list { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); gap: 0; margin: 1rem 0; padding: 0 1rem; }
.box:has(> .detail-list:only-child) { padding: 0 1rem; }
.box > .detail-list { background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0; }
.card > .detail-list { background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0 .85rem; }
.detail-list dt, .detail-list dd { border-top: 1px solid var(--line); padding: .6rem 0; }
.detail-list dd { padding-left: 1.5rem; }
.detail-list dt:first-of-type, .detail-list dd:first-of-type { border-top: 0; }
.detail-list dd { font-weight: 500; text-align: right; }

.detail-list dt.sub { padding-left: 1.1rem; }
.detail-list dt small { color: var(--text-muted); display: block; font-size: max(12px, var(--fs-touch-floor, 0px)); font-weight: 400; }
.detail-list dt.rule { color: var(--text); font-weight: 600; }
.detail-list dt.rule, .detail-list dt.rule + dd { border-top-color: var(--line-strong); font-weight: 600; }


.sr-only { border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }

callout { align-items: flex-start; background: color-mix(in srgb, var(--accent) 8%, var(--bg));
  border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line)); border-radius: var(--r-lg);
  display: flex; gap: .55rem; margin: 1rem 0; padding: .7rem .85rem; }
callout[hidden] { display: none; }
callout > .co-ic { align-items: center; color: var(--accent); display: inline-flex; flex: none;
  height: 1.5em; justify-content: center; width: 1.25rem; }
callout > .co-ic svg { display: block; height: 1.25rem; width: 1.25rem; }
callout > .co-body { flex: 1 1 12rem; line-height: 1.5; min-width: 0; }
callout > .co-body > strong { display: block; font-weight: 600; }
callout > .co-body > p { color: var(--muted); margin: .15rem 0 0; }
callout > .co-body > p:only-child { color: inherit; margin: 0; }
callout:has(> .co-act > .icon-button) { padding-right: 2.75rem; position: relative; }
callout > .co-act:has(> .icon-button) { height: auto; margin: 0; position: absolute; right: .5rem; top: .5rem; width: auto; }
callout > .co-act:has(> .icon-button) > .icon-button { width: auto; }
callout > .co-body > ul { color: var(--muted); margin: .15rem 0 0; padding-left: 1.1rem; }
callout > .co-body > ul > li { margin: .15rem 0; }
callout[tone=success] { background: color-mix(in srgb, var(--ok) 10%, var(--bg)); border-color: color-mix(in srgb, var(--ok) 34%, var(--line)); }
callout[tone=success] > .co-ic { color: var(--ok-ink); }
callout[tone=warning] { background: color-mix(in srgb, var(--warn) 13%, var(--bg)); border-color: color-mix(in srgb, var(--warn) 40%, var(--line)); }
callout[tone=warning] > .co-ic { color: var(--warn-ink); }
callout[tone=danger] { background: color-mix(in srgb, var(--danger) 9%, var(--bg)); border-color: color-mix(in srgb, var(--danger) 34%, var(--line)); }
callout[tone=danger] > .co-ic { color: var(--danger-ink); }
callout[tone=quiet] { background: none; border-color: var(--line); }
callout[tone=quiet] > .co-ic { color: var(--text-muted); }
callout[tone=quiet] > .co-body a { color: var(--accent-ink); }
callout[tone=danger] > .co-body a { color: var(--danger-ink); }
callout:not([tone]) > .co-body a { color: var(--accent-ink); }
callout[tone=warning] > .co-body a { color: var(--warn-ink); }

callout > .co-act { align-items: center; align-self: center; display: inline-flex; flex: none;
  gap: .4rem; height: 1.5em; margin-left: auto; }
callout > .co-act > .button { margin: 0; }
@media (max-width: 620px) {
  callout:has(> .co-act) { flex-wrap: wrap; }
  callout > .co-act { margin: .55rem 0 0 1.8rem; }
  callout > .co-act:has(> :nth-child(2):not(.icon-button)) { flex: 1 1 auto; flex-wrap: wrap; height: auto; min-width: 0; row-gap: .4rem; }
}
callout > .co-act > .button:not(.primary):hover { border-color: currentColor; }
callout[tone=success] > .co-act > .button:not(.primary) { border-color: color-mix(in srgb, var(--ok-ink) 70%, var(--line-strong)); color: var(--ok-ink); }
callout[tone=warning] > .co-act > .button:not(.primary) { border-color: color-mix(in srgb, var(--warn-ink) 70%, var(--line-strong)); color: var(--warn-ink); }
callout[tone=danger] > .co-act > .button:not(.primary) { border-color: color-mix(in srgb, var(--danger-ink) 70%, var(--line-strong)); color: var(--danger-ink); }
callout:not([tone]) > .co-act > .button:not(.primary) { border-color: color-mix(in srgb, var(--accent-ink) 70%, var(--line-strong)); color: var(--accent-ink); }

.full { width: 100%; }

input.short, input.code, input.mid, input.long { max-width: 100%; }

input.short { width: 6.5rem; }
input.mid, input.long { width: 100%; }

input[type=date], input[type=time], input[type=datetime-local] { max-width: max-content; width: auto; }

.money-input { border: 1px solid var(--field-line); border-radius: var(--r-md); display: inline-flex; }
.money-input > .cur { align-items: center; background: var(--surface-2); border-right: 1px solid var(--field-line); border-radius: var(--r-md) 0 0 var(--r-md); color: var(--text-muted); display: flex; padding: 0 .6rem; }
.money-input > input { border: 0; width: 6.5rem; }
.money-input:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.money-input > input:focus-visible { outline: none; }
input.code { font-family: ui-monospace, "SF Mono", Menlo, monospace; width: 11ch; }
input.code-long { width: 26ch; }

.path-input { border: 1px solid var(--field-line); border-radius: var(--r-md); display: flex; width: 100%; }
.path-input > .pre { align-items: center; background: var(--surface-2); border-radius: var(--r-md) 0 0 var(--r-md); border-right: 1px solid var(--field-line); color: var(--text-muted); display: flex; padding: 0 .6rem; white-space: nowrap; }
.path-input > .pre[hidden] { display: none; }
.path-input > input { border: 0; flex: 1; min-width: 0; }
.path-input:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.path-input > input:focus-visible { outline: none; }

.old-addresses { margin: -.15rem 0 .9rem; }
.old-addresses .oa-lead { color: var(--text-muted); font-size: max(12px, var(--fs-touch-floor, 0px)); }
.old-addresses ul { list-style: none; margin: .2rem 0 0; padding: 0; }
.old-addresses li { padding: .12rem 0; }
.old-addresses li .mono { font-size: max(12px, var(--fs-touch-floor, 0px)); }

label.check { align-items: center; color: inherit; display: flex; font-size: 1rem; gap: .45rem; margin: .8rem 0 .2rem; }
.field-desc { color: var(--muted); display: block; font-size: .8rem; font-weight: 400; }
label.check.check-field { color: var(--muted); font-size: .85rem; }
p.field-desc { margin: -.1rem 0 .3rem; }
label .field-desc { margin: .15rem 0 0; }
label.check:has(.field-desc) { align-items: flex-start; }
label.check:has(.field-desc) > input { margin-top: .3rem; }
app-shell label.check { font-size: inherit; }
app-shell :is(.check-field, .cg-opt) > input[type=checkbox] {
  appearance: none; background: var(--surface); border: 1.5px solid var(--line-strong);
  border-radius: var(--r-sm); cursor: pointer; flex: none; height: 16px; margin-inline: 0;
  position: relative; width: 16px; }
app-shell :is(.check-field, .cg-opt) > input[type=checkbox]:hover { border-color: var(--text-faint); }
app-shell :is(.check-field, .cg-opt) > input[type=checkbox]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
app-shell :is(.check-field, .cg-opt) > input[type=checkbox]:checked { background: var(--accent); border-color: var(--accent); }
app-shell :is(.check-field, .cg-opt) > input[type=checkbox]:checked::after {
  border: solid var(--on-accent); border-width: 0 2px 2px 0; content: ""; height: 9px; left: 50%;
  position: absolute; top: 50%; transform: translate(-50%, -62%) rotate(45deg); width: 5px; }

body.buyer-journey label.check > input[type=checkbox] {
  appearance: none; background: var(--journey-card, #fff); block-size: 15px;
  border: 1.5px solid var(--control-line); border-radius: var(--r-sm); cursor: pointer;
  flex: none; inline-size: 15px; margin: 0; position: relative; }
body.buyer-journey label.check > input[type=checkbox]:hover {
  border-color: color-mix(in srgb, var(--fg) 45%, var(--control-line)); }
body.buyer-journey label.check > input[type=checkbox]:focus-visible {
  outline: 2px solid var(--p-accent); outline-offset: 2px; }
body.buyer-journey label.check > input[type=checkbox]:checked {
  background: var(--fg); border-color: var(--fg); }
body.buyer-journey label.check > input[type=checkbox]:checked::after {
  border: solid var(--journey-card, #fff); border-width: 0 2px 2px 0; content: ""; height: 8px;
  left: 50%; position: absolute; top: 50%; transform: translate(-50%, -58%) rotate(45deg); width: 4px; }

.checkgroup { border: 1px solid var(--field-line); border-radius: var(--r-md); display: flex;
  flex-direction: column; margin: 0 0 .2rem; overflow: hidden;
  --cg-accent: var(--accent); }
.checkgroup .cg-opt { align-items: center; border-top: 1px solid var(--line); cursor: pointer;
  display: flex; gap: .55rem; margin: 0; padding: .6rem; }
.checkgroup .cg-opt:first-child { border-top: 0; }
.checkgroup .cg-opt:hover { background: color-mix(in srgb, var(--fg) 4%, transparent); }
.checkgroup .cg-opt > input { flex: none; margin: 0; }
.checkgroup .cg-opt:has(input:focus-visible) { outline: 2px solid var(--cg-accent); outline-offset: -2px; }

body.buyer-journey .checkgroup { border-color: var(--control-line); max-width: var(--bj-field); --cg-accent: var(--p-accent); }
body.buyer-journey .checkgroup .cg-opt { border-top-color: var(--hairline); padding-inline: .65rem; }

.cg-write { border-top: 1px solid var(--line); padding: .6rem; }
.cg-write > .write-in { margin: 0; }
select + .write-in { margin-top: .4rem; }
@supports selector(:has(a)) {
  .checkgroup:not(:has(> .cg-opt > input[value="__other__"]:checked)) > .cg-write { display: none; }
  select:not(:has(option[value="__other__"]:checked)) + .write-in { display: none; }
}
body.buyer-journey .cg-write { border-top-color: var(--hairline); padding-inline: .65rem; }
body.buyer-journey .write-in { max-width: var(--bj-field); }

.yesno { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .2rem;
  max-width: var(--bj-field, 26rem);
  --yn-accent: var(--accent); --yn-line: var(--field-line); }
.yesno .yn { align-items: center; border: 1px solid var(--yn-line); border-radius: var(--r-md, 7px);
  cursor: pointer; display: flex; flex: 1 1 8rem; gap: .45rem; margin: 0;
  padding: .5rem .6rem; }
.yesno .yn:hover { border-color: color-mix(in srgb, var(--yn-accent) 40%, var(--yn-line)); }
.yesno .yn > input { accent-color: var(--yn-accent); flex: none; margin: 0; }
.yesno .yn:has(input:checked) { border-color: var(--yn-accent); }
.yesno .yn:has(input:focus-visible) { outline: 2px solid var(--yn-accent); outline-offset: 2px; }

app-shell .yesno .yn:has(input:checked) { background: var(--accent-weak); }
app-shell .yesno .yn:has(input:checked) > span { color: var(--accent-ink); }

body.buyer-journey .yesno { --yn-accent: var(--p-accent); --yn-line: var(--control-line); }
body.buyer-journey .yesno .yn { padding-inline: .65rem; }
body.buyer-journey .yesno .yn:has(input:checked) { border-color: var(--fg); }
body.buyer-journey .yesno .yn > input[type=radio] {
  appearance: none; background: var(--journey-card, #fff); block-size: 15px;
  border: 1.5px solid var(--control-line); border-radius: 50%; cursor: pointer;
  inline-size: 15px; position: relative; }
body.buyer-journey .yesno .yn > input[type=radio]:hover {
  border-color: color-mix(in srgb, var(--fg) 45%, var(--control-line)); }
body.buyer-journey .yesno .yn > input[type=radio]:checked { border-color: var(--fg); }
body.buyer-journey .yesno .yn > input[type=radio]:checked::after {
  background: var(--fg); border-radius: 50%; content: ""; height: 7px; left: 50%;
  position: absolute; top: 50%; transform: translate(-50%, -50%); width: 7px; }

rating-scale { display: block; margin: 0 0 .2rem; max-width: var(--bj-field, 34rem);
  --rt-bg: var(--surface); --rt-fill: var(--accent-weak); --rt-fill-ink: var(--accent-ink);
  --rt-focus: var(--accent); --rt-line: var(--field-line); --rt-picked-line: var(--accent);
  --rt-tint: color-mix(in srgb, var(--accent-weak) 45%, transparent); }
rating-scale .rt-stops { display: flex; }
rating-scale .rt-stop { align-items: center; background: var(--rt-bg); block-size: 2.75rem;
  border: 1px solid var(--rt-line); cursor: pointer; display: flex; flex: 1 1 0;
  justify-content: center; margin: 0; min-inline-size: 1.75rem; position: relative; }
rating-scale .rt-stop + .rt-stop { margin-inline-start: -1px; }
rating-scale .rt-stop:first-child { border-end-start-radius: var(--r-md, 7px); border-start-start-radius: var(--r-md, 7px); }
rating-scale .rt-stop:last-child { border-end-end-radius: var(--r-md, 7px); border-start-end-radius: var(--r-md, 7px); }
rating-scale .rt-stop > input { block-size: 1px; clip-path: inset(50%); inline-size: 1px;
  margin: 0; overflow: hidden; position: absolute; white-space: nowrap; }
rating-scale .rt-num { font-variant-numeric: tabular-nums; line-height: 1; }
rating-scale .rt-stop:hover { background: var(--rt-tint); }
rating-scale .rt-stop:has(~ .rt-stop input:checked) { background: var(--rt-tint); }
rating-scale .rt-stop:has(input:checked) { background: var(--rt-fill); border-color: var(--rt-picked-line);
  color: var(--rt-fill-ink); font-weight: 600; z-index: 1; }
rating-scale .rt-stop:has(input:focus-visible) { outline: 2px solid var(--rt-focus); outline-offset: 2px; z-index: 2; }
rating-scale .rt-ends { color: var(--muted); display: flex; font-size: .875rem; gap: 1rem;
  justify-content: space-between; margin-block-start: .35rem; }
rating-scale .rt-ends > :last-child { margin-inline-start: auto; text-align: end; }

body.buyer-journey rating-scale { --rt-bg: var(--journey-card, #fff); --rt-fill: var(--fg);
  --rt-fill-ink: var(--journey-card, #fff); --rt-focus: var(--p-accent); --rt-line: var(--control-line);
  --rt-picked-line: var(--fg); --rt-tint: color-mix(in srgb, var(--fg) 8%, transparent); }

.form-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .9rem; justify-content: flex-end; margin-top: 1.75rem; }
.form-actions button, .form-actions a.button { margin-top: 0; }
.form-actions > a { order: -1; }
.form-actions + .form-help { margin-top: .8rem; }
.form-actions .confirm-check { flex: 0 0 100%; margin: 0; order: -2; text-align: left; }
form:has(> .form-foot) > .confirm-check { margin: 1.25rem 0 0; }
form:has(> .form-foot) > .confirm-check + .confirm-check { margin-top: .6rem; }
.remove-link { margin: 1rem 0 0; text-align: left; }
.remove-link a.button { margin-top: 0; }

.matrix-wrap { overflow-x: auto; }
.flow-table { display: flow-root; }
.num { font-variant-numeric: tabular-nums; text-align: right; }

.blank-art { display: block; height: 132px; margin: 0 auto 1rem; position: relative; width: 165px; }
.blank-art .blob { display: block; height: 100%; width: 100%; }
.blank-art .blob .b1 { fill: var(--accent-weak); }
.blank-art .blob .b2 { fill: var(--accent-weak-2); }
.blank-art > svg:last-child { color: var(--accent); height: 52px; inset: 0; margin: auto; position: absolute; width: 52px; }
.blank-art .blob path.b1:last-of-type { animation: blob-breathe 7s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
.blank-art .blob .b2 { animation: dot-drift 5s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
.blank-art .blob circle.b2:nth-of-type(2) { animation-delay: -2s; animation-duration: 6.5s; }
.blank-art .blob circle.b2:nth-of-type(3) { animation-delay: -3.5s; animation-duration: 4.5s; }
.blank-art > svg:last-child { animation: icon-bob 7s ease-in-out infinite alternate; }
@keyframes blob-breathe { to { transform: scale(1.1) rotate(-4deg); } }
@keyframes dot-drift { to { transform: translate(2px, -8px); } }
@keyframes icon-bob { to { transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .blank-art .blob path.b1:last-of-type, .blank-art .blob .b2, .blank-art > svg:last-child { animation: none; } }


.box { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg);
  margin: 1rem 0; padding: 1.1rem 1.25rem; }
.box > :first-child { margin-top: 0; }
.box > :last-child { margin-bottom: 0; }
.box-head { align-items: baseline; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between;
  margin: 1.5rem 0 .5rem; }
.box-head > :not(h2):not(h3) { margin-left: auto; }
.box-head:first-child { margin-top: 0; }
.box-head + .box { margin-top: 0; }
.box-head h2 { font-size: var(--fs-m); margin: 0; }
.box-head h3 { font-size: 13.5px; font-weight: 500; margin: 0; }
.box-head h3 small { color: var(--text-muted); font-size: max(11.5px, var(--fs-touch-floor, 0px)); font-weight: 400; margin-left: .4rem; }
.box-head .hint { color: var(--text-muted); font-size: max(12.5px, var(--fs-touch-floor, 0px)); }
.box-head a.button, .box-head .header-actions button:not(.list-dropdown-menu *) { background: none; border-color: transparent;
  color: var(--accent-ink); font-size: max(12.5px, var(--fs-touch-floor, 0px)); margin-top: 0; padding: .22rem 0; }
.box-head a.button:hover, .box-head .header-actions button:not(.list-dropdown-menu *):hover { background: none;
  color: var(--accent); text-decoration: underline; }
.box-head .header-actions details.add-menu { border-left: 0; position: relative; width: max-content; }
.box-head .header-actions details.add-menu > summary { background: none; border: 0; box-shadow: none;
  color: var(--accent-ink); font-size: max(12.5px, var(--fs-touch-floor, 0px)); font-weight: 550; gap: .35rem; justify-content: flex-start;
  min-height: 0; min-width: 0; padding: .22rem 0; }
.box-head .header-actions details.add-menu > summary:hover { color: var(--accent); text-decoration: underline; }
.box-head a.button.primary, .box-head a.button.danger,
.box-head .header-actions button.primary, .box-head .header-actions button.danger {
  padding: .22rem .65rem; text-decoration: none; }
.box-head a.button.primary, .box-head .header-actions button.primary { background: var(--accent); color: var(--on-accent); }
.box-head a.button.danger, .box-head .header-actions button.danger { background: color-mix(in srgb, var(--danger), #000 28%); color: #fff; }
.box-foot { border-top: 1px solid var(--line); color: var(--text-muted); margin-top: 1rem; padding-top: .75rem; }


.confirm-notes { color: var(--text-muted); margin: .6rem 0 0; padding-left: 1.15rem; }
.confirm-notes li { margin: .3rem 0; }
.confirm-who { color: var(--text-muted); list-style: none; margin: .6rem 0 0; padding: 0; }
.confirm-who li { margin: .3rem 0; }
.confirm-people { list-style: none; margin: .6rem 0 0; max-height: 18rem; overflow-y: auto; padding: 0; }
.confirm-people li { margin: .2rem 0; }
.confirm-people small { color: var(--text-muted); }
.note-preview { margin: .35rem 0 .1rem; }
.note-preview > summary { align-items: center; color: var(--accent); cursor: pointer; display: flex; font-size: max(12.5px, var(--fs-touch-floor, 0px)); font-weight: 550; list-style: none; min-height: 24px; width: fit-content; }
.note-preview > summary::-webkit-details-marker { display: none; }
.note-preview > summary:hover { text-decoration: underline; }
.note-preview > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.note-preview iframe { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md); display: block; height: 360px; margin: .5rem 0 .35rem; width: 100%; }
.note-preview .note-edit { align-items: center; color: var(--accent); display: inline-flex; font-size: max(12.5px, var(--fs-touch-floor, 0px)); font-weight: 550; min-height: 24px; text-decoration: none; }
.note-preview .note-edit:hover { text-decoration: underline; }

.badge { background: color-mix(in srgb, var(--neutral-pill) 12%, transparent);
  border-radius: var(--r-pill); color: var(--neutral-pill); display: inline-block;
  font-size: max(11.5px, var(--fs-touch-floor, 0px)); font-variant-numeric: tabular-nums; font-weight: 550;
  line-height: 1.5; padding: .16rem .6rem; white-space: nowrap; }
.badge-live { background: var(--ok-weak); color: var(--ok-ink); }
.badge-test { background: var(--warn-weak); color: var(--warn-ink); }
.badge-secret { background: color-mix(in srgb, var(--neutral-pill) 12%, transparent); color: var(--neutral-pill); }
.badge-soldout { background: var(--danger-badge); color: var(--danger-ink); }

.back-nav { margin: 0 0 .75rem; }
.back-nav a { color: var(--muted); padding-inline: 1.15em 0; position: relative;
  text-decoration: none; }
.back-nav a:hover { color: inherit; text-decoration: underline; }
.back-nav a::before { content: "\2190"; inset-inline-start: 0; position: absolute; }
.notice { background: color-mix(in srgb, var(--accent) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line));
  border-radius: var(--r-md); display: inline-block; padding: .45rem .9rem; }
.form-error { color: var(--danger-ink); font-weight: 600; }
.field-error { color: var(--danger-ink); font-size: .85rem; margin: .25rem 0 0; }
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] {
  border-color: var(--danger-ink);
}
.error-ref { color: var(--muted); font-size: var(--fs-2xs); margin: 1rem 0 0; }

.email-check-note { font-size: .875rem; margin: .25rem 0 0; }
.email-check-note.err { color: var(--danger-ink); }
.email-check-note button { font: inherit; }
.email-check-note.suggest { align-items: center; background: var(--surface);
  border: 1px solid var(--control-line, var(--line)); border-radius: var(--r-md);
  display: flex; gap: .15rem; margin-top: .4rem; padding: .35rem .35rem .35rem .7rem; }
.email-check-note.suggest > .ec-q { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.email-check-note.suggest strong { font-weight: 600; }
.email-check-note.suggest > button { align-items: center; background: transparent;
  block-size: 1.75rem; border: 0; border-radius: var(--r-md); color: inherit; cursor: pointer;
  display: inline-flex; flex: none; inline-size: 1.75rem; justify-content: center;
  margin: 0; padding: 0; }
.email-check-note.suggest > button > svg { block-size: 16px; inline-size: 16px; }
.email-check-note.suggest > .ec-use > svg { block-size: 17px; inline-size: 17px; }
.email-check-note.suggest > button:hover { background: var(--accent-weak); }
.email-check-note.suggest > button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
email-suggest { background: color-mix(in srgb, var(--warn) 13%, var(--bg));
  border: 1px solid color-mix(in srgb, var(--warn) 40%, var(--line)); border-radius: var(--r-lg);
  display: block; margin: 0 0 1rem; padding: .85rem 1rem; }
email-suggest > .es-q { font-weight: 600; margin: 0; }
email-suggest > .es-use { margin: .6rem 0 0; }
email-suggest > .es-keep { color: var(--muted); font-size: .925em; margin: .5rem 0 0; }
input.email-checking { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23888' stroke-width='2' stroke-dasharray='28' stroke-dashoffset='10'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 8 8' to='360 8 8' dur='0.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") right 8px center / 16px no-repeat; }

.session-stated {
  color: color-mix(in srgb, currentColor 72%, transparent);
  margin: 0 0 .25rem;
}
.session-stated-desc {
  color: color-mix(in srgb, currentColor 72%, transparent);
  font-size: .92em;
  line-height: 1.45;
  margin: 0 0 1rem;
}
.session-stated:last-child { margin-bottom: 1rem; }
.session-picker {
  border: 0;
  margin: 0 0 1rem;
  min-inline-size: 0;
  padding: 0;
}
.session-picker[data-in-form] { margin-top: .8rem; }
.session-picker > legend { margin: 0 0 .35rem; padding: 0; }
.session-picker > legend .step-heading-count {
  color: color-mix(in srgb, currentColor 62%, transparent);
  font-size: .8125em;
  font-weight: 400;
  white-space: nowrap;
}
.session-zone {
  color: color-mix(in srgb, currentColor 62%, transparent);
  font-size: .8125em;
  margin: 0 0 .5rem;
}
.session-row {
  align-items: flex-start;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  gap: .6rem;
  margin: 0 0 .4rem;
  padding: .65rem .8rem;
}
.session-row:hover:not([data-shut]) { border-color: color-mix(in srgb, currentColor 45%, transparent); }
.session-row:has(input:checked) {
  background: color-mix(in srgb, currentColor 6%, transparent);
  border-color: currentColor;
}
.session-row:has(input:focus-visible) { outline: 2px solid currentColor; outline-offset: 2px; }
.session-row[data-shut] { cursor: default; opacity: .55; }
.session-row > input { flex: none; margin: .2rem 0 0; }
.session-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
label.session-body { color: inherit; cursor: pointer; font-size: inherit; margin: 0; }
.session-when { font-weight: 600; }
.session-where { font-size: .875rem; opacity: .75; }
.session-desc { font-size: .875rem; line-height: 1.45; opacity: .75; }
.session-note {
  flex: none;
  font-size: .8125rem;
  opacity: .8;
}

.session-picker.bad > legend { color: inherit; }
.session-picker.bad .session-row {
  border-color: color-mix(in srgb, currentColor 55%, transparent);
}


ticket-row[addon-group] {
  display: block;
  padding-bottom: .35rem;
}

.addon-group {
  border: 0;
  margin: 0 0 .75rem;
  min-inline-size: 0;
  padding: 0;
}

.addon-group > legend {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0 0 .4rem;
  padding: 0;
}

.addon-group-name { font-weight: 600; }

.addon-group-row {
  align-items: flex-start;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  gap: .6rem;
  margin-bottom: .4rem;
  padding: .65rem .8rem;
}
.addon-group-row:last-child { margin-bottom: 0; }
.addon-group-row:hover { border-color: color-mix(in srgb, currentColor 45%, transparent); }
.addon-group-row:has(input:checked) {
  background: color-mix(in srgb, currentColor 6%, transparent);
  border-color: currentColor;
}
.addon-group-row:has(input:focus-visible) { outline: 2px solid currentColor; outline-offset: 2px; }
.addon-group-row > input { flex: none; margin: .2rem 0 0; }

.addon-group-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.addon-group-item { font-weight: 600; overflow-wrap: anywhere; }
.addon-group-desc { font-size: .875rem; line-height: 1.45; opacity: .75; }
.addon-group-price {
  font-weight: 600;
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
}
.addon-group-price .tax-note { font-size: .75rem; font-weight: 400; }

.addon-group.bad > legend { color: inherit; }
.addon-group.bad .addon-group-row {
  border-color: color-mix(in srgb, currentColor 55%, transparent);
}

li[data-asked-elsewhere],
ticket-row[addon-group] {
  display: none;
}

html.js li[data-asked-elsewhere]:has(> ticket-row[addon-group]:not([hidden])) {
  display: revert;
}

html.js ticket-row[addon-group]:not([hidden]) {
  display: block;
}

html.js section.schedule-group:not([data-schedule-list]):where(:not([data-name-leads])) {
  display: none;
}

section.schedule-group[data-name-leads]:not([data-schedule-list]) {
  display: none;
}

html.js section.schedule-group:not([data-schedule-list]):not([hidden]) {
  display: revert;
}

html.js:not(.steps-drawn) form[data-checkout] section.schedule-group[data-times-only] {
  display: none;
}

body.buyer-journey li ticket-row label.grow,
body.buyer-journey .row label.grow, body.buyer-journey ticket-row label.grow,
body.buyer-journey .row label, body.buyer-journey ticket-row label:not(.et-name),
body.buyer-journey :where(li, .row, ticket-row) :where(.grow > strong, .grow > span:first-child:not(.et-name)) {
  color: var(--fg); font-size: var(--bj-body); font-weight: 500; margin-bottom: 0; }

:where([data-ticket-description]) { white-space: pre-line; }
:where([data-ticket-description]) :where(ul) { display: block; list-style: disc outside; margin: .25em 0; padding-left: 1.25em; }
:where([data-ticket-description]) :where(li) { display: list-item; }
:where([data-ticket-description]) :where(a) { color: var(--journey-link, var(--accent)); }
:where(event-description) :where(ul) { margin: .5em 0; padding-left: 1.25em; }

.public-brand { font-weight: 700; margin-bottom: 2rem; }

body.buyer-journey { --p-accent: var(--journey-link, var(--accent));
  --hairline: color-mix(in srgb, var(--control-line) 65%, var(--journey-card));
  --control-shadow: none;
  --bj-body: 1rem; --bj-support: .875rem; --bj-micro: .75rem;
  --bj-h1: 1.6rem; --bj-h2: 1.125rem; --bj-h3: 1rem;
  --bj-display: 1.35rem; --bj-display-weight: 640; --bj-display-ink: var(--journey-heading, var(--fg));
  --bj-section: 2.25rem; --bj-after-heading: .75rem;
  --bj-pad: 2.25rem;
  --bj-field: 100%;
  --bj-radius: min(var(--journey-radius), 12px);
  --bj-radius-sm: min(var(--journey-radius), 8px);
}

body.buyer-journey :where(h1, h2, h3) { margin-block: var(--bj-section) var(--bj-after-heading); }
body.buyer-journey > main > :first-child, body.buyer-journey :where(h1, h2, h3):first-child { margin-block-start: 0; }
body.buyer-journey h1 { font-size: var(--bj-h1); line-height: 1.2; }
body.buyer-journey h2 { font-size: var(--bj-h2); }
body.buyer-journey h3 { font-size: var(--bj-h3); }

body.buyer-journey :where(.field-desc, .addon-desc, .tk-meta, .hint, .bj-support),
body.buyer-journey :where(li, .row, ticket-row, .change-row, .tkt-stub, .tkt-scan) :where(.muted, small) {
  color: var(--muted); font-size: var(--bj-support); }
body.buyer-journey .bj-aside { margin-block-start: var(--bj-section); }
p.lead { font-size: 1.35rem; font-weight: 600; margin: .35rem 0; }

body.buyer-journey :where(.rows, .row, .door-types li, hr) { border-color: var(--hairline); }
body.buyer-journey hr { background: var(--hairline); block-size: 1px; border: 0; margin-block: var(--bj-section); }

head-row {
  align-items: center;
  column-gap: 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-block-start: var(--bj-section);
}

head-row > h1 { grid-area: 1 / 1; margin-block-end: 0; }
head-row > .support { grid-area: 2 / 1 / 3 / -1; margin-block: var(--bj-after-heading) 0; }
head-row > venue-links { display: block; grid-area: 3 / 1 / 4 / -1; margin-block-start: .25rem; }
head-row > head-action {
  align-self: center;
  grid-area: 1 / 2;
  margin: 0;
}
@media (min-width: 600px) {
  head-row > head-action.with-receipt { grid-area: 4 / 1 / 5 / -1; justify-self: start; margin-block-start: 1.1rem; }
  head-row:has(> head-action.with-receipt) { margin-block-end: 1.1rem; }
}
@media (max-width: 599px) {
  head-row { display: block; }
  head-row { margin-block-end: 1.1rem; }
  head-row > head-action { margin: 1.25rem 0 0; }
}

details-head {
  align-items: center;
  column-gap: 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-block: var(--bj-section) var(--bj-after-heading);
}
body.buyer-journey details-head > h2 { margin-block: 0; }
body.buyer-journey details-head > a {
  align-items: center;
  display: inline-flex;
  font-size: .85rem;
  font-weight: 600;
  gap: .35rem;
  text-decoration: none;
}

body.buyer-journey form:where(.row, .change-row) { align-items: center; }
body.buyer-journey form:where(.row, .change-row) :where(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  width: auto; }
body.buyer-journey form:where(.row, .change-row) select { flex: 1 1 9rem; min-inline-size: 7rem; }
body.buyer-journey form:where(.row, .change-row) > button[type=submit] { margin-inline-start: auto; }

body.buyer-journey .bj-field { margin: 1.5rem 0; }
body.buyer-journey label:not(.check):not(.rt-stop):not(.rowhit):not(.grow):not(.reg-ticket):not(.yn):not(.cg-opt):not(.ps-choice):not(.session-row):not(.session-body):not(.addon-group-row):not(.cs-line):not(.cs-all):not(.mode-body label):not(.pi-manage label):not(.portal-register label):not(.et-name) { color: var(--fg); display: block;
  font-size: var(--bj-support); font-weight: 600; margin-bottom: .4rem; }
body.buyer-journey label.check, body.buyer-journey label.check.check-field {
  color: var(--fg); font-size: var(--bj-support); font-weight: 400; }
body.buyer-journey label.check .field-desc { font-weight: 400; }
body.buyer-journey .bj-field > .hint { margin: .4rem 0 0; }

body.buyer-journey .field-error { font-size: var(--bj-support); margin: .35rem 0 0; }

body.buyer-journey form.unsub-quiet:not([data-checkout]) > button[type=submit] {
  background: none;
  border: 0;
  border-radius: 0;
  color: var(--journey-link, var(--accent));
  font-size: var(--bj-support);
  font-weight: 400;
  margin: .25rem 0 0;
  padding: 0;
  text-align: start;
  width: auto;
}
body.buyer-journey form.unsub-quiet:not([data-checkout]) > button[type=submit]:hover {
  background: none;
  color: var(--journey-link, var(--accent));
  text-decoration: underline;
  text-underline-offset: .15em;
}
body.buyer-journey .unsub-small { font-size: var(--bj-support); }

body.buyer-journey .stated-email { display: flex; flex-direction: column;
  gap: .1rem; margin: 1.5rem 0 .4rem; }
body.buyer-journey .stated-email .se-label { color: var(--fg);
  font-size: var(--bj-support); font-weight: 600; }
body.buyer-journey .stated-email .se-value { color: var(--fg);
  font-size: var(--bj-body); font-weight: 400; overflow-wrap: anywhere; }
body.buyer-journey .stated-email + .field-desc { font-size: var(--bj-micro);
  margin-top: 0; }

body.buyer-journey :is(a.back-link, a.quiet-link) {
  background: none;
  border: 0;
  color: var(--journey-link, var(--accent));
  display: inline-block;
  font-size: var(--bj-support);
  font-weight: 400;
  text-decoration: none;
}
body.buyer-journey a.back-link {
  margin-top: var(--bj-section);
  padding-inline: 1.15em 0;
  position: relative;
}
body.buyer-journey :is(a.back-link, a.quiet-link):hover { text-decoration: underline; text-underline-offset: .15em; }
body.buyer-journey form:not([data-checkout]) button.quiet-link[type="submit"],
body.buyer-journey form:not([data-checkout]) button.quiet-link[type="submit"]:hover,
body.buyer-journey form:not([data-checkout]) button.quiet-link[type="submit"]:active {
  background: none;
  border: 0;
  box-shadow: none;
  color: var(--journey-link, var(--accent));
  cursor: pointer;
  display: inline;
  font: inherit;
  font-size: var(--bj-support);
  font-weight: 400;
  margin: 0;
  padding: 0;
  text-decoration: none;
  transform: none;
}
body.buyer-journey form:not([data-checkout]) button.quiet-link[type="submit"]:hover { text-decoration: underline; text-underline-offset: .15em; }
body.buyer-journey form:not([data-checkout]) button.quiet-link[type="submit"]:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
body.buyer-journey a.back-link::before { content: "\2190"; inset-inline-start: 0; position: absolute; }

@media (pointer: coarse), (max-width: 40rem) {
  body.buyer-journey :is(a.back-link, a.quiet-link) { position: relative; }
  body.buyer-journey :is(a.back-link, a.quiet-link)::after { content: ""; inset: min(0px, calc((100% - 2.75rem) / 2)); position: absolute; }
}

order-links {
  column-gap: 1rem;
  display: flex;
  flex-wrap: wrap;
  margin: .5rem 0;
}
order-links > [data-cancel-unpaid] { margin-inline-start: auto; }


.portal-piece { margin: 1.5rem 0; }
.portal-piece:first-child { margin-top: 0; }
.portal-piece + .portal-piece { margin-top: -.6rem; }

.static-page .sp-content > :first-child { margin-top: 0; }
.static-page .sp-content > :last-child { margin-bottom: 0; }

.static-page .sp-content h1 { margin: 1.6em 0 .4em; }
.static-page .sp-content h2 { margin: 1.3em 0 .3em; }
.static-page .sp-content p,
.static-page .sp-content ul,
.static-page .sp-content ol { margin: 0 0 .85em; }
.static-page .sp-content li { margin: .2em 0; }

.sp-picture { margin: 1.2em 0; }
.sp-picture img { border-radius: 8px; display: block; height: auto; max-width: 100%; }

.sp-button-row { margin: 1.2em 0; }


.sp-grid { margin: 1.2em 0; }
.sp-grid ul {
  display: grid;
  gap: .5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.sp-grid ul[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sp-grid ul[data-cols="1"] { grid-template-columns: minmax(0, 1fr); }
.sp-grid li { margin: 0; }
.sp-grid a { display: block; }
.sp-grid img {
  aspect-ratio: 1;
  border-radius: 6px;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.sp-grid ul[data-shape="portrait"] img { aspect-ratio: 4 / 5; }
.sp-grid ul[data-shape="landscape"] img { aspect-ratio: 3 / 2; }
.sp-grid figcaption { color: var(--muted); font-size: var(--bj-support); margin-top: .5rem; }

body.buyer-journey form input.code-entry {
  --field-fs: 1.6rem;
  font-size: var(--field-fs);
  font-variant-numeric: tabular-nums;
  letter-spacing: .3em;
  text-align: center;
}

transfer-card {
  border-top: 1px solid var(--hairline, currentColor);
  color: var(--muted);
  display: block;
  font-size: var(--bj-support);
  margin-top: var(--bj-section, 2rem);
  padding-top: 1rem;
  text-align: center;
}

.alloc-card { border-block: 1px solid var(--hairline); container: alloc / inline-size; margin: 1.6rem 0 2rem; padding: 1.3rem 0 1.25rem; }
.alloc-label { color: var(--muted); font-size: .75rem; font-weight: 600; letter-spacing: .1em; margin: 0 0 .55rem; text-transform: uppercase; }
.alloc-bar { background: var(--hairline); border-radius: 99px; height: 4px; margin-top: 1.1rem; overflow: hidden; }
.alloc-bar i { background: var(--p-accent); border-radius: 99px; display: block; height: 100%; min-width: 2px; transition: width .4s ease; }
.alloc-stats { align-items: baseline; display: grid; gap: .9rem 1rem; grid-template-columns: 1fr 1fr; }
.alloc-stats div { display: flex; flex-direction: column; gap: .15rem; }
.alloc-stats > div:nth-child(even) { align-items: flex-end; text-align: right; }
.alloc-stats strong { font-size: 1.7rem; font-weight: 640; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.alloc-stats small { color: var(--muted); font-size: .75rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
@container alloc (min-width: 32rem) {
  .alloc-stats { display: flex; justify-content: space-between; }
  .alloc-stats > div.alloc-mid { align-items: center; text-align: center; }
}
.alloc-remaining strong { color: var(--p-accent); }
.alloc-types { border-top: 1px solid var(--hairline); list-style: none; margin: 1.1rem 0 0; padding: .85rem 0 0; }
.alloc-types li { align-items: baseline; display: flex; font-size: .9rem; gap: 1rem; justify-content: space-between; padding: .18rem 0; }
.alloc-types .at-left { color: var(--muted); font-variant-numeric: tabular-nums; text-align: right; }
.at-tally li { flex-direction: column; gap: .1rem; padding: .3rem 0; }
.at-tally .at-counts { font-size: .625rem; font-weight: 600; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
@container alloc (min-width: 32rem) {
  .at-tally li { flex-direction: row; gap: 1rem; padding: .18rem 0; }
  .at-tally .at-counts { text-align: right; }
}
.at-untyped .at-name { color: var(--muted); }
.at-head { border-top: 1px solid var(--hairline); margin: 1.1rem 0 0; padding-top: .85rem; }
.at-head + .alloc-types { border-top: 0; margin-top: .35rem; padding-top: 0; }

.dl-list { list-style: none; margin: .9rem 0 0; padding: 0; }
.dl-list li + li { border-top: 1px solid var(--hairline); }
.dl-list a { align-items: center; color: inherit; display: flex; gap: .85rem; padding: .8rem .35rem; text-decoration: none; }
.dl-list a:hover { background: color-mix(in oklab, var(--p-accent) 6%, transparent); }
.dl-list a:focus-visible { outline: 2px solid var(--p-accent); outline-offset: -2px; }
.dl-kind {
  align-items: center; background: var(--hairline); border-radius: var(--bj-radius-sm); color: var(--muted);
  display: flex; flex: none; font-size: .62rem; font-weight: 700; height: 34px; justify-content: center;
  letter-spacing: .04em; width: 34px;
}
.dl-text { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.dl-text strong { font-size: .95rem; font-weight: 560; overflow-wrap: anywhere; }
.dl-text small { color: var(--muted); font-size: .78rem; }
.dl-text small.dl-desc { color: inherit; font-size: .82rem; overflow-wrap: anywhere; }
.dl-arrow { color: var(--muted); flex: none; margin-left: auto; }
.dl-list a:hover .dl-arrow { color: var(--p-accent); }

.mode-card { background: var(--journey-card, transparent); border: 1px solid var(--hairline);
  border-radius: var(--bj-radius); box-shadow: var(--shadow-hairline); margin: .7rem 0;
  transition: border-color .2s, box-shadow .2s; }
.mode-card:hover, .mode-card[open] { border-color: color-mix(in srgb, var(--p-accent) 35%, transparent);
  box-shadow: var(--shadow-hairline-lift); }
.mode-card > summary { align-items: center; cursor: pointer; display: flex; gap: .9rem; list-style: none; padding: 1rem 1.15rem; position: relative; }
.mode-card > summary::-webkit-details-marker { display: none; }
.mode-card > summary::after { border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted);
  content: ""; height: 7px; position: absolute; right: 1.25rem; top: 50%; transform: translateY(-65%) rotate(45deg);
  transition: transform .2s; width: 7px; }
.mode-card[open] > summary::after { transform: translateY(-35%) rotate(225deg); }
.mode-icon { color: var(--p-accent); display: flex; flex: none; opacity: .9; }
.mode-text { display: flex; flex-direction: column; gap: .12rem; padding-right: 1.75rem; }
.mode-text strong { font-weight: 600; }
.mode-text small { color: var(--muted); }
.mode-card .mode-body { border-top: 1px solid var(--hairline); padding: .4rem 1.15rem 1.15rem; }

body.buyer-journey .mode-body label:not(.reg-ticket), body.buyer-journey .pi-manage label:not(.reg-ticket) {
  color: var(--muted); display: block; font-size: var(--bj-micro); font-weight: 600;
  letter-spacing: .08em; margin: .9rem 0 .3rem; text-transform: uppercase; }

body.buyer-journey .portal-register label:not(.reg-ticket) {
  color: var(--muted); display: block; font-size: var(--bj-micro); font-weight: 600;
  letter-spacing: .08em; margin: .9rem 0 .3rem; text-transform: uppercase; }
.mode-body input:where([type=text], [type=email], [type=number], [type=file]),
.pi-manage input:where([type=text], [type=email]),
.portal-register input:where([type=text], [type=email]) {
  background: transparent; border: 1px solid var(--control-line); border-radius: var(--bj-radius-sm);
  font: inherit; padding: .55rem .7rem; transition: border-color .15s; width: 100%; }
.mode-body input:focus-visible, .pi-manage input:focus-visible, .portal-register input:focus-visible {
  border-color: var(--p-accent); outline: none; }
.mode-body input[type=number] { width: 6.5rem; }
.mode-body .mono { display: inline-block; margin: .5rem 0; overflow-wrap: anywhere; }

.mode-body .actions, .pi-manage .actions, .portal-register .actions {
  display: flex; gap: .6rem; justify-content: flex-end; margin-top: 1.15rem; }
body.buyer-journey :where(.mode-body, .pi-manage, .portal-register) button {
  border: 0; border-radius: var(--button-radius, var(--bj-radius-sm)); cursor: pointer; font: inherit; font-size: .92rem;
  font-weight: 600; padding: .58rem 1.35rem; transition: filter .15s, transform .1s; }
body.buyer-journey :where(.mode-body, .pi-manage, .portal-register) button:hover { filter: brightness(1.08); }
body.buyer-journey :where(.mode-body, .pi-manage, .portal-register) button:active { transform: translateY(.5px); }
body.buyer-journey :where(.mode-body, .pi-manage) button.ghost,
body.buyer-journey a.button.ghost { background: transparent; border: 1px solid var(--custom-outlined-button-color, var(--control-line));
  border-radius: var(--button-radius, var(--bj-radius-sm)); color: var(--custom-outlined-button-color, var(--fg)); font-size: .85rem; font-weight: 600; padding: .42rem 1rem; }

body.buyer-journey .mode-body .mono, body.buyer-journey .portal-register .mono { background: transparent; color: var(--p-accent); padding: 0; }

.share-link { align-items: center; border: 1px solid var(--hairline); border-radius: var(--bj-radius);
  display: flex; gap: .7rem; justify-content: space-between; margin: .55rem 0 .2rem; padding: .5rem .5rem .5rem .75rem; }
.share-link a { color: var(--p-accent); font-size: .95rem; font-family: ui-monospace, "SF Mono", Menlo, monospace;
  overflow-wrap: anywhere; text-decoration: none; }
.share-link a:hover { text-decoration: underline; }
form + .share-link { margin-top: 1.5rem; }
body.buyer-journey .copy-btn { background: transparent; border: 1px solid var(--custom-outlined-button-color, var(--control-line)); border-radius: var(--button-radius, var(--bj-radius-sm));
  color: var(--custom-outlined-button-color, var(--fg)); cursor: pointer; flex: none; font: inherit; font-size: .85rem; font-weight: 600;
  padding: .42rem 1rem; transition: border-color .15s, color .15s; }
body.buyer-journey .copy-btn:hover { border-color: var(--p-accent); color: var(--p-accent); }
body.buyer-journey .copy-btn.done { border-color: var(--p-accent); color: var(--p-accent); }


.portal-flash { align-items: center; color: var(--p-accent); display: flex; font-size: .9rem;
  font-weight: 600; gap: .45rem; margin: .8rem 0 0; }
.portal-flash::before { background: var(--p-accent); border-radius: 50%; content: ""; height: 6px; width: 6px; }


.flow-table table { border-collapse: collapse; margin: 1rem 0; width: 100%; }
.flow-table th, .flow-table td { border-bottom: 1px solid var(--hairline); padding: .6rem .75rem .6rem 0;
  text-align: left; vertical-align: middle; }
.flow-table th { font-weight: 500; overflow-wrap: anywhere; }
.flow-table th .muted { font-size: .875rem; font-weight: 400; }
.flow-table td { padding-right: 0; width: 45%; }
.flow-table td select { width: 100%; }
@media (width < 34rem) {
  .flow-table th, .flow-table td { display: block; padding-right: 0; width: auto; }
  .flow-table th { border-bottom: 0; padding-bottom: .35rem; }
  .flow-table td { padding-top: 0; }
}

body.buyer-journey .portal-head { margin-block-end: 0; }
body.buyer-journey .portal-head > p { margin-block: 0; }
body.buyer-journey .portal-head h1 { margin-block: .1rem 0; }
body.buyer-journey .portal-head .portal-package { margin-block-start: .2rem; }

body.buyer-journey .pkg-card { border-block: 1px solid var(--hairline); margin: 1.6rem 0 2rem; padding: 1.3rem 0 1.25rem; }
body.buyer-journey .pkg-card.due { border-inline-start: 3px solid var(--p-accent); padding-inline-start: 1.1rem; }
body.buyer-journey .pkg-label { color: var(--muted); font-size: .75rem; font-weight: 600; letter-spacing: .1em; margin: 0 0 .55rem; text-transform: uppercase; }
body.buyer-journey .pkg-total { font-size: 1.7rem; font-variant-numeric: tabular-nums; font-weight: 640; letter-spacing: -.02em; line-height: 1; margin: 0; }
body.buyer-journey .pkg-vat { color: var(--muted); font-size: .9rem; margin: .45rem 0 0; }
body.buyer-journey .pkg-detail { color: var(--muted); margin: .7rem 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
body.buyer-journey .pkg-note { margin: .8rem 0 1rem; }
body.buyer-journey .pkg-paid { color: var(--muted); margin: .7rem 0 0; }

body.buyer-journey > main:has(> .portal-head) { max-width: 680px; }

body.buyer-journey .ov-block { margin-block: 0 var(--bj-section); }
body.buyer-journey .ov-label {
  color: var(--muted); font-size: var(--bj-micro); font-weight: 600;
  letter-spacing: .1em; margin: 0 0 .3rem; text-transform: uppercase; }
body.buyer-journey .ov {
  border-block-start: 1px solid var(--hairline); list-style: none;
  margin: 0; padding: 0; }
body.buyer-journey .ov li { border-block-end: 1px solid var(--hairline); }
body.buyer-journey .ov a {
  align-items: center; color: inherit; display: flex; gap: .85rem;
  padding: .8rem .25rem; text-decoration: none;
  transition: background .15s; }
body.buyer-journey .ov a:hover { background: color-mix(in srgb, var(--p-accent) 5%, transparent); }
body.buyer-journey .ov a:focus-visible { outline: 2px solid var(--p-accent); outline-offset: -2px; }
body.buyer-journey .ov-ic { color: var(--p-accent); display: flex; flex: none; }
body.buyer-journey .ov-txt {
  display: flex; flex: 1; flex-direction: column; gap: .1rem; min-width: 0; }
body.buyer-journey .ov-txt strong { font-size: var(--bj-body); font-weight: 600; }
body.buyer-journey .ov-txt small { color: var(--muted); font-size: var(--bj-support); }
body.buyer-journey .ov-chip {
  background: var(--warn-weak);
  border: 1px solid color-mix(in srgb, var(--warn) 40%, var(--line));
  border-radius: 99px; color: var(--warn-ink); flex: none;
  font-size: var(--bj-micro); font-weight: 650; letter-spacing: .02em;
  padding: .16rem .55rem; }
body.buyer-journey .ov-arrow { color: var(--muted); flex: none; }

body.buyer-journey .ph-rail { display: none; }
body.buyer-journey .portal-handbook { min-height: calc(100dvh - 1.5rem); scroll-margin-top: 1.5rem; }


@media (min-width: 1080px) {
  body.buyer-journey > main:has(.portal-handbook) { max-width: 1180px; }
  body.buyer-journey .portal-handbook {
    align-items: start; display: grid; gap: 2.5rem;
    grid-template-columns: 12.5rem minmax(0, 1fr) 17rem; margin-top: 1.75rem; }
  body.buyer-journey .ph-body { min-width: 0; }
  body.buyer-journey .ph-body > .ov-block,
  body.buyer-journey .ph-body > callout.ov-done { display: none; }
  body.buyer-journey .ph-contents,
  body.buyer-journey .ph-rail { display: block; position: sticky; top: 1.5rem; }
  body.buyer-journey .ph-body > :first-child { margin-top: 0; }
  body.buyer-journey .ph-body > .alloc-card:first-child { border-block-start: 0; padding-top: 0; }
}

body.buyer-journey .ph-contents ul { list-style: none; margin: 0; padding: 0; }
body.buyer-journey .ph-contents a {
  align-items: center; border-radius: var(--bj-radius-sm); color: var(--fg);
  display: flex; font-size: var(--bj-support); gap: .6rem;
  padding: .45rem .55rem; text-decoration: none; }
body.buyer-journey .ph-contents a:hover { background: color-mix(in srgb, var(--p-accent) 7%, transparent); }
body.buyer-journey .ph-contents a[aria-current="page"] { background: color-mix(in srgb, var(--p-accent) 10%, transparent); font-weight: 600; }
body.buyer-journey .ph-contents a[aria-current="page"] .ov-ic { color: var(--p-accent); }
body.buyer-journey .ph-contents a:focus-visible { outline: 2px solid var(--p-accent); outline-offset: -2px; }
body.buyer-journey .ph-contents .ov-ic { color: var(--muted); }
body.buyer-journey .ph-contents .ov-ic svg { height: 16px; width: 16px; }

body.buyer-journey .ph-rail .ov a { align-items: flex-start; padding: .75rem .25rem; }
body.buyer-journey .ph-rail .ov-ic { padding-top: .1rem; }
body.buyer-journey .ph-rail .ov-txt { gap: .2rem; }
body.buyer-journey .ph-rail .ov-chip { align-self: flex-start; margin-top: .25rem; }
body.buyer-journey .ph-rail callout { margin: 0; }
body.buyer-journey .ph-todo {
  background: color-mix(in srgb, var(--p-accent) 4%, var(--journey-card));
  border: 1px solid var(--hairline); border-radius: var(--bj-radius);
  padding: .9rem 1rem .6rem; }
body.buyer-journey .ph-todo .ov { border-block-start: 0; }
body.buyer-journey .ph-todo .ov li:last-child { border-block-end: 0; }
body.buyer-journey .ph-todo .ov a { border-radius: var(--bj-radius-sm); margin-inline: -.5rem; padding-inline: .5rem; }

@media (max-width: 1079px) {
  body.buyer-journey .ph-contents { border-block-end: 1px solid var(--hairline); margin: 1.25rem 0 1.5rem; overflow-x: auto; }
  body.buyer-journey .ph-contents > .ov-label { display: none; }
  body.buyer-journey .ph-contents ul { display: flex; gap: .25rem; padding-block-end: .5rem; }
  body.buyer-journey .ph-contents a { white-space: nowrap; }
}


body.buyer-journey .portal-signin { margin-block-start: 1rem; }

.portal-whoami {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .6rem;
  margin-block-start: .45rem;
}

.portal-whoami > .bj-actions { align-items: baseline; }

.portal-whoami .bj-actions { margin: 0; }
.portal-whoami form { margin: 0; }

.portal-issued { list-style: none; margin: .4rem 0 0; padding: 0; }
.portal-issued li { border-bottom: 1px solid var(--hairline); }
.portal-issued li:first-child { border-top: 1px solid var(--hairline); }
.portal-issued li.is-revoked { opacity: .5; }
.pi-row { align-items: baseline; display: flex; gap: 1rem; justify-content: space-between; padding: .6rem .1rem; }
.pi-name { flex: 1; font-weight: 550; overflow-wrap: anywhere; }
.pi-name em { color: var(--muted); font-size: .8rem; font-style: normal; }
.pi-count { color: var(--muted); flex: none; font-size: .84rem; font-variant-numeric: tabular-nums; }
summary.pi-row { cursor: pointer; list-style: none; }
summary.pi-row::-webkit-details-marker { display: none; }
.pi-row::after { align-self: center; border-right: 1.5px solid transparent;
  border-bottom: 1.5px solid transparent; content: ""; flex: none; height: .38em; transform: rotate(45deg); transition: transform .18s ease; width: .38em; }
summary.pi-row::after { border-color: var(--muted); }
.pi-manage[open] > summary.pi-row::after { transform: rotate(225deg); }
.pi-manage[open] { padding-bottom: 1rem; }

.portal-list-head { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem 1rem; justify-content: space-between; margin: 1.6rem 0 .6rem; }
.portal-list-head h2 { margin: 0; }
.portal-list-head order-documents { margin: 0; }
.portal-list-head h2 small { font-size: var(--bj-support, .875rem); font-weight: 400; }
.portal-find { align-items: stretch; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .5rem; }
body.buyer-journey .portal-find :is(input, select) { margin: 0; max-width: none; }
body.buyer-journey .portal-find select { flex: 1 1 12rem; min-width: 0; }
body.buyer-journey .portal-find input { flex: 1 1 12rem; min-width: 0; }
.portal-find .bj-actions { margin: 0; }
body.buyer-journey .portal-find .bj-actions > .pill-link { align-items: center; box-sizing: border-box; height: 100%; margin: 0; }
.portal-tickets .tx-facts, .portal-ticket-facts { align-items: baseline; }
:is(.portal-issued, .portal-tickets) .pi-facts { color: var(--muted); display: block; font-size: var(--bj-support, .875rem); font-weight: 400; }
.portal-ticket-facts { column-gap: 1.1rem; display: flex; flex-wrap: wrap; row-gap: .1rem; }
.portal-ticket-actions > details[open] > :is(form, p) { padding-bottom: 1rem; }
form + .portal-ticket-actions { margin-top: 1.75rem; }

body.buyer-journey .portal-doc { border-top: 1px solid var(--hairline); padding: 1.35rem 0; }
body.buyer-journey .portal-doc:first-of-type { border-top: 0; padding-top: 0; }
body.buyer-journey .portal-doc > label { display: block; }
body.buyer-journey .portal-doc > label:first-child { margin-top: 0; }
body.buyer-journey .portal-doc .form-help { margin: .2rem 0 .5rem; }
body.buyer-journey .portal-doc .covers { margin-top: -.3rem; }
body.buyer-journey .portal-doc .covers-flag { color: var(--warn-ink); }
body.buyer-journey .portal-doc .file-list { margin: 0 0 .5rem; }

.portal-store { list-style: none; margin: .4rem 0 0; padding: 0; }
.portal-store li { align-items: center; border-bottom: 1px solid var(--hairline);
  display: flex; gap: 1rem; padding: .7rem .1rem; }
.portal-store li:first-child { border-top: 1px solid var(--hairline); }
.portal-store li.ps-head { border-bottom: 0; color: var(--muted); font-size: .78rem;
  letter-spacing: .04em; padding-bottom: .2rem; padding-top: 1.1rem; text-transform: uppercase; }
.portal-store li.ps-group { border-bottom: 0; display: block; padding: 0; }
.portal-store .ps-group > ul { list-style: none; margin: 0; padding: 0; }
.ps-main { display: flex; flex: 1; flex-direction: column; gap: .12rem; overflow-wrap: anywhere; }
.ps-name { font-weight: 500; }
.ps-main small { color: var(--muted); font-size: .82rem; }
.ps-cap { font-variant-numeric: tabular-nums; }
.ps-price { flex: none; font-variant-numeric: tabular-nums; }
.ps-note { color: var(--muted); flex: none; font-size: .84rem; }
.ps-chip { background: color-mix(in srgb, var(--p-accent) 12%, transparent); border-radius: 999px;
  color: var(--p-accent); flex: none; font-size: .76rem; font-weight: 550; padding: .16rem .5rem; }
.ps-choice { align-items: center; cursor: pointer; display: flex; gap: .5rem; }
.ps-choice input { accent-color: var(--p-accent); margin: 0; }
.ps-qty { flex: none; }
.ps-qty input { width: 3.4rem; }
.ps-window { font-size: .84rem; margin-top: .8rem; }

.reg-tickets { border: 0; margin: 0 0 .5rem; padding: 0; }
.reg-tickets legend { font-weight: 650; margin-bottom: .45rem; }
.reg-ticket { align-items: center; border: 1px solid var(--hairline); border-radius: var(--bj-radius);
  box-shadow: var(--shadow-hairline); cursor: pointer; display: flex; gap: .7rem;
  margin: .45rem 0; padding: .7rem .9rem; transition: border-color .15s, box-shadow .15s; }
.reg-ticket:hover { border-color: color-mix(in srgb, var(--p-accent) 35%, transparent); }
.reg-ticket:has(input:checked) { border-color: var(--p-accent); box-shadow: 0 0 0 1px var(--p-accent) inset; }
.reg-ticket input { accent-color: var(--p-accent); margin: 0; }
.reg-ticket small { color: var(--muted); }
.reg-ticket .grow { flex: 1; }
.reg-ticket .price { font-variant-numeric: tabular-nums; }
.reg-single { margin: .4rem 0 .8rem; }
@media (prefers-reduced-motion: reduce) {
  .mode-card, .mode-card > summary::after, .alloc-bar i, .reg-ticket,
  .namefield-details > summary::before,
  body.buyer-journey :where(.mode-body, .pi-manage, .portal-register) button { transition: none; }
}

.lang-switch { font-size: .85rem; position: absolute; right: 1rem; top: 1rem; z-index: 30; }
.lang-switch > summary { align-items: center; background: var(--surface, #fff); border: 1px solid var(--line, #d9d9e0); border-radius: 99px; cursor: pointer; display: flex; gap: .35rem; list-style: none; padding: .35rem .8rem; }
.lang-switch > summary::-webkit-details-marker { display: none; }
.lang-switch > summary > svg { flex: none; }
.lang-switch > summary > .caret { margin-left: 0; }
.lang-switch > nav { background: var(--surface, #fff); border: 1px solid var(--line, #d9d9e0); border-radius: .5rem; box-shadow: var(--shadow-menu-soft); display: flex; flex-direction: column; margin-top: .35rem; min-width: 10rem; padding: .3rem; position: absolute; right: 0; }
.lang-switch > nav :is(a, [aria-current]) { border-radius: .3rem; color: inherit; padding: .35rem .55rem; text-decoration: none; white-space: nowrap; }
.lang-switch > nav a:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
.lang-switch > nav [aria-current] { font-weight: 700; }
.lang-switch > nav > .ls-search { margin: 0 0 .3rem; }
.lang-switch > nav > .ls-search > input { border: 1px solid var(--control-line, var(--line, #d9d9e0)); border-radius: .3rem; box-sizing: border-box; font: inherit; padding: .35rem .55rem; width: 100%; }
.lang-switch > nav > .ls-none { color: var(--muted, #6b6b76); padding: .35rem .55rem; }


@media (max-width: 599px) {
  .lang-switch {
    margin: 0 var(--bj-pad, 1.25rem) .55rem auto;
    position: relative;
    width: max-content;
  }
}

@media (min-width: 600px) {
  .lang-switch ~ .lang-switch { top: 3.25rem; }
}

.lang-switch[open] ~ .lang-switch { z-index: 29; }

@media (pointer: coarse), (max-width: 40rem) {
  .lang-switch > summary { position: relative; }
  .lang-switch > summary::after { content: ""; inset: min(0px, calc((100% - 2.75rem) / 2)); position: absolute; }
}

@media (pointer: coarse), (max-width: 40rem) {
  .lang-switch > nav :is(a, [aria-current]):not([hidden]) { align-items: center; display: flex; min-height: 2.75rem; }
}

body.buyer-journey select:not([multiple]), body.buyer-journey [rst-combo] > [rst-input] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6579' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
body.buyer-journey[data-scheme="dark"] select:not([multiple]),
body.buyer-journey[data-scheme="dark"] [rst-combo] > [rst-input] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2398a2b5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
body.buyer-journey select { max-width: 100%; }
body.buyer-journey form:not([data-checkout]) :where(input:not([type=checkbox]):not([type=radio]):not([type=number]), select, textarea) {
  box-sizing: border-box; max-width: var(--bj-field); width: 100%; }
body.buyer-journey form:not([data-checkout]) :where(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  background-color: transparent; border: 1px solid var(--control-line); border-radius: var(--bj-radius-sm); color: var(--fg);
  font: inherit; padding: .55rem .65rem; }
body.buyer-journey form:not([data-checkout]) select:not([multiple]) { padding-right: 2rem; }
body.buyer-journey :where(input[type=checkbox], input[type=radio]) {
  accent-color: var(--accent); block-size: 1.25rem; inline-size: 1.25rem; margin: 0; }
body.buyer-journey label.check { align-items: center; display: flex; gap: .55rem; min-block-size: 1.75rem; }
body.buyer-journey label.check.confirm-check:has(.field-desc) {
  align-items: flex-start; min-block-size: 0; }
body.buyer-journey label.check.confirm-check:has(.field-desc) > input { margin-block-start: .15rem; }
body.buyer-journey label.check.confirm-check:has(.field-desc) > span { font-weight: 600; }
body.buyer-journey label.check.confirm-check .field-desc { font-weight: 400; }
body.buyer-journey :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) {
  border-color: var(--control-line); box-shadow: var(--control-shadow); }
body.buyer-journey form:not([data-checkout]) :where(input, select, textarea):focus-visible {
  border-color: var(--p-accent); outline: 2px solid var(--accent-weak-2); outline-offset: 1px; }
body.buyer-journey form:not([data-checkout]) button[type=submit]:not(:where(button-group > *, .embed-cta, .embed-all-types > *, [data-checkout-button])) {
  background: var(--accent); border: 1px solid transparent; border-radius: var(--button-radius, var(--bj-radius-sm)); color: var(--accent-fg);
  font-size: .95rem; font-weight: 600; justify-content: center; padding: .7rem 1.2rem; }
body.buyer-journey form:not([data-checkout]) > button[type=submit]:not(:where([data-checkout-button])) { width: 100%; }
body.buyer-journey form:not([data-checkout]) button[type=submit].busy:not(:where(button-group > *, [data-pay-alternative])) { color: transparent; }
body.buyer-journey form:not([data-checkout]) button[type=submit].busy:not(:where(button-group > *, [data-pay-alternative]))::after {
  border-color: var(--accent-fg); border-top-color: transparent; }
body.buyer-journey button-group > button.busy { -webkit-text-fill-color: transparent; }
body.buyer-journey button-group > button.busy::after { border-color: currentColor; border-top-color: transparent; }
body.buyer-journey form:not([data-checkout]) .email-check-note.suggest > button[type=submit] {
  background: transparent; border: 0; color: inherit; padding: 0; }
body.buyer-journey form:not([data-checkout]) .email-check-note.suggest > button[type=submit]:hover { background: var(--accent-weak); }
body.buyer-journey form:not([data-checkout]) .promo-applied > button[type=submit] {
  background: none; border: 0; color: var(--journey-link, var(--accent)); font-size: inherit; font-weight: inherit;
  margin: 0 0 0 auto; padding: 0; text-decoration: underline; width: auto; }

body.buyer-journey form:not([data-checkout]) .row:has(> .grow + select) { align-items: center; gap: .75rem; }
body.buyer-journey form:not([data-checkout]) .row > .grow + select {
  flex: 0 0 auto;
  inline-size: auto;
  max-inline-size: 60%;
  min-inline-size: 11rem;
}
body.buyer-journey form:not([data-checkout]) .row > .grow:has(+ select) { white-space: nowrap; }
@media (max-width: 420px) {
  body.buyer-journey form:not([data-checkout]) .row:has(> .grow + select) { flex-wrap: wrap; }
  body.buyer-journey form:not([data-checkout]) .row > .grow + select { max-inline-size: none; inline-size: 100%; }
}

body.buyer-journey .checkgroup,
body.buyer-journey .yesno .yn {
  border-radius: var(--bj-radius-sm);
  box-shadow: var(--control-shadow);
}
body.buyer-journey .yesno .yn { font-size: var(--bj-body); }

.field-error:not(:empty), .form-error:not(:empty) { position: relative; }
.field-error:not(:empty)::before, .form-error:not(:empty)::before {
  background: currentColor; content: "";
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.25M12 16.4h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  position: absolute; }

body.buyer-journey .field-error { color: var(--danger-ink); font-weight: 400; line-height: 1.5; }
body.buyer-journey .field-error:not(:empty) { padding-inline-start: 1.4em; }
body.buyer-journey .field-error:not(:empty)::before {
  block-size: 1.05em; inline-size: 1.05em; inset-block-start: .225em; inset-inline-start: 0; }

body.buyer-journey .form-error { color: var(--fg); font-weight: 500; line-height: 1.5; margin: 0 0 1rem; }
body.buyer-journey .form-error:not(:empty) {
  background: color-mix(in srgb, var(--danger) 9%, var(--journey-card, var(--bg)));
  border: 1px solid color-mix(in srgb, var(--danger) 34%, var(--line));
  border-radius: var(--bj-radius-sm); padding-block: .65rem; padding-inline: 2.45rem .85rem; }
body.buyer-journey .form-error:not(:empty)::before {
  block-size: 1.2rem; color: var(--danger-ink); inline-size: 1.2rem;
  inset-block-start: calc(.65rem + .75em - .6rem); inset-inline-start: .8rem; }

body.buyer-journey :is(input, select, textarea)[aria-invalid="true"] {
  border-color: var(--danger); box-shadow: 0 0 0 1px var(--danger); }

.bj-eyebrow { color: var(--muted); font-size: .75rem; font-weight: 600; letter-spacing: .1em;
  margin: 0 0 .3rem; text-transform: uppercase; }
order-actions, ticket-actions, head-action, rail-actions, order-documents, .bj-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.1rem 0; }
ticket-actions { justify-content: center; }
.bj-actions.bj-end { justify-content: flex-end; }
body.buyer-journey ticket-actions > .ta-lead {
  display: flex; flex-basis: 100%; justify-content: center; margin-bottom: .35rem;
}
body.buyer-journey :is(order-actions, ticket-actions, head-action, rail-actions, order-documents, .bj-actions) :is(a, summary).pill-link {
  background: transparent; border: 1px solid var(--custom-outlined-button-color, var(--control-line));
  border-radius: var(--button-radius, var(--bj-radius-sm)); color: var(--custom-outlined-button-color, var(--fg)); display: inline-block; font-size: .85rem; font-weight: 600;
  padding: .42rem 1rem; text-decoration: none; transition: border-color .15s, color .15s; }
body.buyer-journey :is(order-actions, ticket-actions, head-action, rail-actions, order-documents, .bj-actions) :is(a, summary).pill-link:hover {
  border-color: var(--p-accent); color: var(--p-accent); }
:is(order-actions, ticket-actions, head-action, rail-actions, order-documents, .bj-actions) :is(a, summary).pill-link > svg {
  margin-right: .35rem; vertical-align: -.18em; }
body.buyer-journey .bj-actions button.pill-link[type=submit] { background: transparent;
  border: 1px solid var(--custom-outlined-button-color, var(--control-line)); border-radius: var(--button-radius, var(--bj-radius-sm)); color: var(--custom-outlined-button-color, var(--fg)); cursor: pointer;
  font-size: .85rem; font-weight: 600; padding: .42rem 1rem;
  transition: border-color .15s, color .15s; }
body.buyer-journey .bj-actions button.pill-link[type=submit]:hover {
  border-color: var(--p-accent); color: var(--p-accent); }
body.buyer-journey .bj-actions button.pill-link[type=submit].busy {
  color: transparent; transition: none; }
body.buyer-journey .bj-actions button.pill-link[type=submit].busy::after {
  border-color: var(--custom-outlined-button-color, var(--fg)); border-top-color: transparent; }
.error-state { padding: 1rem 0; text-align: center; }
.error-state .bj-actions { justify-content: center; margin-bottom: 0; }

billing-address,
billing-search,
billing-combo,
billing-again { display: block; }
billing-address > [hidden],
billing-combo > [hidden] { display: none; }
body.buyer-journey billing-saved > [hidden] { display: none; }

billing-address p[data-ba-street] { margin: .4rem 0 0; }
billing-address p[data-ba-street][hidden] { display: none; }

billing-combo { position: relative; }
body.buyer-journey billing-combo > input[role="combobox"] { padding-inline-end: 2.25rem; }
body.buyer-journey billing-combo > input[aria-expanded="true"] { border-end-end-radius: 0; border-end-start-radius: 0; }
billing-pop {
  background: var(--journey-card, var(--surface));
  border: 1px solid var(--control-line, var(--hairline, var(--line)));
  border-end-end-radius: var(--bj-radius-sm, var(--r-md));
  border-end-start-radius: var(--bj-radius-sm, var(--r-md));
  border-top: 0;
  box-shadow: var(--shadow-menu);
  box-sizing: border-box;
  color: var(--fg);
  display: block;
  inset-inline-start: 0;
  position: absolute;
  top: 100%;
  z-index: 30;
}
billing-pop > [role="listbox"] {
  list-style: none;
  margin: 0;
  max-height: 15rem;
  overflow-y: auto;
  padding: .25rem;
}
billing-combo [role="option"] {
  border-radius: var(--r-sm);
  cursor: pointer;
  overflow: hidden;
  padding: .45rem .55rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
billing-combo [role="option"]:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
billing-combo [role="option"][aria-selected="true"] {
  background: color-mix(in srgb, var(--p-accent) 16%, transparent);
  box-shadow: inset 0 0 0 1px var(--fg);
}
billing-credit {
  border-top: 1px solid var(--hairline, var(--line));
  display: block;
  line-height: 0;
  padding: 10px 10px 5px;
  text-align: end;
}
billing-credit[hidden] { display: none; }
billing-credit > svg {
  display: inline-block;
  fill: light-dark(#1F1F1F, #FFFFFF);
  height: 18px;
  width: 98px;
}
billing-spin {
  animation: spin .6s linear infinite;
  border: 2px solid var(--muted);
  border-radius: 50%;
  border-top-color: transparent;
  box-sizing: border-box;
  display: none;
  height: 1rem;
  inset-block: 0;
  inset-inline-end: .75rem;
  margin-block: auto;
  pointer-events: none;
  position: absolute;
  width: 1rem;
}
billing-combo[data-busy] > billing-spin { display: block; }

billing-saved { display: block; }
billing-saved > p { margin: 0; }
billing-saved > .bs-head { color: var(--fg); font-size: var(--bj-support, .875rem); font-weight: 600; margin: 0 0 .4rem; }
billing-saved > label.check { margin: .6rem 0 0; }
body.buyer-journey billing-saved > button { margin: .5rem 0 0; }

billing-card {
  border: 1px solid var(--hairline, var(--line));
  border-radius: var(--bj-radius, var(--r-lg));
  display: block;
  margin: 1.5rem 0;
  max-width: var(--bj-field);
  padding: .85rem 1rem;
}
billing-lines { display: grid; gap: .15rem; }
billing-lines > span { color: var(--fg); overflow-wrap: anywhere; }
billing-lines > span:first-child { font-weight: 600; }
billing-acts { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin: .6rem 0 0; }
billing-again { margin: -.75rem 0 1.5rem; }
[data-ba-fields] + billing-again { margin: .6rem 0 1.25rem; }

body.buyer-journey billing-address button {
  background: none;
  border: 0;
  box-shadow: none;
  color: var(--journey-link, var(--fg));
  font-size: var(--bj-support, .875rem);
  margin: 0;
  min-height: 0;
  padding: .2rem 0;
  text-decoration: underline;
  text-underline-offset: 2px;
  width: auto;
}
body.buyer-journey billing-search > button { margin: .5rem 0 0; }
body.buyer-journey billing-address button:hover { filter: none; text-decoration-thickness: 2px; }
body.buyer-journey billing-address button:active { transform: none; }

:where(body.buyer-journey button-group) { display: flex; flex-direction: column; gap: 1.25rem; margin-top: 1.75rem; }
:where(body.buyer-journey button-group > button) {
  align-items: center; background: var(--accent); border: 1px solid transparent; border-radius: var(--button-radius, var(--bj-radius-sm));
  color: var(--accent-fg); cursor: pointer; display: inline-flex; font: inherit; font-size: .95rem; font-weight: 600; gap: .35rem;
  justify-content: center; line-height: 1.4; margin: 0; padding: .7rem 1.2rem; text-decoration: none;
  transition: background .12s, border-color .12s, box-shadow .12s, transform .05s; }
:where(body.buyer-journey button-group > button:active) { transform: translateY(.5px); }
:where(body.buyer-journey button-group > button:disabled) { cursor: default; opacity: .5; }
:where(body.buyer-journey button-group > button[data-response="no"]) {
  background: transparent; border-color: var(--custom-outlined-button-color, var(--control-line)); color: var(--custom-outlined-button-color, var(--fg)); }
:where(body.buyer-journey button-group > button[data-response="no"]:hover) {
  border-color: var(--p-accent); color: var(--p-accent); }

checkout-ways { display: flex; flex-direction: column; gap: 1.25rem; margin-top: 1rem; }
checkout-way { display: block; }
checkout-way > button { width: 100%; }
checkout-way > p { margin: .4rem 0 0; }

:is(.cal-menu, .dir-menu, .dl-menu) { position: relative; }
:is(.cal-menu, .dir-menu, .dl-menu) > summary { cursor: pointer; list-style: none; }
:is(.cal-menu, .dir-menu, .dl-menu) > summary::-webkit-details-marker { display: none; }
:is(.cal-menu, .dir-menu, .dl-menu) > nav { background: var(--surface, #fff); border: 1px solid var(--line, #d9d9e0);
  border-radius: .5rem; box-shadow: var(--shadow-menu-soft); display: flex; flex-direction: column;
  left: 0; margin-top: .35rem; min-width: 11rem; padding: .3rem; position: absolute; z-index: 20; }
body.buyer-journey :is(.cal-menu, .dir-menu, .dl-menu) > nav a { border-radius: .3rem; color: var(--fg); font-size: .85rem;
  padding: .4rem .55rem; text-decoration: none; white-space: nowrap; }
body.buyer-journey :is(.cal-menu, .dir-menu, .dl-menu) > nav a:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
body.buyer-journey :is(.dir-menu, .dl-menu) > summary {
  align-items: center;
  color: var(--journey-link, var(--accent));
  display: inline-flex;
  font-size: var(--bj-support);
  gap: .2rem;
}
body.buyer-journey :is(.dir-menu, .dl-menu) > summary:hover { text-decoration: underline; }
body.buyer-journey :is(.dir-menu, .dl-menu) > summary:focus-visible { border-radius: .25rem; outline: 2px solid currentColor; outline-offset: 2px; }
body.buyer-journey :is(.dir-menu, .dl-menu) .caret { transition: transform .12s ease; }
body.buyer-journey :is(.dir-menu, .dl-menu)[open] .caret { transform: rotate(180deg); }

body.buyer-journey .dl-menu > nav { left: auto; right: 0; width: min(19rem, calc(100vw - 2rem)); }
body.buyer-journey tix-head { position: relative; }
body.buyer-journey tix-head > .dl-menu { position: static; }
body.buyer-journey .dl-menu > nav a { display: flex; flex-direction: column; gap: .1rem; white-space: normal; }
body.buyer-journey .dl-menu > nav a > b { font-weight: 600; }
body.buyer-journey .dl-menu > nav a > span { color: var(--muted); font-size: .8rem; }

@media (pointer: coarse), (max-width: 40rem) {
  :is(.cal-menu, .dir-menu, .dl-menu) > summary { position: relative; }
  :is(.cal-menu, .dir-menu, .dl-menu) > summary::after { content: ""; inset: min(0px, calc((100% - 2.75rem) / 2)); position: absolute; }
}

@media (pointer: coarse), (max-width: 40rem) {
  body.buyer-journey :is(.cal-menu, .dir-menu, .dl-menu) > nav a:not([hidden]) { align-items: center; display: flex; min-height: 2.75rem; }
  body.buyer-journey .dl-menu > nav a:not([hidden]) { align-items: flex-start; justify-content: center; }
}

body.buyer-journey :is(order-actions, ticket-actions, ticket-actions > .ta-lead) > [primary] > .pill-link,
body.buyer-journey :is(order-actions, ticket-actions, ticket-actions > .ta-lead) > .pill-link[primary] {
  background: var(--accent);
  border: 0;
  border-radius: var(--button-radius, var(--bj-radius-sm));
  color: var(--accent-fg);
  font-size: .95rem;
  font-weight: 600;
  padding: .62rem 1.15rem;
}
body.buyer-journey :is(order-actions, ticket-actions, ticket-actions > .ta-lead) > [primary] > .pill-link:hover,
body.buyer-journey :is(order-actions, ticket-actions, ticket-actions > .ta-lead) > .pill-link[primary]:hover {
  border-color: transparent;
  color: var(--accent-fg);
  filter: brightness(.94);
}
body.buyer-journey :is(order-actions, ticket-actions, order-documents) > :not([primary], .ta-lead):is(a, summary).pill-link,
body.buyer-journey :is(order-actions, ticket-actions, order-documents) > :not([primary], .ta-lead):is(a, details, form) > .pill-link {
  background: none;
  border: 0;
  border-radius: 0;
  color: var(--journey-link, var(--accent));
  font-size: var(--bj-support);
  font-weight: 500;
  padding: .42rem 0;
}
body.buyer-journey :is(order-actions, ticket-actions, order-documents) > :not([primary], .ta-lead):is(a, summary).pill-link:hover,
body.buyer-journey :is(order-actions, ticket-actions, order-documents) > :not([primary], .ta-lead):is(a, details, form) > .pill-link:hover {
  text-decoration: underline;
}
body.buyer-journey order-documents > a.pill-link[data-doc-link="receipt"] {
  align-items: center;
  background: transparent;
  border: 1px solid var(--custom-outlined-button-color, var(--control-line));
  border-radius: var(--button-radius, var(--bj-radius-sm));
  box-sizing: border-box;
  color: var(--custom-outlined-button-color, var(--fg));
  display: inline-flex;
  font-size: .95rem;
  font-weight: 600;
  justify-content: center;
  padding: .62rem 1.15rem;
}
body.buyer-journey order-rail order-documents > a.pill-link[data-doc-link="receipt"] { display: flex; flex-basis: 100%; }
body.buyer-journey order-documents > a.pill-link[data-doc-link="receipt"]:hover {
  border-color: var(--p-accent);
  color: var(--p-accent);
  text-decoration: none;
}
body.buyer-journey :is(order-actions, ticket-actions, order-documents) > :not([primary], .ta-lead) .pill-link > svg { height: 13px; width: 13px; }
body.buyer-journey :is(order-actions, ticket-actions, order-documents) > [primary] { order: -1; }
body.buyer-journey :is(order-actions, ticket-actions, order-documents) { align-items: center; column-gap: 1rem; }

fieldset.co-attendee, fieldset.co-item {
  border: 0; margin: 0; padding: 0;
}
fieldset.co-attendee > legend, fieldset.co-item > legend {
  border-bottom: 1px solid var(--hairline);
}
fieldset.co-attendee > legend, fieldset.co-item > legend { margin-inline: 0; }
fieldset.co-attendee legend .cg-state, fieldset.co-item legend .cg-state {
  align-self: center; border: 1px solid var(--hairline); border-radius: 999px;
  color: var(--muted); font-size: var(--bj-support, .875rem); font-weight: 400;
  line-height: 1.3; margin-inline-start: auto; padding: .1rem .55rem; text-align: end;
}
fieldset.co-attendee legend .cg-state:empty, fieldset.co-item legend .cg-state:empty { display: none; }
fieldset.co-attendee > legend[role="button"] { cursor: pointer; }
fieldset.co-attendee > legend[role="button"]:hover .cg-type {
  text-decoration: underline; text-underline-offset: .2em;
}
fieldset.co-attendee > legend[role="button"]:focus-visible {
  outline: 2px solid var(--p-accent); outline-offset: 1px;
}
fieldset.co-attendee + fieldset.co-attendee,
fieldset.co-attendee + fieldset.co-item,
fieldset.co-item + fieldset.co-item,
fieldset.co-item + fieldset.co-attendee {
  margin-top: 1.5rem; padding-top: 0;
}
fieldset.co-attendee:first-of-type, fieldset.co-item:first-of-type { margin-top: 1.5rem; }
fieldset.co-attendee legend, fieldset.co-item legend {
  align-items: baseline; color: var(--journey-heading, var(--fg)); display: flex;
  flex-wrap: wrap; font-size: var(--bj-h3, 1rem); font-weight: 600; gap: .55rem;
  margin-bottom: .7rem; padding: 0 0 .45rem; width: 100%;
}
fieldset.co-attendee legend .cg-type, fieldset.co-item legend .cg-type {
  color: var(--journey-heading, var(--fg)); font-size: var(--bj-h3, 1rem); font-weight: 600;
}
fieldset.co-attendee legend .cg-count, fieldset.co-item legend .cg-count {
  color: var(--muted); font-size: var(--bj-support, .875rem); font-weight: 400;
  font-variant-numeric: tabular-nums;
}
fieldset.co-attendee > legend > .cg-caret { display: none; }
fieldset.co-attendee > legend[aria-expanded] > .cg-caret {
  align-self: center; color: var(--fg); display: block; height: 14px; width: 14px;
}
fieldset.co-attendee > legend[aria-expanded="true"] > .cg-caret { transform: rotate(90deg); }


fieldset.co-attendee > legend + *,
fieldset.co-item > legend + * { margin-top: 0; }
fieldset.co-attendee > legend + * > :first-child,
fieldset.co-item > legend + * > :first-child { margin-top: 0; }

.cg-optional > summary {
  align-items: center;
  color: var(--muted);
  cursor: pointer;
  display: flex;
  font-size: .875rem;
  gap: .4rem;
  list-style: none;
  padding: .2rem 0;
  width: fit-content;
}
.cg-optional > summary::-webkit-details-marker { display: none; }
.cg-optional > summary .promo-caret { transition: rotate .15s ease; }
.cg-optional[open] > summary .promo-caret { rotate: 90deg; }
@media (prefers-reduced-motion: reduce) {
  .cg-optional > summary .promo-caret { transition: none; }
}
.cg-optional[open] > summary { margin-bottom: .3rem; }

@supports selector(:has(*)) {
  #checkout-details:has(input[name="is_company"]:not(:checked)) company-block {
    display: none;
  }

  #checkout-details:has(input[name="is_company"]:checked) person-einvoice {
    display: none;
  }
}

company-block {
  container-type: inline-size;
  display: block;
}

body.buyer-journey company-block > h2:first-child {
  margin-block-start: var(--bj-section);
}

addr-pair {
  display: grid;
  gap: 0 0.75rem;
  grid-template-columns: 1fr 1fr;
}

addr-pair > span {
  display: block;
  min-width: 0;
}

addr-pair input,
addr-pair select {
  width: 100%;
}

@container (max-width: 30rem) {
  addr-pair {
    grid-template-columns: 1fr;
  }
}

company-subdivision {
  display: block;
}

company-address {
  display: block;
}

company-subdivision[hidden] {
  display: none;
}

company-einvoice,
einvoice-id {
  display: block;
}

einvoice-id[hidden] {
  display: none;
}

buyer-country,
person-einvoice,
person-id {
  display: block;
}

person-id[hidden] {
  display: none;
}

transfer-commit {
  display: block;
}

body.buyer-journey transfer-commit > h2:first-child {
  margin-block-start: var(--bj-section);
}

invoice-to {
  display: block;
}

body.buyer-journey invoice-to > p:first-child {
  font-size: var(--bj-support);
  margin-block-end: .2rem;
}

body.buyer-journey invoice-to > p {
  margin-block: 0;
}

details.invoice-to-change {
  margin-block: .5rem 1rem;
}

details.invoice-to-change > summary {
  color: var(--journey-link);
  cursor: pointer;
  font-size: var(--bj-support);
  list-style: none;
  min-height: 24px;
  text-decoration: underline;
  width: fit-content;
}

details.invoice-to-change > summary::-webkit-details-marker {
  display: none;
}

details.invoice-to-change[open] > summary {
  margin-block-end: .75rem;
}

company-block:has(details.invoice-to-change[open]) invoice-to {
  display: none;
}

checkout-bar {
  align-items: center;
  background: var(--journey-card);
  border-top: 1px solid var(--hairline);
  bottom: calc(var(--bj-pad) * -1);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: var(--bj-section) calc(var(--bj-pad) * -1) calc(var(--bj-pad) * -1);
  padding: .9rem var(--bj-pad) calc(.9rem + var(--bj-pad));
  position: sticky;
  z-index: 3;
}
form > checkout-bar:not(:last-child) {
  bottom: 0;
  margin-bottom: 0;
  padding-bottom: .9rem;
}
body.buyer-journey .journey-support {
  font-size: .875rem;
  margin: .9rem 0 0;
  text-align: center;
}
checkout-bar .cb-progress {
  color: var(--muted); display: flex;
  flex: 1 1 100%;
  flex-direction: column; font-size: var(--bj-support);
  gap: .4rem; margin: 0;
}
body.buyer-journey checkout-bar .cb-problem {
  color: var(--danger-ink); flex: 1 1 100%; font-size: var(--bj-support); font-weight: 600;
  text-underline-offset: .2em;
}
checkout-bar .cb-terms {
  color: var(--muted); flex: 1 1 100%; font-size: var(--bj-support); margin: 0;
}
checkout-bar .cb-bar {
  background: color-mix(in srgb, var(--fg) 12%, transparent);
  border-radius: 999px; display: block; height: 5px; overflow: hidden;
}
checkout-bar .cb-bar > i {
  background: var(--ok-ink, var(--ok)); border-radius: 999px; display: block; height: 100%;
  transition: width .3s ease; width: 0;
}
@media (prefers-reduced-motion: reduce) {
  checkout-bar .cb-bar > i { transition: none; }
}
checkout-bar { flex-wrap: wrap; }
checkout-bar button { inline-size: 100%; margin: 0; }
body.buyer-journey checkout-bar button[type=submit]:not(:where([data-checkout-button])) {
  background: var(--accent); border: 1px solid transparent; border-radius: var(--button-radius, var(--bj-radius-sm)); color: var(--accent-fg);
  font-size: .95rem; font-weight: 600; justify-content: center; padding: .7rem 1.2rem; }
body.buyer-journey checkout-bar button[type=submit].busy { color: transparent; }
body.buyer-journey checkout-bar button[type=submit].busy::after {
  border-color: var(--accent-fg); border-top-color: transparent; }
fieldset.co-attendee[data-folded] { cursor: pointer; padding-bottom: .35rem; }
fieldset.co-attendee[data-folded] > :not(legend):not(.co-sum) { display: none !important; }
fieldset.co-attendee[data-folded]:hover { border-color: color-mix(in srgb, var(--p-accent) 35%, var(--hairline)); }
.co-sum { display: none; }
fieldset.co-attendee[data-folded] .co-sum {
  align-items: center;
  display: flex;
  gap: .5rem;
  margin: 0 0 .6rem;
  overflow-wrap: anywhere;
}

checkout-bar[hidden] { display: none; }

checkout-bar .cb-progress[hidden] { display: none; }

:where(body.buyer-journey) [data-checkout-button]:not(:where(.embed-cta)) {
  align-items: center;
  background: var(--accent);
  border: 1px solid var(--key-edge);
  border-radius: var(--button-radius, var(--bj-radius-sm));
  box-shadow: var(--key-lift);
  color: var(--accent-fg);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: .8125rem;
  font-weight: 550;
  gap: .35rem;
  line-height: 1.4;
  margin-top: 1.25rem;
  padding: .38rem .8rem;
  text-decoration: none;
  transition: background .12s, border-color .12s, box-shadow .12s, transform .05s;
}
:where(body.buyer-journey form:not([data-checkout]), body.buyer-journey checkout-bar) [data-checkout-button] {
  border: 1px solid transparent;
  font-size: .95rem;
  font-weight: 600;
  justify-content: center;
  padding: .7rem 1.2rem;
}
:where(body.buyer-journey form:not([data-checkout]) > *)[data-checkout-button] { width: 100%; }
:where(body.buyer-journey checkout-bar) [data-checkout-button] {
  inline-size: 100%;
  margin: 0;
}
:where(body.buyer-journey) [data-checkout-button]:not(:where(.embed-cta)):hover { box-shadow: var(--key-lift-hover); }
:where(body.buyer-journey) [data-checkout-button]:not(:where(.embed-cta)):active { transform: translateY(.5px); }
:where(body.buyer-journey) [data-checkout-button]:not(:where(.embed-cta)):disabled {
  cursor: default;
  opacity: .5;
}
:where(body.buyer-journey) [data-checkout-button]:where(.primary):hover { filter: brightness(1.07); }
:where(body.buyer-classic) [data-checkout-button]:disabled {
  background: #e8e8ec;
  color: #6b6b75;
  opacity: 1;
}
:where(body.buyer-journey) [data-checkout-button]:where([data-pay-alternative]) {
  background: transparent;
  border-color: var(--custom-outlined-button-color, var(--control-line));
  box-shadow: none;
  color: var(--custom-outlined-button-color, var(--fg));
  gap: .5rem;
}
:where(body.buyer-journey) [data-checkout-button]:where([data-pay-alternative]):hover {
  border-color: var(--p-accent);
  box-shadow: none;
  color: var(--p-accent);
}
:where(body.buyer-journey [data-pay-alternative]) .paypal-mark {
  fill: light-dark(#003087, currentColor);
  flex: none;
  height: 1.15rem;
  width: auto;
}
body.buyer-journey [data-pay-alternative].busy { -webkit-text-fill-color: transparent; }
body.buyer-journey [data-pay-alternative].busy::after {
  border-color: currentColor;
  border-top-color: transparent;
}
body.buyer-journey [data-pay-alternative].busy .paypal-mark { visibility: hidden; }

assign-sheet {
  display: block;
  margin-top: var(--bj-section, 1.75rem);
}
assign-sheet:not([data-show-all]) .as-done { display: none; }
.as-empty {
  border-top: 1px solid var(--hairline);
  color: var(--muted);
  display: none;
  font-size: var(--bj-support, .875rem);
  margin: 0;
  padding: .75rem 0;
}
assign-sheet:not([data-show-all]) .as-group:not(:has([data-as-line])) .as-empty { display: block; }
assign-sheet:not([data-show-all]) .as-group:not(:has([data-as-line])) .as-lines { display: none; }

.as-tools {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  justify-content: space-between;
}
.as-views {
  background: color-mix(in srgb, var(--fg) 6%, transparent);
  border-radius: 999px;
  display: inline-flex;
  gap: 2px;
  padding: 3px;
}
body.buyer-journey .as-views a {
  border-radius: 999px;
  color: var(--muted);
  font-size: var(--bj-support, .875rem);
  font-weight: 550;
  padding: .35rem .85rem;
  text-decoration: none;
}
body.buyer-journey .as-views a[aria-current="true"] {
  background: var(--journey-card);
  box-shadow: var(--shadow-pill);
  color: var(--fg);
}
body.buyer-journey .as-views a:focus-visible { outline: 2px solid var(--p-accent, var(--fg)); outline-offset: 2px; }
body.buyer-journey button.as-showqs {
  background: none;
  border: 0;
  box-shadow: none;
  color: var(--journey-link, var(--fg));
  font-size: var(--bj-support, .875rem);
  margin: 0;
  min-height: 0;
  padding: .35rem 0;
  text-decoration: underline;
  text-underline-offset: 2px;
  width: auto;
}
.as-tip {
  align-items: center;
  background: color-mix(in srgb, var(--fg) 4%, transparent);
  border-radius: var(--journey-radius, 6px);
  color: var(--muted);
  display: flex;
  font-size: var(--bj-support, .875rem);
  gap: .65rem;
  margin: .9rem 0 0;
  padding: .6rem .8rem;
}
.as-tip svg { color: var(--fg); flex: none; }
body.buyer-journey .as-tip a { color: var(--journey-link, var(--fg)); }

.as-group { margin-top: 1.75rem; }
.as-head {
  align-items: baseline;
  background: var(--journey-card);
  border-bottom: 1px solid color-mix(in srgb, var(--fg) 35%, transparent);
  display: flex;
  gap: .5rem 1rem;
  justify-content: space-between;
  padding-block: .4rem .45rem;
  position: sticky;
  top: var(--sandbox-strip-height, 0px);
  z-index: 1;
}
body.buyer-journey .as-head h3.tix-type { margin: 0; }
.as-lines > .as-line:first-child { border-top: 0; }
.as-meter {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-size: var(--bj-support, .875rem);
  gap: .55rem;
  white-space: nowrap;
}
.as-meter i {
  background: color-mix(in srgb, var(--fg) 12%, transparent);
  border-radius: 99px;
  display: block;
  height: 5px;
  overflow: hidden;
  width: 64px;
}
.as-meter b {
  background: color-mix(in srgb, var(--ok, #1a7f37) 88%, var(--fg));
  border-radius: 99px;
  display: block;
  height: 100%;
  width: var(--as-done, 0%);
}

.as-lines { border-bottom: 1px solid var(--hairline); padding-top: .4rem; }
.as-line {
  align-items: center;
  border-top: 1px solid var(--hairline);
  column-gap: .6rem;
  display: grid;
  grid-template-columns: 6.25rem minmax(0, 1fr) minmax(0, 1.25fr);
  min-height: 3.1rem;
  padding: .4rem 0;
  row-gap: .3rem;
  scroll-margin-top: calc(var(--sandbox-strip-height, 0px) + 3.5rem);
}
assign-sheet[data-asking] .as-line, assign-sheet:has([data-as-asks]) .as-line { grid-template-columns: 6.25rem minmax(0, 1fr) minmax(0, 1.25fr) 9rem; }
assign-sheet:not([data-asking]):not(:has([data-as-asks])) .as-qs { display: none; }
assign-sheet:not([data-asking]):has([data-as-asks]) .as-line:not(:has([data-as-asks])) .as-qs { visibility: hidden; }
.as-who { line-height: 1.25; min-width: 0; }
.as-who b { display: block; font-size: .95rem; font-weight: 400; }
.as-who small { color: var(--muted); font-size: .75rem; letter-spacing: .05em; }
body.buyer-journey .as-line input[type="text"], body.buyer-journey .as-line input[type="email"] {
  block-size: 2.35rem;
  margin: 0;
  min-width: 0;
  padding-block: 0;
  width: 100%;
}
body.buyer-journey .as-line input[aria-invalid="true"] { border-color: var(--danger); }
.as-line > .field-error { grid-column: 2 / -1; margin: 0; }
.as-fact {
  font-size: .95rem;
  min-width: 0;
  overflow: hidden;
  padding-inline: .1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.as-done .as-name { color: var(--fg); font-weight: 550; }
.as-done { color: var(--muted); grid-template-columns: 6.25rem minmax(0, 1fr) minmax(0, 1.25fr) auto; }
body.buyer-journey .as-change { font-size: var(--bj-support, .875rem); }
.as-flash input[type="text"], .as-flash input[type="email"] { animation: as-flash 1.2s ease-out; }
@keyframes as-flash {
  0%, 30% { background: color-mix(in srgb, #facc15 26%, var(--journey-card)); }
  100% { background: var(--journey-card); }
}

body.buyer-journey button.as-qs {
  align-items: center;
  background: none;
  border: 0;
  box-shadow: none;
  color: var(--muted);
  display: inline-flex;
  font-size: .82rem;
  font-weight: 500;
  gap: .4rem;
  justify-self: start;
  margin: 0;
  min-height: 0;
  padding: .3rem 0;
  white-space: nowrap;
  width: auto;
}
body.buyer-journey button.as-qs:hover { color: var(--fg); text-decoration: underline; }
body.buyer-journey button.as-qs[aria-expanded="true"] { color: var(--fg); font-weight: 600; }
.as-qs i {
  background: color-mix(in srgb, #d97706 88%, var(--fg));
  block-size: 7px;
  border-radius: 50%;
  inline-size: 7px;
}
.as-qs[data-done] i { background: color-mix(in srgb, var(--ok, #1a7f37) 88%, var(--fg)); }

.as-qpanel { grid-column: 1 / -1; }
.as-qpanel > summary {
  color: var(--journey-link, var(--fg));
  cursor: pointer;
  font-size: var(--bj-support, .875rem);
  padding-left: 6.85rem;
}
assign-sheet[data-js] .as-qpanel > summary { display: none; }
assign-sheet[data-js]:not([data-asking]) .as-qpanel:not([data-as-asks]) { display: none; }
.as-qpanel[open] > .as-qgrid {
  background: color-mix(in srgb, var(--fg) 4%, transparent);
  border-radius: var(--journey-radius, 6px);
  margin: .3rem 0 .5rem;
  padding: .2rem 1rem 1rem;
}
.as-qfoot {
  display: flex;
  gap: .6rem;
  justify-content: flex-end;
  margin: -.2rem 0 .6rem;
}
body.buyer-journey .as-qfoot button { margin: 0; width: auto; }
body.buyer-journey .as-qfoot button.as-close {
  background: none;
  border: 0;
  box-shadow: none;
  color: var(--journey-link, var(--fg));
  min-height: 0;
  padding: .4rem .2rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.as-qfoot { align-items: center; }

.as-say { flex: 1 1 16rem; line-height: 1.35; margin: 0; min-width: 0; }
.as-say b { display: block; font-weight: 600; }
.as-say span { color: var(--muted); font-size: var(--bj-support, .875rem); }

body.buyer-journey > main:has(.as-table-wrap) { max-width: 72rem; }
body.buyer-journey > main:has(assign-sheet, #assign-file) { max-width: 1020px; }
.as-upload-warn { color: var(--danger-ink); margin: .75rem 0 0; }
.as-table-wrap { margin-top: 1rem; overflow-x: auto; }
.as-table { border-collapse: collapse; font-size: var(--bj-support, .875rem); width: 100%; }
.as-table th { color: var(--muted); font-weight: 500; text-align: left; }
.as-table th, .as-table td { border-bottom: 1px solid var(--hairline); padding: .55rem .75rem .55rem 0; vertical-align: top; }
.as-table small { color: var(--muted); display: block; }
.as-table td:not(.as-note) { overflow-wrap: break-word; }
.as-table .as-note { color: var(--muted); min-width: 9rem; }
.as-table tr[data-bad] .as-note { color: var(--danger-ink); }

@media (max-width: 620px) {
  .as-line, assign-sheet[data-asking] .as-line, .as-line:has([data-as-asks]), .as-done { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .as-who { grid-column: 1 / -1; }
  .as-line > .field-error { grid-column: 1 / -1; }
  .as-qpanel > summary { padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .as-flash input[type="text"], .as-flash input[type="email"] { animation: none; }
}
body.buyer-journey .sheet-back { margin: 0 0 1rem; }
body.buyer-journey .sheet-back > a.back-link { margin-top: 0; }

change-sheet { display: block; margin-top: var(--bj-section, 1.75rem); }

body.buyer-journey label.cs-line {
  align-items: center;
  border-top: 1px solid var(--hairline);
  column-gap: .75rem;
  cursor: pointer;
  display: grid;
  font-weight: inherit;
  grid-template-columns: 1.4rem minmax(0, 1fr) auto;
  margin: 0;
  min-height: 3.1rem;
  padding: .4rem .75rem;
}
body.buyer-journey .as-lines > label.cs-line:first-child { border-top: 0; }
change-sheet > .as-group:last-child > .as-lines { border-bottom: 0; }
@media (max-width: 620px) {
  body.buyer-journey label.cs-line .as-who { grid-column: auto; }
}
body.buyer-journey label.cs-line:hover { background: color-mix(in srgb, var(--fg) 3%, transparent); }
body.buyer-journey label.cs-line:has(.cs-box:checked) { background: color-mix(in srgb, var(--fg) 5%, transparent); }
body.buyer-journey .cs-line .as-who b.cs-gap { color: var(--muted); font-weight: 400; }

body.buyer-journey input.cs-box {
  appearance: none;
  background: var(--journey-card);
  block-size: 17px;
  border: 1.5px solid var(--control-line);
  border-radius: 4px;
  cursor: pointer;
  inline-size: 17px;
  margin: 0;
  position: relative;
}
body.buyer-journey input.cs-box:checked { background: var(--fg); border-color: var(--fg); }
body.buyer-journey input.cs-box:checked::after {
  border: solid var(--journey-card);
  border-width: 0 2px 2px 0;
  content: "";
  height: 9px;
  left: 50%;
  position: absolute;
  top: 45%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 5px;
}
body.buyer-journey input.cs-box:indeterminate { background: var(--fg); border-color: var(--fg); }
body.buyer-journey input.cs-box:indeterminate::after {
  background: var(--journey-card);
  content: "";
  height: 2px;
  left: 3px;
  position: absolute;
  right: 3px;
  top: 6.5px;
}
body.buyer-journey input.cs-box:focus-visible { outline: 2px solid var(--p-accent, var(--fg)); outline-offset: 2px; }
body.buyer-journey label.cs-all {
  align-items: center;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  font-size: var(--bj-support, .875rem);
  font-weight: inherit;
  gap: .5rem;
  margin: 0;
}

.cs-move { align-items: center; display: inline-flex; font-size: .875rem; gap: .5rem; white-space: nowrap; }
.cs-move .to { font-weight: 600; }
.cs-move .amt {
  border-radius: 999px;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  padding: .15rem .55rem;
}
.cs-move .amt.up { background: color-mix(in srgb, var(--fg) 8%, transparent); }
.cs-move .amt.down { background: color-mix(in srgb, var(--ok, #1a7f37) 14%, transparent); color: var(--ok-ink, #146c43); }
body.buyer-journey button.cs-undo {
  background: none;
  border: 0;
  box-shadow: none;
  color: var(--journey-link, var(--fg));
  font-size: .82rem;
  margin: 0 0 0 .25rem;
  min-height: 0;
  padding: .2rem;
  text-decoration: underline;
  text-underline-offset: 2px;
  width: auto;
}
body.buyer-journey label.cs-line[data-set] { background: color-mix(in srgb, var(--fg) 3%, transparent); }

body.buyer-journey checkout-bar .cs-problem { flex: 1 1 100%; font-size: var(--bj-support, .875rem); margin: 0; }

.cs-ctl { align-items: center; display: flex; flex-wrap: wrap; gap: .6rem; width: 100%; }
body.buyer-journey .cs-ctl select { flex: 1 1 12rem; margin: 0; min-width: 0; width: auto; }
body.buyer-journey .cs-ctl button { flex: none; margin: 0; width: auto; }

.cs-lines { border-top: 1px solid var(--hairline); margin-top: 1.25rem; }
.cs-lines > div {
  align-items: baseline;
  border-bottom: 1px solid var(--hairline);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: .65rem 0;
}
.cs-lines > div > span:last-child { font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-lines small { color: var(--muted); display: block; }
.cs-lines .cs-total { font-weight: 650; }

body.buyer-journey footer { justify-content: center; text-align: center; }

body.buyer-journey .row.claim-total { font-weight: 600; }
body.buyer-journey .claim-who > .detail-list {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
}
body.buyer-journey .claim-who > .detail-list :where(dt, dd) {
  border-top: 1px solid var(--hairline);
  padding: .65rem 0;
}
body.buyer-journey .claim-who > .detail-list :where(dt, dd):first-of-type { border-top: 0; }

.doc-lines .row { border-bottom: 1px solid var(--hairline); }
.doc-lines .row.sub { font-size: .9em; opacity: .7; padding-left: 1rem; }
.doc-lines .row:has(+ .row.sub) { border-bottom: 0; }
rate-note { font-size: .85em; font-weight: 400; opacity: .7; }
.doc-refunded { opacity: .55; text-decoration: line-through; }
.doc-tax { text-align: right; }
.doc-total { font-size: 1.15rem; text-align: right; }
body.buyer-journey .doc-total { color: var(--bj-display-ink); font-size: var(--bj-display); font-weight: var(--bj-display-weight); }
@media print { body.buyer-journey { padding: 0; } body.buyer-journey > main { box-shadow: none; } order-actions, ticket-actions, head-action, rail-actions, order-documents, venue-links, .bj-actions, .lang-switch, footer { display: none; } }

.row[data-add] { flex-wrap: wrap; gap: .5rem; }
.row[data-add] input[inputmode="decimal"] { width: 4.5rem; }
.row[data-add] .qty input[type="number"] { width: 3rem; }
form[data-live-summary] .summary { border-top: 1px solid var(--divider-color, #e1e1e1); margin-top: .5rem; }
form[data-live-summary] .summary summary { border-bottom: 0; gap: .6rem; padding: 1rem 0; }
form[data-live-summary] .summary summary::before { content: none; }
form[data-live-summary] .summary summary .grow { flex: 1; }
form[data-live-summary] .summary .promo-caret { flex: none; transition: transform .15s ease; }
form[data-live-summary] .summary[open] .promo-caret { transform: rotate(90deg); }
form[data-live-summary] .summary summary:has([data-total-tax]:not([hidden])) { align-items: baseline; }
form[data-live-summary] .summary total-figure { align-items: flex-end; display: flex; flex-direction: column; margin-left: auto; text-align: end; }
form[data-live-summary] .summary [data-total-tax]:not([hidden]) { display: flex; flex-direction: column; font-size: .8rem; font-weight: 400; opacity: .7; }
form[data-live-summary] .summary [data-breakdown] { padding: 0 0 .9rem 1.1rem; }
form[data-live-summary] .summary [data-breakdown] .row {
  align-items: baseline;
  border: 0;
  display: flex;
  font-size: .92rem;
  gap: 1rem;
  opacity: .75;
  padding: .12rem 0;
}
form[data-live-summary] .summary [data-breakdown] .row .price { margin-left: auto; }
form[data-live-summary] .summary [data-breakdown] .row.sub { font-size: .85rem; opacity: .6; padding: 0 0 .12rem 1rem; }
button[data-default-submit][hidden] { display: none; }
.row[data-add] .ticket-when { color: var(--text-muted); font-size: .875rem; }
.row[data-add] .ticket-included {
  color: var(--text-muted);
  font-size: .875rem;

  > summary { align-items: center; cursor: pointer; display: inline-flex; list-style: none; }
  > summary::-webkit-details-marker { display: none; }
  > ul { display: grid; gap: .6rem; line-height: 1.45; list-style: none; margin: .5rem 0 0; padding: 0; }
  & li { display: grid; }
  > p { margin: .6rem 0 0; }
}
.row[data-add] .ticket-included-name { color: var(--text); font-weight: 500; }
.row[data-add] .ticket-included-where { display: inline-block; }

.email-line { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; gap: .35rem; margin: .3rem 0 0; }
.email-fix { display: inline; }
.email-fix > summary { align-items: center; border: 1px solid var(--hairline); border-radius: 99px;
  color: var(--muted); cursor: pointer; display: inline-flex; height: 1.6rem;
  justify-content: center; list-style: none; transition: border-color .15s, color .15s;
  width: 1.6rem; }
.email-fix form { flex-basis: 100%; }
.email-fix > summary:hover, .email-fix[open] > summary { border-color: var(--p-accent); color: var(--p-accent); }
.email-fix > summary svg { height: 12px; width: 12px; }
.email-fix > summary::-webkit-details-marker { display: none; }
.email-fix form { align-items: stretch; display: flex; flex-wrap: wrap; gap: .5rem; margin: .6rem 0 .2rem; }
body.buyer-journey .email-fix form input[type=email] { flex: 1 1 0; min-width: 9rem; width: 0; }
body.buyer-journey .email-fix form button[type=submit] { flex: none; white-space: nowrap; width: auto; }
body.buyer-journey .email-fix[open] { flex: 1 0 100%; }
.email-fix form label { flex-basis: 100%; margin: 0 0 -.35rem; }
.email-fix form .field-error { flex-basis: 100%; margin: -.1rem 0 0; }
.email-fix form :where(input, button) { block-size: 2.6rem; box-sizing: border-box; margin: 0; padding-block: 0; }

body.buyer-journey a.head-edit { align-items: center; border: 1px solid var(--hairline);
  border-radius: 99px; color: var(--muted); display: inline-flex; height: 1.6rem;
  justify-content: center; margin-left: .35rem;
  transition: border-color .15s, color .15s; vertical-align: middle; width: 1.6rem; }
body.buyer-journey a.head-edit:hover { border-color: var(--p-accent); color: var(--p-accent); }
.head-edit svg { height: 12px; width: 12px; }


body.buyer-journey > main:has(order-rail) {
  container-type: inline-size;
  max-width: 1020px;
}
checkout-body { display: block; }
checkout-cols { display: flex; flex-direction: column; }
checkout-side { display: contents; }
order-rail { order: 1; }
checkout-body { order: 2; }
checkout-bar { order: 3; }

checkout-head { display: block; }
checkout-head + order-rail { margin-block-start: var(--bj-section); }

main > .rows + checkout-cols { margin-block-start: var(--bj-section); }

h1 + checkout-cols[data-pay-cols] { margin-block-start: 2.8rem; }

order-rail { display: block; margin-block-end: var(--bj-section); }
body.buyer-journey order-rail > h2 { font-size: var(--bj-support); margin: 0 0 .6rem; }
body.buyer-journey order-rail:not([data-order-rail]) > h2 { font-size: var(--bj-h2); }
order-rail .doc-lines { margin: 0; }
order-rail .doc-lines .row { font-size: var(--bj-support); padding-block: .5rem; }
order-rail .rail-total {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0;
  padding-block-start: .7rem;
}
order-rail .rail-total > .grow { color: var(--bj-display-ink); font-weight: var(--bj-display-weight); }
order-rail .rail-total > .price {
  color: var(--bj-display-ink);
  font-size: var(--bj-display);
  font-weight: var(--bj-display-weight);
  font-variant-numeric: tabular-nums;
}

order-rail .rail-tax-note {
  font-size: var(--bj-support);
  margin: .25rem 0 0;
  text-align: end;
}

order-rail[data-converted] .doc-lines .row:not(.sub) .price,
order-rail[data-converted] .rail-tax { display: none; }

@container (min-width: 900px) {
  checkout-cols {
    align-items: start;
    display: grid;
    gap: 1.75rem;
    grid-template-columns: minmax(0, 1fr) 22rem;
  }
  checkout-body { grid-area: 1 / 1; min-inline-size: 0; }
  checkout-cols:has(> checkout-head) { grid-template-rows: auto 1fr; row-gap: var(--bj-section); }
  checkout-head { grid-area: 1 / 1; min-inline-size: 0; }
  checkout-head ~ checkout-body { grid-area: 2 / 1; }
  checkout-head + order-rail { grid-area: 1 / 2 / span 2; margin-block-start: 0; }
  checkout-head + order-rail { overflow: visible; }
  order-rail {
    grid-area: 1 / 2;
    margin-block-end: 0;
  }
  order-rail {
    border: 1px solid var(--hairline);
    border-radius: var(--bj-radius);
    padding: 1.25rem;
  }
  order-rail .doc-lines .row:last-child { border-bottom: 0; }
  order-rail .rail-total { border-top: 1px solid var(--hairline); margin-block-start: .2rem; padding-block-start: .8rem; }
  checkout-side {
    anchor-name: --checkout-side;
    display: flex;
    flex-direction: column;
    grid-area: 1 / 2;
    margin-block-end: var(--checkout-bar-room);
    max-block-size: calc(100dvh - 2.5rem - var(--sandbox-strip-height, 0px) - var(--checkout-bar-room));
    position: sticky;
    top: calc(1.25rem + var(--sandbox-strip-height, 0px));
  }
  order-rail {
    min-block-size: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  order-rail { position: static; }
  checkout-bar {
    background: none;
    border-top: 0;
    margin: 1rem 0 0;
    padding: 0;
  }

  @supports (anchor-name: --a) {
    checkout-cols { position: relative; }
    checkout-cols { --checkout-bar-room: 4rem; }
    checkout-cols:has(> checkout-bar[hidden]) { --checkout-bar-room: 0px; }
    checkout-cols:has(> checkout-bar > .cb-problem) { --checkout-bar-room: 6rem; }
    checkout-cols > checkout-bar {
      bottom: auto;
      left: anchor(left);
      position: absolute;
      position-anchor: --checkout-side;
      right: anchor(right);
      top: anchor(bottom);
    }
    checkout-cols[data-side-measured] > checkout-bar {
      align-self: start;
      grid-area: 1 / 2;
      left: auto;
      margin-block-start: calc(var(--checkout-side-h) + 1rem);
      position: sticky;
      right: auto;
      top: calc(var(--checkout-side-top) + var(--checkout-side-h) + 1rem);
    }
  }
  @supports not (anchor-name: --a) {
    checkout-cols { --checkout-bar-room: 0px; }
    checkout-cols > checkout-bar {
      background: var(--journey-card);
      border-top: 1px solid var(--hairline);
      bottom: 0;
      grid-area: 2 / 1;
      margin: 0;
      padding: .9rem 0;
      position: sticky;
    }
  }
}

order-rail .row[hidden] { display: none; }

rail-actions {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin: .5rem 0 0;
}
rail-actions > venue-links { display: block; }
body.buyer-journey rail-actions :is(a.pill-link, .cal-menu > summary.pill-link, .dir-menu > summary) {
  align-items: center;
  background: transparent;
  border: 1px solid var(--custom-outlined-button-color, var(--control-line));
  border-radius: var(--button-radius, var(--bj-radius-sm));
  box-sizing: border-box;
  color: var(--custom-outlined-button-color, var(--fg));
  display: grid;
  font-size: .95rem;
  font-weight: 600;
  gap: 0;
  grid-auto-flow: column;
  justify-content: center;
  padding: .62rem 1.15rem;
  text-decoration: none;
}
body.buyer-journey rail-actions :is(a.pill-link, .cal-menu > summary.pill-link, .dir-menu > summary):hover {
  border-color: var(--p-accent);
  color: var(--p-accent);
  text-decoration: none;
}
rail-actions .dir-menu > summary > svg { margin-right: .35rem; }
rail-actions :is(.cal-menu, .dir-menu) > nav { right: 0; }

:is(order-part, ticket-part) { display: block; margin-block-start: var(--bj-section); }
:is(order-part, ticket-part):first-child { margin-block-start: 0; }

body.buyer-journey .sim-door-note { margin-block: 1.25rem 0; }
body.buyer-journey .sim-door-note + p { margin-block-start: 0; }
body.buyer-journey .sim-door-note + p > a.button { margin-top: .35rem; }


body.buyer-journey button[form="sim-decline"] { margin-top: .6rem; }
body.buyer-journey checkout-bar:has(> button[form="sim-decline"]) { row-gap: .6rem; }

body.buyer-journey form:not([data-checkout]) button[type=submit].sim-paid { background: var(--ok); border: 1px solid transparent; color: #fff; }
body.buyer-journey form:not([data-checkout]) button[type=submit].sim-paid:hover { background: color-mix(in srgb, var(--ok), #000 14%); }
body.buyer-journey[data-scheme="dark"] form:not([data-checkout]) button[type=submit].sim-paid { background: color-mix(in srgb, var(--ok), #000 36%); }
body.buyer-journey[data-scheme="dark"] form:not([data-checkout]) button[type=submit].sim-paid:hover { background: color-mix(in srgb, var(--ok), #000 44%); }
body.buyer-journey form:not([data-checkout]) button[type=submit].sim-declined { background: transparent; border: 1px solid var(--danger-ink); color: var(--danger-ink); }
body.buyer-journey form:not([data-checkout]) button[type=submit].sim-declined:hover { background: color-mix(in srgb, var(--danger-ink) 8%, transparent); }
body.buyer-journey form:not([data-checkout]) button[type=submit].busy:is(.sim-paid, .sim-declined) { color: transparent; }
body.buyer-journey form:not([data-checkout]) button[type=submit].sim-paid.busy::after { border-color: #fff; border-top-color: transparent; }
body.buyer-journey form:not([data-checkout]) button[type=submit].sim-declined.busy::after { border-color: var(--danger-ink); border-top-color: transparent; }

checkout-side > form { order: 3; }
checkout-side > .sim-back { order: 4; }
@container sheet (max-width: 899.98px) {
  body[data-embed-sheet] checkout-side > .sim-back { order: 2; }
  body[data-embed-sheet] checkout-side > .sim-back { margin-block-start: 0; }
  body[data-embed-sheet] checkout-side > .sim-back > a.back-link { margin-top: 0; }
}

drawn-fields[wide-only] { display: none; }
@container (min-width: 900px) {
  drawn-fields[wide-only] { display: block; }
}


drawn-fields { container: drawn-fields / inline-size; display: block; }

drawn-method {
  border: 1px solid var(--control-line, var(--line));
  border-radius: 4px;
  display: block;
  padding: .75rem;
}
drawn-method-name {
  align-items: center;
  display: flex;
  font-weight: 600;
  gap: .6rem;
  margin-block-end: .75rem;
}

drawn-grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: 1fr 1fr;
}
drawn-field { display: block; min-inline-size: 0; }
drawn-field[number],
drawn-field[country] { grid-column: 1 / -1; }
@container drawn-fields (min-width: 32rem) {
  drawn-grid { grid-template-columns: 2fr 1fr 1fr; }
  drawn-field[number] { grid-column: auto; }
}

drawn-label {
  display: block;
  font-size: .93em;
  margin-block-end: .25rem;
}
drawn-input {
  align-items: center;
  border: 1px solid var(--control-line, var(--line));
  border-radius: 4px;
  color: var(--muted);
  display: flex;
  gap: .5rem;
  justify-content: space-between;
  min-block-size: 2.75rem;
  overflow: hidden;
  padding: .6rem;
  white-space: nowrap;
}
drawn-input[chosen] { color: inherit; }
drawn-input svg { color: var(--muted); flex: none; }

body.buyer-journey test-cards { background: color-mix(in srgb, var(--warn) 13%, var(--bg));
  border: 1px solid color-mix(in srgb, var(--warn) 40%, var(--line)); border-radius: var(--r-lg);
  display: block; line-height: 1.5; margin: 1.25rem 0 0; padding: .7rem .85rem; }
body.buyer-journey test-cards p { margin: 0 0 .5rem; }
body.buyer-journey test-cards .tc-badge { line-height: 1; margin-bottom: .55rem; }
body.buyer-journey test-cards .tc-note { font-size: .875rem; }
body.buyer-journey test-cards ul { list-style: none; margin: 0; padding: 0; }
body.buyer-journey test-cards li { margin-block: .2rem; }
body.buyer-journey test-cards code { font-family: var(--font-mono); font-size: .95rem; }

body.buyer-journey .test-card { align-items: center; display: inline-flex; gap: .3rem; vertical-align: middle; }
body.buyer-journey .test-card .copy-btn { background: none; border: 0; border-radius: var(--r-sm, 4px); color: var(--warn-ink); cursor: pointer;
  display: inline-flex; line-height: 0; margin: 0; padding: .15rem; transition: background-color .15s; }
body.buyer-journey .test-card .copy-btn svg { height: 1rem; width: 1rem; }
body.buyer-journey .test-card .copy-btn:hover { background: color-mix(in srgb, var(--warn) 28%, transparent); color: var(--warn-ink); }
body.buyer-journey .test-card .copy-btn:focus-visible { outline: 2px solid var(--warn-ink); outline-offset: 1px; }
body.buyer-journey .test-card .copy-btn.done { color: var(--ok-ink); }

.changes-closed { background: color-mix(in srgb, var(--journey-card, var(--bg)) 96%, var(--fg));
  border: 1px solid var(--hairline); border-radius: var(--bj-radius); font-size: .875rem;
  margin: .9rem 0 0; padding: .7rem .9rem; }
ticket-actions + .changes-closed { text-align: center; }

.email-choice { border: 0; margin: 1.4rem 0 0; min-inline-size: 0; padding: 0; }
.email-choice > legend { font-weight: 600; padding: 0; }
.email-choice-typed { color: var(--muted); margin: .2rem 0 .6rem; }
.email-choice > input[type=email] { margin: .35rem 0 0 1.55rem; max-width: 22rem; width: calc(100% - 1.55rem); }
.email-choice > input[type=email][aria-invalid="true"] { margin-left: 0; width: 100%; }

.change-row :where(select, button) { block-size: 2.6rem; box-sizing: border-box; margin: 0; padding-block: 0; }
.change-row { align-items: center; border-bottom: 1px solid var(--hairline); display: grid;
  gap: .6rem .8rem;
  grid-template-columns: minmax(8rem, 1fr) minmax(0, 1.4fr) 7.5rem; margin: 0; padding: .7rem 0; }
.change-row .cr-what { font-weight: 550; overflow-wrap: anywhere; }
.change-row .cr-what small { color: var(--muted); display: block; font-weight: 400; }
.change-row select { max-width: none; width: 100%; }
.change-row button[type=submit] { min-width: 0; width: 100%; }
@media (max-width: 480px) { .change-row { grid-template-columns: 1fr; } }

body.buyer-journey h2.quiet-heading {
  color: var(--muted);
  font-size: var(--bj-support);
  font-weight: 600;
  margin-block: var(--bj-section) .35rem;
}
change-list { display: block; margin: .3rem 0 0; }
change-list > * { border-bottom: 1px solid var(--hairline); }
change-list > :first-child { border-top: 1px solid var(--hairline); }
change-list > a,
change-list > details > summary {
  align-items: center;
  color: inherit;
  cursor: pointer;
  display: flex;
  gap: .85rem;
  list-style: none;
  padding: .62rem .1rem;
  text-decoration: none;
}
change-list > details > summary::-webkit-details-marker { display: none; }
change-list > a:hover .cl-t .cl-l,
change-list > details > summary:hover .cl-t .cl-l { color: var(--p-accent); }
change-list > a:focus-visible,
change-list > details > summary:focus-visible { outline: 2px solid var(--p-accent); outline-offset: -2px; }
body.buyer-journey change-list > a { color: var(--fg); }
change-list .cl-t { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
change-list .cl-t .cl-l { font-size: var(--bj-support); font-weight: 500; overflow-wrap: anywhere; }
change-list .cl-t small { color: var(--muted); font-size: var(--bj-support); }
change-list .cl-arrow {
  block-size: 7px;
  border-bottom: 1.5px solid var(--muted);
  border-right: 1.5px solid var(--muted);
  flex: none;
  inline-size: 7px;
  margin-inline-start: auto;
  transform: rotate(-45deg);
  transition: transform .2s;
}
change-list > details > summary .cl-arrow { transform: rotate(45deg); }
change-list > details[open] > summary .cl-arrow { transform: rotate(225deg); }
change-list > a:hover .cl-arrow,
change-list > details > summary:hover .cl-arrow { border-color: var(--p-accent); }
change-list .cl-body { border-top: 1px solid var(--hairline); font-size: var(--bj-body); padding: .35rem .1rem 1rem; }
change-list .cl-body .cl-pick { align-items: baseline; border-top: 1px solid var(--hairline); display: flex;
  gap: .6rem; justify-content: space-between; padding: .6rem 0; }
change-list .cl-body .cl-pick:first-child { border-top: 0; }
change-list .cl-body .cl-pick > span { font-size: var(--bj-support); }
change-list .cl-body .cl-pick > a { font-size: var(--bj-support); white-space: nowrap; }
change-list .cl-body > .muted:first-child { margin-top: .7rem; }
change-list > a[data-undo] .cl-t .cl-l { color: var(--danger-ink); }
change-list > a[data-undo]:hover .cl-t .cl-l { color: var(--danger-ink); }
change-list > a[data-undo]:hover .cl-arrow { border-color: var(--danger-ink); }
change-list > a[data-undo]:focus-visible { outline-color: var(--danger-ink); }

.order-flash { color: var(--fg); font-weight: 550; margin: .6rem 0; }
.order-flash::before { color: var(--p-accent); content: "● "; font-size: .7em; vertical-align: .15em; }

.order-state {
  align-items: center;
  color: color-mix(in srgb, var(--ok-ink, #146c43) 88%, var(--fg));
  display: flex;
  font-size: var(--bj-support);
  font-weight: 600;
  gap: .4rem;
  margin: 0 0 .55rem;
}
.order-state > .os-tick {
  align-items: center;
  background: color-mix(in srgb, currentColor 15%, transparent);
  block-size: 1.15rem;
  border-radius: 50%;
  display: inline-flex;
  flex: none;
  inline-size: 1.15rem;
  justify-content: center;
}
.order-state > .os-tick svg { block-size: .7rem; display: block; inline-size: .7rem; }

.paid-with { margin: .2rem 0 0; }

order-documents { margin: .85rem 0 0; }

pay-arrival { display: none; }

:root[data-arriving] pay-arrival,
:root[data-paying] pay-arrival {
  --pa-ok: color-mix(in srgb, var(--ok-ink, #146c43) 88%, var(--fg));
  align-content: center;
  display: grid;
  gap: .25rem;
  justify-items: center;
  min-block-size: min(26rem, 70vh);
  padding: 1.5rem 1rem 2rem;
  text-align: center;
}

:root[data-arriving] pay-arrival ~ * { display: none; }
:root[data-paying] pay-arrival ~ * { block-size: 0; margin: 0; overflow: hidden; padding: 0; visibility: hidden; }

[data-pa-focus]:focus { outline: none; }

@media (prefers-reduced-motion: no-preference) {
  body[data-embed-sheet] pay-arrival[data-continuing] { view-transition-name: pay-arrival; }
}

pa-orb { block-size: 9.5rem; display: grid; inline-size: 12rem; margin-block-end: .5rem; place-items: center; position: relative; }
pa-orb > * { grid-area: 1 / 1; }
.pa-blob { block-size: 100%; inline-size: 100%; }
.pa-b1 { fill: var(--accent-weak, color-mix(in srgb, var(--fg) 6%, transparent)); }
.pa-breathe { animation: blob-breathe 3.5s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
.pa-e { block-size: 0; inline-size: 0; inset-block-start: 50%; inset-inline-start: 50%; position: absolute; }
.pa-e > b {
  background: color-mix(in srgb, var(--accent, var(--fg)) 35%, transparent);
  block-size: var(--pa-s);
  border-radius: 50%;
  display: block;
  inline-size: var(--pa-s);
  inset-block-start: calc(var(--pa-s) / -2);
  inset-inline-start: calc(var(--pa-s) / -2);
  position: absolute;
  transform: translateX(var(--pa-r));
}
.pa-e1 { --pa-r: 3.9rem; --pa-s: .45rem; transform: rotate(0deg); }
.pa-e2 { --pa-r: 4.6rem; --pa-s: .32rem; transform: rotate(137deg); }
.pa-e3 { --pa-r: 3.5rem; --pa-s: .26rem; transform: rotate(274deg); }

.pa-disc { block-size: 4rem; display: block; inline-size: 4rem; overflow: visible; position: relative; }
.pa-disc .pa-fill { fill: var(--pa-ok); transform: scale(0); transform-box: fill-box; transform-origin: center; }
.pa-disc .pa-check {
  fill: none;
  stroke: var(--journey-card, var(--surface, #fff));
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3.6;
}

.pa-state { font-size: 1.0625rem; font-weight: 600; margin: 0; }
.pa-amount { font-size: 2rem; font-variant-numeric: tabular-nums; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; margin: 0; }

pay-arrival[data-phase="complete"] .pa-fill { animation: pa-flood 420ms cubic-bezier(.22, 1, .36, 1) both; }
pay-arrival[data-phase="complete"] .pa-check { animation: pa-tick 340ms cubic-bezier(.65, 0, .35, 1) 260ms both; }

@keyframes pa-flood { from { transform: scale(.12); } to { transform: scale(1); } }
@keyframes pa-tick { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }

@media (prefers-reduced-motion: reduce) {
  .pa-breathe,
  pay-arrival[data-phase] .pa-fill,
  pay-arrival[data-phase] .pa-check { animation: none; }
  .pa-e { display: none; }
  pay-arrival[data-phase="complete"] .pa-fill { transform: none; }
  pay-arrival[data-phase="complete"] .pa-check { stroke-dashoffset: 0; }
}


body[data-door] > main { display: flex; flex-direction: column; height: 100dvh;
  max-width: 30rem; overflow: clip; padding: 0; }

door-bar { align-items: center; background: var(--surface); border-bottom: 1px solid var(--line); display: flex;
  flex: none; gap: .75rem; justify-content: space-between; padding: .7rem 1.1rem; }
door-bar > door-who { display: flex; flex-direction: column; min-width: 0; }
door-bar > door-who > strong { font-size: .95rem; font-weight: 600; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
door-bar > door-who > small { color: var(--muted); font-size: .8rem; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
door-bar > .badge { flex: none; }

door-body { display: flex; flex: 1; flex-direction: column; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1.4rem 1.1rem; }
door-body > :first-child { margin-top: 0; }
door-body > h1 { font-size: 1.45rem; line-height: 1.2; margin: 0 0 1rem; }
door-body > door-amount { font-size: 2.1rem; font-weight: 640; letter-spacing: -.02em;
  margin-bottom: .35rem; }

body[data-door] > main > door-body { order: 1; }
body[data-door] > main > footer { flex: none; order: 2; padding: .5rem 1.1rem; }
body[data-door] > main > door-foot { order: 3; }

door-foot { align-items: center; background: var(--surface); border-top: 1px solid var(--line); display: flex; flex: none;
  gap: .9rem; padding: .85rem 1.1rem max(.85rem, env(safe-area-inset-bottom)); }
door-total { font-size: 1.15rem; font-weight: 620; white-space: nowrap; }
door-foot > form { flex: 1; margin: 0; }
door-foot > :is(button, a.button, form) { flex: 1; }
door-total ~ :is(button, a.button) { flex: 1; }
door-foot :is(button, a.button) { font-size: 1rem; justify-content: center; margin-top: 0;
  padding: .8rem 1rem; width: 100%; }

body[data-door] input#door-pin { --field-fs: 1.35rem; font-size: var(--field-fs); letter-spacing: .35em;
  padding: .75rem .8rem; text-align: center; width: 100%; }
body[data-door] input#door-pin::placeholder { letter-spacing: normal; }

door-foot[hidden], door-quantity button[hidden] { display: none; }
door-quantity { align-items: center; display: flex; flex: none; gap: .35rem; }
door-quantity button { align-items: center; justify-content: center; line-height: 1; margin: 0; min-height: 44px; min-width: 44px; padding: .4rem; touch-action: manipulation; }
door-quantity svg { display: block; fill: none; flex: none; height: 1.25rem; stroke: currentColor; stroke-linecap: round; stroke-width: 2.5; width: 1.25rem; }
body[data-door] door-quantity input { appearance: textfield; font-size: 1rem; min-height: 44px; text-align: center; width: 3.5rem; }
door-quantity input::-webkit-inner-spin-button, door-quantity input::-webkit-outer-spin-button { appearance: none; margin: 0; }

.door-sessions[hidden] { display: none; }
.door-sessions { border: 0; margin: 0 0 1.25rem; min-width: 0; padding: 0; }
.door-sessions legend { font-weight: 600; margin-bottom: .5rem; }
.door-session { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: .65rem; margin: 0; min-height: 44px; padding: .55rem 0; }
.door-session input { flex: none; margin: 0; }
.door-session small { color: var(--muted); display: block; }
.door-session:has(input:disabled) { color: var(--muted); }


.door-session-date { color: var(--muted); font-size: .875rem; font-weight: 600; margin: 1rem 0 .25rem; }
.door-session:has(input:checked) { background: var(--surface); }

.door-waiting-title { align-items: center; display: flex; gap: .65rem; }
.door-waiting-indicator { animation: door-waiting-spin 1s linear infinite; border: 3px solid var(--line); border-radius: 50%; border-top-color: currentColor; display: inline-block; flex: none; height: 1.1em; width: 1.1em; }
@keyframes door-waiting-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .door-waiting-indicator { animation: none; }
}

.door-waiting-indicator[hidden] { display: none; }

.door-currencies { display: flex; flex-wrap: wrap; gap: .35rem; margin: .75rem 0 0; }
.door-currencies a, .door-currencies strong { border: 1px solid var(--line); border-radius: 99px;
  color: inherit; padding: .3rem .8rem; text-decoration: none; }
.door-currencies strong { background: color-mix(in srgb, currentColor 12%, transparent); font-weight: 700; }
.door-types { list-style: none; margin: 1rem 0; padding: 0; }
.door-types li { align-items: center; border-bottom: 1px solid var(--line); display: flex;
  gap: 1rem; justify-content: space-between; padding: .55rem 0; }
.door-types li:first-child { border-top: 1px solid var(--line); }
.door-types label { flex: 1; margin: 0; }
.door-types input { margin: 0; width: 5rem; }

.tix-list { list-style: none; margin: .3rem 0 0; padding: 0; }
.tix-list li { border-bottom: 1px solid var(--hairline); }
.tix-list li:first-child { border-top: 1px solid var(--hairline); }
body.buyer-journey a.tix-row { align-items: center; color: var(--fg); display: flex; gap: 1rem;
  justify-content: space-between; padding: .65rem .1rem; text-decoration: none; }
a.tix-row .tx-who { flex: 1; font-weight: 550; overflow-wrap: anywhere; }
a.tix-row .tx-who small { color: var(--muted); display: block; font-weight: 400; }
a.tix-row .tx-meta { color: var(--muted); flex: none; font-size: var(--bj-support, .875rem); }
a.tix-row::after { align-self: center; border-bottom: 1.5px solid var(--muted);
  border-right: 1.5px solid var(--muted); content: ""; flex: none; height: .38em; transform: rotate(-45deg); width: .38em; }
a.tix-row:hover .tx-who { color: var(--p-accent); }
body.buyer-journey form:not([data-checkout]) button[type=submit].tix-row { align-items: center; background: none; border: 0; border-radius: 0;
  box-shadow: none; color: var(--fg); display: flex; font-size: inherit; font-weight: inherit; gap: 1rem; justify-content: space-between;
  margin: 0; padding: .65rem .1rem; text-align: start; width: 100%; }
body.buyer-journey form:not([data-checkout]) button[type=submit].tix-row:hover { background: none; box-shadow: none; color: var(--fg); filter: none; }
button.tix-row .tx-who { flex: 1; font-weight: 550; overflow-wrap: anywhere; }
button.tix-row .tx-who small { color: var(--muted); display: block; font-size: var(--bj-support, .875rem); font-weight: 400; }
button.tix-row::after { align-self: center; border-bottom: 1.5px solid var(--muted);
  border-right: 1.5px solid var(--muted); content: ""; flex: none; height: .38em; transform: rotate(-45deg); width: .38em; }
button.tix-row:hover .tx-who { color: var(--p-accent); }
button.tix-row:focus-visible { outline: 2px solid var(--p-accent, var(--fg)); outline-offset: 2px; }
a.tix-row .tx-who .tx-gap { color: var(--muted); font-weight: 400; }
a.tix-row .tx-who .tx-facts { column-gap: 1.1rem; display: flex; flex-wrap: wrap; row-gap: .1rem; }
body.buyer-journey .tx-state { align-items: center; color: var(--muted); display: inline-flex;
  gap: .4rem; white-space: nowrap; }
body.buyer-journey .tx-state > .tx-dot { block-size: .45rem; border-radius: 50%; flex: none;
  inline-size: .45rem; }
body.buyer-journey .tx-state[data-done] > .tx-dot {
  background: color-mix(in srgb, var(--ok, #1a7f37) 88%, var(--fg));
}
body.buyer-journey .tx-state[data-todo] > .tx-dot {
  background: color-mix(in srgb, #d97706 88%, var(--fg));
}
body.buyer-journey[data-scheme="dark"] .tx-state[data-todo] > .tx-dot {
  background: color-mix(in srgb, #f2a33c 88%, var(--fg));
}
body.buyer-journey .add-names { font-size: .875rem; margin: .75rem 0 0; }
tix-covered { display: flex; flex-direction: column; padding: .65rem .1rem; }
tix-covered > small { color: var(--muted); font-size: var(--bj-support, .875rem); }
tix-covered > span { font-weight: 550; }
body.buyer-journey h3.tix-type { font-size: var(--bj-h3); margin: 1.4rem 0 .2rem; }
body.buyer-journey h2 + h3.tix-type { margin-block-start: .6rem; }
body.buyer-journey ul.tix-grouped { background: color-mix(in srgb, var(--journey-card, var(--bg)) 95.5%, var(--fg));
  border-radius: var(--journey-radius, 8px); padding: 0 .9rem; }
body.buyer-journey ul.tix-grouped > li:first-child { border-top: 0; }
body.buyer-journey ul.tix-grouped > li:last-child { border-bottom: 0; }

body.buyer-journey .order-progress {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin: var(--bj-section) 0 0;
}
body.buyer-journey .order-progress .op-bar {
  background: color-mix(in srgb, var(--fg) 12%, transparent);
  border-radius: 999px;
  display: block;
  height: 5px;
  overflow: hidden;
}
body.buyer-journey .order-progress .op-bar > i {
  background: var(--ok-ink, var(--ok));
  border-radius: 999px;
  display: block;
  height: 100%;
}
body.buyer-journey .order-progress .op-words {
  color: var(--muted);
  font-size: var(--bj-support, .875rem);
  margin: 0;
}
body.buyer-journey .order-progress + callout {
  margin-top: .9rem;
}

.past-events { margin-block-start: var(--bj-section, 2.25rem); }
.past-events > summary { color: var(--p-accent); cursor: pointer; font-size: var(--bj-support, .875rem);
  font-weight: 550; }
.past-events[open] > summary { margin-block-end: var(--bj-after-heading, .75rem); }
.past-events a.tix-row .tx-who { font-weight: 500; }


body.buyer-journey callout.big-order-callout { margin-bottom: 0; margin-top: var(--bj-section); }
body.buyer-journey callout.big-order-callout .co-alt { font-size: var(--bj-support, .875rem); margin: .2rem 0 0; }
body.buyer-journey callout.big-order-callout > .co-act > .button:not(.primary) { background: var(--journey-card, var(--bg)); }

body.buyer-journey tix-head { align-items: baseline; display: flex; flex-wrap: wrap; gap: .3rem 1rem; justify-content: space-between; margin: 0 0 .75rem; }
body.buyer-journey tix-head > h2 { margin: 0; }

body.buyer-journey details.tix-fold { margin: .6rem 0 0; }
body.buyer-journey h2 + details.tix-fold { margin-block-start: .4rem; }
body.buyer-journey details.tix-fold > summary {
  background: color-mix(in srgb, var(--journey-card, var(--bg)) 95.5%, var(--fg));
  border-radius: var(--journey-radius, 8px);
  cursor: pointer;
  display: block;
  list-style: none;
  padding: .8rem .9rem;
}
body.buyer-journey .tix-fold .tf-row { align-items: center; display: flex; gap: 1rem; }
body.buyer-journey .tix-fold .op-bar {
  background: color-mix(in srgb, var(--fg) 12%, transparent);
  border-radius: 999px;
  display: block;
  height: 5px;
  margin-top: .5rem;
  overflow: hidden;
}
body.buyer-journey .tix-fold .op-bar > i { background: var(--ok-ink, var(--ok)); border-radius: 999px; display: block; height: 100%; }
body.buyer-journey details.tix-fold > summary::-webkit-details-marker { display: none; }
body.buyer-journey details.tix-fold .tf-row::after {
  border-bottom: 1.5px solid var(--muted);
  border-right: 1.5px solid var(--muted);
  content: "";
  flex: none;
  height: .42em;
  transform: rotate(45deg) translateY(-.15em);
  width: .42em;
}
body.buyer-journey details.tix-fold[open] .tf-row::after { transform: rotate(-135deg) translateY(-.1em); }
body.buyer-journey details.tix-fold > summary:hover .tf-name { color: var(--p-accent); }
body.buyer-journey details.tix-fold > summary:focus-visible { outline: 2px solid var(--p-accent, var(--fg)); outline-offset: 2px; }
body.buyer-journey details.tix-fold[open] > summary { border-end-end-radius: 0; border-end-start-radius: 0; }
body.buyer-journey .tix-fold .tf-name { flex: 1; font-weight: 550; overflow-wrap: anywhere; }
body.buyer-journey .tix-fold .tf-count { color: var(--muted); flex: none; font-size: var(--bj-support, .875rem); }
body.buyer-journey details.tix-fold > ul.tix-grouped {
  border-start-end-radius: 0;
  border-start-start-radius: 0;
  border-top: 1px solid var(--hairline);
  margin: 0;
}

body.buyer-journey rsvp-answer { display: block; margin-block-end: var(--bj-section, 2.25rem); }
body.buyer-journey rsvp-answer > h2 { margin-block-start: 0; }
body.buyer-journey head-row + rsvp-answer { margin-block-start: var(--bj-section, 2.25rem); }
body.buyer-journey rsvp-answer .yesno .yn { color: var(--fg); text-decoration: none; }
body.buyer-journey rsvp-answer .yesno .yn-picked { border-color: var(--fg); cursor: default; }
body.buyer-journey rsvp-answer .yn-dot {
  block-size: 15px; border: 1.5px solid var(--control-line); border-radius: 50%; box-sizing: border-box;
  flex: none; inline-size: 15px; position: relative; }
body.buyer-journey rsvp-answer .yn-picked .yn-dot { border-color: var(--fg); }
body.buyer-journey rsvp-answer .yn-picked .yn-dot::after {
  background: var(--fg); border-radius: 50%; content: ""; height: 7px; left: 50%;
  position: absolute; top: 50%; transform: translate(-50%, -50%); width: 7px; }
body.buyer-journey rsvp-answer a.yn:hover .yn-dot {
  border-color: color-mix(in srgb, var(--fg) 45%, var(--control-line)); }
body.buyer-journey rsvp-answer a.yn:focus-visible { outline: 2px solid var(--p-accent); outline-offset: 2px; }

body.buyer-journey .rsvp-person { position: relative; }
body.buyer-journey .rsvp-person .rp-row {
  align-items: center; color: var(--fg); cursor: default; display: flex; gap: 1rem;
  justify-content: space-between; list-style: none; padding: .65rem .1rem; }
body.buyer-journey .rsvp-person summary.rp-row { cursor: pointer; }
body.buyer-journey .rsvp-person summary.rp-row::-webkit-details-marker { display: none; }
body.buyer-journey .rsvp-people.has-removes .rp-row { padding-inline-end: 5.5rem; }
body.buyer-journey .rsvp-person .tx-who { flex: 1; font-weight: 550; overflow-wrap: anywhere; }
body.buyer-journey .rsvp-person .tx-who small { color: var(--muted); display: block; font-weight: 400; }
body.buyer-journey .rsvp-person .tx-facts { column-gap: 1.1rem; display: flex; flex-wrap: wrap; row-gap: .1rem; }
body.buyer-journey .rsvp-person .rp-toggle,
body.buyer-journey .rsvp-person .rp-remove {
  color: var(--journey-link, var(--accent)); flex: none; font-size: var(--bj-support, .875rem);
  text-decoration: underline; text-underline-offset: 2px; }
body.buyer-journey .rsvp-person .rp-remove { inset-block-start: .9rem; inset-inline-end: .1rem; position: absolute; }
body.buyer-journey .rsvp-person .rp-hide,
body.buyer-journey .rsvp-person details[open] .rp-show { display: none; }
body.buyer-journey .rsvp-person details[open] .rp-hide { display: inline; }
body.buyer-journey .rsvp-person .rp-code {
  align-items: center; display: flex; flex-direction: column; gap: .35rem; padding: .25rem 0 1.1rem; }
body.buyer-journey .rsvp-person .rp-code img {
  background: #fff; border-radius: var(--bj-radius-sm, 8px); max-width: 100%; padding: 8px; }
body.buyer-journey .rsvp-person .rp-code p { margin: 0; }
body.buyer-journey .rp-more { margin-block-start: .75rem; }

assign-ways { display: flex; flex-direction: column; gap: .75rem; margin: 1.5rem 0 1.25rem; }
assign-ways .mode-card { margin: 0; }
assign-ways .mode-card .mode-body { padding: .25rem 1.15rem 1.25rem; }
body.buyer-journey assign-ways .mode-body label:not(.check) { color: var(--fg); display: block; font-size: var(--bj-support);
  font-weight: 600; letter-spacing: normal; margin: 1rem 0 .4rem; text-transform: none; }
body.buyer-journey assign-ways .mode-body label.check { color: var(--fg); display: flex; font-size: var(--bj-support);
  font-weight: 400; letter-spacing: normal; margin: 1.1rem 0 0; text-transform: none; }
assign-ways .mode-body button { margin-top: 1.25rem; }

li.pay-row { align-items: center; display: flex; gap: 1rem; justify-content: space-between; padding: .65rem .1rem; }
li.pay-row .tx-who { flex: 1; font-weight: 550; overflow-wrap: anywhere; }
li.pay-row .tx-who small { color: var(--muted); display: block; font-size: var(--bj-support, .875rem); font-weight: 400; }
.pay-list .tx-who .pay-doc-no { white-space: nowrap; }
.pay-state { text-align: right; }
.pay-list a.tix-row .pay-state { flex: 0 1 auto; }
.pay-list a.tix-row .pay-state > span:last-child { display: block; text-wrap: balance; }
.pay-state .price { font-weight: 600; }
.pay-due { color: var(--warn-ink); font-weight: 600; }
.pay-void .tx-who { color: var(--muted); }
.pay-state .pay-go { display: inline-block; margin-top: .15rem; }
.pay-state .pay-remove { color: var(--muted); display: inline-block; font-size: .9em; margin-top: .25rem; }
body.buyer-journey order-rail > h2:has(+ .pay-list) { margin-top: 1.75rem; }

body.buyer-journey .rows.answers .row { display: block; }
body.buyer-journey .rows.answers .row > .grow {
  color: var(--muted);
  font-size: var(--bj-support);
  margin-bottom: .1rem;
}
body.buyer-journey .rows.answers .row > span { display: block; overflow-wrap: anywhere; }
body.buyer-journey .rows.answers .row > span > a { overflow-wrap: anywhere; }

.tkt-card { container-type: inline-size; display: flex; flex-wrap: wrap; margin: 1.4rem auto; }
.tkt-card > :is(.tkt-stub, .tkt-scan) { box-sizing: border-box; flex: 1 0 100%; }
.tkt-card.hero { margin-block: 1.6rem; max-width: none; }
.tkt-card.hero .tkt-stub { padding: 1.35rem 1.5rem 1.2rem; }
.tkt-card.hero .tkt-scan { padding: 1.6rem 1.5rem 1.4rem; }
.tkt-card.hero .tkt-scan img { max-width: none; width: min(300px, 62vw); }
.tkt-card.hero .tkt-scan .tk-ref { font-size: 1.05rem; letter-spacing: .2em; }
body.buyer-journey :where(.tkt-stub, .tkt-scan) .tk-ref { font-size: .95rem; }
.tkt-card { --tk-line: color-mix(in srgb, var(--fg) 20%, transparent);
  --tk-edge: color-mix(in srgb, var(--fg) 10%, transparent); }
.tkt-stub, .tkt-scan { background: color-mix(in srgb, var(--journey-card, var(--bg)) 93%, var(--fg)); border: 1px solid var(--tk-edge); }
.tkt-stub { -webkit-mask-image: radial-gradient(circle 10px at 0 100%, transparent 9.5px, #000 10px),
    radial-gradient(circle 10px at 100% 100%, transparent 9.5px, #000 10px); border-bottom: 0;
  border-radius: var(--bj-radius) var(--bj-radius) 0 0;
  mask-image: radial-gradient(circle 10px at 0 100%, transparent 9.5px, #000 10px),
    radial-gradient(circle 10px at 100% 100%, transparent 9.5px, #000 10px);
  -webkit-mask-size: 51% 100%;
  mask-size: 51% 100%; -webkit-mask-position: left, right;
  mask-position: left, right; -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat; padding: 1.15rem 1.25rem 1rem; }
.tkt-stub .tk-event { color: var(--muted); font-size: .75rem; font-weight: 600; letter-spacing: .1em;
  margin: 0 0 .35rem; text-transform: uppercase; }
.tkt-stub .tk-holder { color: var(--bj-display-ink); font-size: var(--bj-display); font-weight: var(--bj-display-weight);
  letter-spacing: -.01em; line-height: 1.2; margin: 0; overflow-wrap: anywhere; }
.tkt-stub .tk-holder[data-unnamed] { font-size: var(--bj-h2); font-weight: 600; }
.tkt-stub .tk-meta { color: var(--muted); font-size: var(--bj-support); margin: .3rem 0 0; }
.tkt-scan { -webkit-mask-image: radial-gradient(circle 10px at 0 0, transparent 9.5px, #000 10px),
    radial-gradient(circle 10px at 100% 0, transparent 9.5px, #000 10px); border-radius: 0 0 var(--bj-radius) var(--bj-radius);
  border-top: 1.5px dashed var(--tk-line); mask-image: radial-gradient(circle 10px at 0 0, transparent 9.5px, #000 10px),
    radial-gradient(circle 10px at 100% 0, transparent 9.5px, #000 10px);
  -webkit-mask-size: 51% 100%;
  mask-size: 51% 100%;
  -webkit-mask-position: left, right; mask-position: left, right;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  padding: 1.15rem 1.25rem 1.05rem; text-align: center; }
.tkt-scan img { background: #fff; border-radius: var(--bj-radius-sm); height: auto; max-width: min(232px, 70vw); padding: 12px; }
.tkt-scan .tk-ref { color: var(--muted); font-size: .95rem; font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .82rem; letter-spacing: .12em; margin: .5rem 0 0; }
.tkt-scan .tk-state { margin: .35rem 0 0; }

.tkt-stub .tk-role { font-size: var(--bj-support); margin: .2rem 0 0; overflow-wrap: anywhere; }
@container (min-width: 34rem) {
  .tkt-card > .tkt-stub {
    -webkit-mask-image: radial-gradient(circle 10px at 100% 0, transparent 9.5px, #000 10px),
      radial-gradient(circle 10px at 100% 100%, transparent 9.5px, #000 10px);
    -webkit-mask-position: top, bottom;
    -webkit-mask-size: 100% 51%;
    border-bottom: 1px solid var(--tk-edge);
    border-radius: var(--bj-radius) 0 0 var(--bj-radius);
    border-right: 0;
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    justify-content: center;
    mask-image: radial-gradient(circle 10px at 100% 0, transparent 9.5px, #000 10px),
      radial-gradient(circle 10px at 100% 100%, transparent 9.5px, #000 10px);
    mask-position: top, bottom;
    mask-size: 100% 51%;
    min-width: 0;
    padding: 1.5rem 1.75rem;
  }
  .tkt-card > .tkt-scan {
    -webkit-mask-image: radial-gradient(circle 10px at 0 0, transparent 9.5px, #000 10px),
      radial-gradient(circle 10px at 0 100%, transparent 9.5px, #000 10px);
    -webkit-mask-position: top, bottom;
    -webkit-mask-size: 100% 51%;
    align-items: center;
    border-left: 1.5px dashed var(--tk-line);
    border-radius: 0 var(--bj-radius) var(--bj-radius) 0;
    border-top: 1px solid var(--tk-edge);
    display: flex;
    flex: 0 0 13rem;
    flex-direction: column;
    justify-content: center;
    mask-image: radial-gradient(circle 10px at 0 0, transparent 9.5px, #000 10px),
      radial-gradient(circle 10px at 0 100%, transparent 9.5px, #000 10px);
    mask-position: top, bottom;
    mask-size: 100% 51%;
    overflow-wrap: anywhere;
    padding: 1rem 1.5rem;
  }
  .tkt-card > .tkt-scan img { border-radius: var(--bj-radius-sm); padding: 8px; width: 128px; }
  .tkt-card.hero > .tkt-scan img { width: 128px; }
  .tkt-card > .tkt-scan .tk-ref { margin-top: .4rem; }
}

body.buyer-journey { background: var(--bg); min-height: 100dvh; padding: 3rem 1.25rem; }
body.buyer-journey:has(> account-footer) { box-sizing: border-box; display: flex; flex-direction: column; padding-bottom: 0; }
body.buyer-journey:has(> account-footer) > main { box-sizing: border-box; margin-bottom: 3rem; width: 100%; }
body.buyer-journey > account-footer { margin-inline: -1.25rem; width: auto; }
body.buyer-journey > account-footer > :is(footer-inner, footer-links) { box-sizing: border-box; padding-inline: var(--bj-pad); }
body.buyer-journey > main { background: var(--journey-card); border: 0;
  border-radius: var(--journey-radius);
  box-shadow: var(--shadow-journey);
  color: var(--fg); max-width: 640px; padding: var(--bj-pad-top, var(--bj-pad)) var(--bj-pad) var(--bj-pad); }
body.buyer-journey > main:has(> :is(stub-band, event-hero)) { --bj-pad-top: 0px; padding-top: 0; }
body.buyer-journey:not([data-embed-sheet]):has(> .sandbox-strip) { padding-top: 0; }
body.buyer-journey:not([data-embed-sheet]) > .sandbox-strip { margin: 0 -1.25rem 3rem; }
body.buyer-journey :is(button:not(:where(button-group > *, .embed-cta, .embed-all-types > *, [data-checkout-button])), a.button) { border-radius: var(--button-radius, var(--bj-radius-sm)); }
body.buyer-classic > main { max-width: 760px; }
body.buyer-journey h1, body.buyer-journey h2 { color: var(--journey-heading); }
body.buyer-journey a { color: var(--journey-link); }
body.buyer-journey button:not(:where(button-group > *, .embed-cta, .embed-all-types > *, [data-checkout-button])) { background: var(--accent); color: var(--accent-fg); }
body.buyer-journey button.busy:not(:where(button-group > *)) { color: transparent; }
body.buyer-journey button.busy:not(:where(button-group > *))::after { border-color: var(--accent-fg); border-top-color: transparent; }
body.buyer-journey button.danger,
body.buyer-journey form:not([data-checkout]) button[type=submit].danger {
  background: color-mix(in srgb, var(--danger), #000 28%); color: #fff; }
body.buyer-journey button.danger:hover,
body.buyer-journey form:not([data-checkout]) button[type=submit].danger:hover {
  background: color-mix(in srgb, var(--danger), #000 34%); }
body.buyer-journey p > a.button {
  border-radius: var(--button-radius, var(--bj-radius-sm)); font-size: .95rem; font-weight: 600; justify-content: center;
  padding: .7rem 1.2rem; width: 100%; }
body.buyer-journey p > a.button.primary { border: 1px solid transparent; }
body.buyer-journey p > a.button:not(.primary) {
  background: transparent; border-color: var(--custom-outlined-button-color, var(--control-line)); color: var(--custom-outlined-button-color, var(--fg)); }
body.buyer-journey p > a.button:not(.primary):hover {
  border-color: var(--p-accent); color: var(--p-accent); }

body.buyer-journey p.quiet-action { font-size: var(--bj-support); margin-top: .9rem; text-align: center; }
body.buyer-journey button.subtle,
body.buyer-journey form:not([data-checkout]) button[type=submit].subtle {
  background: transparent; border: 1px solid var(--custom-outlined-button-color, var(--control-line)); color: var(--custom-outlined-button-color, var(--fg)); }
body.buyer-journey form:where(.row, .change-row):not([data-checkout]) button[type=submit].subtle,
body.buyer-journey form:where(.row, .change-row):not([data-checkout]) > button[type=submit].subtle {
  border-radius: var(--button-radius, var(--bj-radius-sm)); font-size: .85rem; padding: .42rem 1rem; width: auto; }
body.buyer-journey button.subtle:hover,
body.buyer-journey form:not([data-checkout]) button[type=submit].subtle:hover {
  border-color: var(--p-accent); color: var(--p-accent); }
@media (max-width: 599px) {
  body.buyer-journey { padding: 0; --bj-pad: 1.25rem; }
  body.buyer-journey:not([data-embed-sheet]) > .sandbox-strip { margin: 0; }
  body.buyer-journey > main { border: 0; border-radius: 0; box-shadow: none; min-height: 100dvh; padding: var(--bj-pad-top, var(--bj-pad)) var(--bj-pad) var(--bj-pad); }
  body.buyer-journey > main:has(> :is(stub-band, event-hero)) { --bj-pad-top: 0px; padding-top: 0; }
  body.buyer-journey:has(> account-footer) > main { flex: none; margin-bottom: 0; min-height: 0; }
  body.buyer-journey:has(> account-footer) > main:has(:is(checkout-cols, checkout-bar)) { flex: 1 0 auto; }
  body.buyer-journey > account-footer { margin-inline: 0; }
}

stub-band {
  align-items: center;
  background: var(--journey-card);
  border-radius: var(--journey-radius) var(--journey-radius) 0 0;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 calc(var(--bj-pad) * -1) var(--bj-section);
  padding: 1rem var(--bj-pad) 1.05rem;
  position: relative;
}
stub-band::after {
  border-bottom: 1px solid var(--hairline);
  bottom: -1px;
  content: "";
  left: 10px;
  position: absolute;
  right: 10px;
}
stub-band[torn]::after { border-bottom-style: dashed; border-bottom-width: 1.5px; }
body.buyer-journey main:has(.tkt-card) stub-band[torn]::after {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
body.buyer-journey main:has(.tkt-card) .sb-notch { display: none; }
stub-band[bare] { min-height: 0; padding-block: 0; }
stub-band[bare]::after { bottom: 0; }
stub-band > .sb-l { min-width: 0; }
stub-band > .sb-l > img { display: block; max-height: 30px; max-width: 118px; object-fit: contain; }
stub-band > .sb-l:has(> img) { width: 118px; }
stub-band > .sb-l > .public-brand { margin: 0; }
stub-band > .sb-r {
  color: var(--bj-display-ink);
  font-family: var(--font-mono);
  font-size: .86rem;
  font-weight: 600;
  letter-spacing: .14em;
  white-space: nowrap;
}
.sb-notch {
  background: var(--bg);
  block-size: 20px;
  bottom: -10px;
  inline-size: 10px;
  position: absolute;
  z-index: 2;
}
.sb-notch.l { border-radius: 0 10px 10px 0; left: -1px; }
.sb-notch.r { border-radius: 10px 0 0 10px; right: -1px; }
@media (max-width: 599px) {
  stub-band { border-radius: 0; }
  .sb-notch { display: none; }
}

body.buyer-journey > main:has(> .page-banner) { --bj-pad-top: 0px; padding-top: 0; }
body.buyer-journey > main > .page-banner {
  aspect-ratio: 3 / 1;
  border-radius: var(--journey-radius) var(--journey-radius) 0 0;
  display: block;
  height: auto;
  margin: 0 calc(var(--bj-pad) * -1) var(--bj-section);
  max-width: none;
  object-fit: cover;
  width: calc(100% + var(--bj-pad) * 2);
}
body.buyer-journey > main > .page-banner:has(+ stub-band) { margin-bottom: 0; }
.page-banner + stub-band { border-radius: 0; }
@media (max-width: 599px) {
  body.buyer-journey > main > .page-banner { border-radius: 0; }
}

.doc-head { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.doc-head .doc-seller { text-align: right; }
.doc-addr { display: inline-block; white-space: pre-line; }

body.buyer-journey :where(.ticket, .tk-ref, .tx-ref, stub-band > .sb-r, split-words > .sw-code) {
  color: var(--fg);
  font-family: var(--font-mono);
  font-size: .84em;
  font-weight: 600;
  letter-spacing: .09em;
  white-space: nowrap;
}
body.buyer-journey :where(.ticket, .tk-ref, stub-band > .sb-r, split-words > .sw-code) {
  background: color-mix(in srgb, var(--fg) 6%, transparent);
  border-radius: var(--bj-radius-sm);
  padding: .18rem .42rem .18rem .5rem;
}
body.buyer-journey .tx-ref { color: var(--muted); }
body.buyer-journey .doc-lines .ticket { white-space: normal; word-break: break-all; }
body.buyer-journey :is(stub-band > .sb-r, split-words > .sw-code) { font-size: .8rem; }
body.buyer-journey .tk-ref { inline-size: fit-content; margin-inline: auto; }

doc-status { align-items: center; background: var(--surface-2, var(--journey-card));
  border: 1px solid var(--hairline); border-radius: var(--bj-radius);
  display: flex; flex-wrap: wrap; gap: .7rem;
  margin: 0 0 1.75rem; padding: .8rem 1rem; }
doc-status > .ds-disc { align-items: center; border-radius: 50%; display: flex; flex: 0 0 auto;
  height: 26px; justify-content: center; width: 26px; }
doc-status > .ds-disc > svg { height: 15px; width: 15px; }
doc-status > .ds-say > .ds-word { font-size: .95rem; font-weight: 650; letter-spacing: -.008em; }
doc-status > .ds-say > .ds-meta { color: var(--muted); font-size: .8rem; }
doc-status > .ds-amount { font-size: 1.06rem; font-variant-numeric: tabular-nums;
  font-weight: 650; letter-spacing: -.01em; margin-left: auto; }
doc-status[data-state=paid] { background: var(--ok-weak);
  border-color: color-mix(in srgb, var(--ok) 26%, var(--hairline)); }
doc-status[data-state=paid] > .ds-disc { background: var(--ok); color: #fff; }
doc-status[data-state=paid] > .ds-say > .ds-word,
doc-status[data-state=paid] > .ds-amount { color: var(--ok-ink); }
doc-status[data-state=due] { background: var(--warn-weak);
  border-color: color-mix(in srgb, var(--warn) 30%, var(--hairline)); }
doc-status[data-state=due] > .ds-disc { background: var(--warn-ink); color: #fff; }
doc-status[data-state=due] > .ds-say > .ds-word,
doc-status[data-state=due] > .ds-amount { color: var(--warn-ink); }
doc-status[data-state=none] > .ds-disc { background: var(--muted); color: var(--journey-card); }
doc-status[data-state=none] > .ds-amount { color: var(--muted); }
@media (max-width: 599px) {
  doc-status { margin-bottom: 1.25rem; padding-block: .7rem; }
}


.doc-grid { border-bottom: 1px solid var(--hairline); border-top: 1px solid var(--hairline);
  display: grid; gap: 1.1rem 2rem; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  margin-bottom: 1.25rem; padding: 1.25rem 0; }
body.buyer-journey .doc-grid h3, .doc-grid h3 {
  color: var(--muted); font-size: var(--bj-support, .875rem); font-weight: 600;
  margin: 0 0 .2rem; }
.doc-grid h3 + * + h3 { margin-top: .9rem; }
.doc-grid .dg-v { font-size: .85rem; line-height: 1.55; }
.doc-grid .dg-v .muted { display: block; white-space: pre-line; }

.doc-items { border-bottom: 1px solid var(--hairline); margin-bottom: .75rem; }
.doc-item { border-bottom: 1px solid var(--hairline); display: flex; gap: .9rem; padding: .55rem 0; }
.doc-item:last-child { border-bottom: 0; }
.doc-item > .di-name { flex: 1; }
.doc-item > .di-name > .di-qty { color: var(--muted); font-variant-numeric: tabular-nums; }
.doc-item > .di-name > .di-sub { color: var(--muted); display: block; font-size: .78rem; }
.doc-item > .di-amount { font-variant-numeric: tabular-nums; min-width: 5.5rem; text-align: right; }

.doc-totals { display: flex; flex-direction: column; gap: .3rem; margin-bottom: 1rem; }
.doc-totals > .dt-line { align-self: flex-end; color: var(--muted); display: flex;
  font-size: .8rem; font-variant-numeric: tabular-nums; gap: 1.6rem; }
.doc-totals > .dt-line > .dt-amount { min-width: 5.5rem; text-align: right; }
.doc-totals > .dt-grand { align-self: flex-end;
  color: var(--bj-display-ink); display: flex; font-size: 1rem; font-variant-numeric: tabular-nums;
  font-weight: 650; justify-content: space-between; margin-top: .2rem; min-width: 15rem;
  padding-top: .5rem; }

.doc-legal { background: var(--surface-2, transparent); border: 1px solid var(--hairline);
  border-radius: var(--bj-radius-sm); color: var(--muted); font-size: .8rem; margin-bottom: .9rem;
  padding: .7rem .8rem; }
.doc-gap { background: var(--warn-weak); border-radius: var(--bj-radius-sm); color: var(--warn-ink);
  font-size: .75rem; line-height: 1.45; margin-bottom: .4rem; padding: .4rem .55rem;
  text-align: left; }
.doc-head { gap: 2rem; margin-bottom: 1.25rem; }
.doc-head > div:first-child { min-width: 9rem; }
.doc-head .doc-seller { font-size: .8rem; line-height: 1.6; max-width: 13rem; }
.doc-head .doc-seller > * { display: block; }

body.buyer-journey hr { border: 0; border-top: 1px solid var(--hairline); margin: 1.6rem 0; }
body.buyer-journey .pay-amount { color: var(--bj-display-ink); font-size: var(--bj-display); font-weight: var(--bj-display-weight); margin: .4rem 0 1rem; }
body.buyer-journey .doc-lines + .pay-amount { text-align: right; }

body.buyer-journey .bj-split { display: flex; gap: .6rem; margin: .9rem 0; }
body.buyer-journey .bj-split a.button { background: transparent; border: 1px solid var(--custom-outlined-button-color, var(--hairline));
  border-radius: var(--button-radius, var(--bj-radius-sm)); color: var(--custom-outlined-button-color, var(--fg)); flex: 1; font-size: .875rem; font-weight: 600;
  justify-content: center; margin-top: 0; padding: .55rem 1rem; text-decoration: none;
  transition: border-color .15s, color .15s; }
body.buyer-journey .bj-split a.button:hover { border-color: var(--p-accent); color: var(--p-accent); }


:root {
  --express-fade: 300ms;
  --express-fade-delay: 180ms;
}

:root[data-express-pending] body.buyer-journey [data-details-block],
:root[data-express-pending] body.buyer-journey checkout-cols > checkout-bar {
  opacity: 0;
  visibility: hidden;
}

body.buyer-journey [data-details-block],
body.buyer-journey checkout-cols > checkout-bar {
  opacity: 1;
  transition: opacity var(--express-fade) ease var(--express-fade-delay);
}

body.buyer-journey [data-express-checkout] { margin-block-end: 1.25rem; }

body.buyer-journey express-or:not([hidden]) {
  border-block-end: 1px solid var(--hairline);
  display: block;
  margin-block-start: .5rem;
  padding-block-start: .75rem;
}

:root[data-express-pending] body.buyer-journey [data-express-checkout] {
  min-height: 2.75rem;
}

body.buyer-journey [data-details-stage] { position: relative; }

form-skeleton { display: none; }

:root[data-express-pending] body.buyer-journey form-skeleton {
  display: block;
  inset-block-start: 0;
  inset-inline: 0;
  position: absolute;
}

skeleton-line {
  background: light-dark(#00000010, #ffffff14);
  border-radius: 6px;
  display: block;
  height: 2.75rem;
  margin-block-end: 1rem;
  overflow: hidden;
  position: relative;
}

skeleton-line[short] { height: 0.9rem; margin-block-end: 0.5rem; width: 5rem; }
skeleton-line[button] { height: 3rem; margin-block-end: 0; }

skeleton-line::after {
  animation: skeleton-sheen 1.4s linear infinite;
  background: linear-gradient(90deg, transparent, light-dark(#ffffff99, #ffffff12), transparent);
  content: "";
  inset: 0;
  position: absolute;
}

@keyframes skeleton-sheen {
  from { transform: translateX(-100%); }
  to { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
  body.buyer-journey [data-details-block],
  body.buyer-journey checkout-cols > checkout-bar { transition: none; }
  skeleton-line::after { animation: none; }
}

body.buyer-journey [data-details-block][data-express-hold],
body.buyer-journey [data-custom-pay][data-express-hold],
body.buyer-journey [data-custom-pay-bar][data-express-hold] {
  opacity: 0.35;
  transition: opacity 150ms ease;
}

:root[data-pay-pending] body.buyer-journey [data-pay-block] {
  opacity: 0;
  visibility: hidden;
}

body.buyer-journey [data-pay-block] {
  opacity: 1;
  transition: opacity var(--express-fade) ease var(--express-fade-delay);
}

body.buyer-journey [data-pay-stage] { position: relative; }

:root[data-pay-pending] body.buyer-journey [data-pay-stage] form-skeleton {
  display: block;
  inset-block-start: 0;
  inset-inline: 0;
  position: absolute;
}

:root[data-pay-pending] body.buyer-journey [data-custom-loading] { display: none; }

skeleton-line[wallets] { margin-block-end: 1.25rem; }

@media (prefers-reduced-motion: reduce) {
  body.buyer-journey [data-pay-block] { transition: none; }
}

body.buyer-journey [data-express-checkout] { --express-gap: .5rem; }
body.buyer-journey [data-express-paypal] { margin: 0; }
body.buyer-journey [data-express-checkout][data-express-wallets] [data-express-paypal] { margin-block-start: var(--express-gap); }
body.buyer-journey [data-express-paypal] button.subtle {
  font-size: .95rem; font-weight: 600; gap: .5rem; height: 44px;
  justify-content: center; margin-top: 0; width: 100%; }
body.buyer-journey [data-express-paypal] .paypal-mark {
  fill: light-dark(#003087, currentColor); flex: none; height: 1.15rem; width: auto; }
body.buyer-journey [data-express-paypal] button.busy .paypal-mark { visibility: hidden; }
body.buyer-journey form[data-express-paypal] button[type=submit].subtle.busy { color: transparent; }
body.buyer-journey form[data-express-paypal] button[type=submit].subtle.busy::after {
  border-color: var(--custom-outlined-button-color, var(--fg)); border-top-color: transparent; }
body.buyer-journey [data-express-paypal] + [data-express-or] { margin-block-start: var(--express-gap); }

body.buyer-journey [data-continuing-note] { display: none; }

:root[data-continuing] body.buyer-journey [data-continuing-note] { display: block; }

:root[data-continuing] body.buyer-journey tito-embed > :not([data-continuing-note]),
:root[data-continuing] body.buyer-journey .bj-eyebrow,
:root[data-continuing] body.buyer-journey h1,
:root[data-continuing] body.buyer-journey .rows,
:root[data-continuing] body.buyer-journey checkout-cols {
  display: none;
}

.claim-who { margin: 1.25rem 0; }
.claim-who > .detail-list { margin-block-end: 0; }
.claim-edit { margin-top: .6rem; }
.claim-edit > summary { color: var(--journey-link, var(--accent)); cursor: pointer;
  display: inline-block; font-size: var(--bj-support); list-style: none;
  text-decoration: underline; text-underline-offset: 2px; }
.claim-edit > summary::-webkit-details-marker { display: none; }
.claim-edit > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.claim-edit[open] > summary { margin-bottom: .5rem; }

form > .cb-terms {
  color: var(--muted); font-size: var(--bj-support); margin: 1rem 0 .75rem;
}

.donation-amount { align-items: center; display: inline-flex; gap: .4rem; }

body.buyer-journey session-waitlist {
  align-items: flex-end;
  display: flex;
  flex: none;
  flex-direction: column;
  font-size: .8125rem;
  gap: .3rem;
  max-width: 45%;
  text-align: end;
}
body.buyer-journey form session-waitlist > button[type=submit][form],
body.buyer-journey session-waitlist > a {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--fg);
  cursor: pointer;
  display: inline;
  font: inherit;
  font-weight: 600;
  margin: 0;
  padding: 0;
  text-align: end;
  text-decoration: underline;
  text-underline-offset: .15em;
}
body.buyer-journey form session-waitlist > button[type=submit][form]:hover,
body.buyer-journey session-waitlist > a:hover {
  background: none;
  box-shadow: none;
  color: var(--p-accent);
}
body.buyer-journey .session-row[data-shut]:has(> session-waitlist) { opacity: 1; }
body.buyer-journey .session-row[data-shut]:has(> session-waitlist) > :is(input, .session-body) { opacity: .55; }

body.buyer-journey callout:not([tone]) { background: color-mix(in srgb, var(--fg) 4%, transparent);
  border-color: var(--hairline); border-radius: var(--bj-radius); }
body.buyer-journey callout:not([tone]) > .co-body > p:only-child { color: var(--muted); }

body.buyer-journey callout:not([tone]) > .co-act > .button:not(.primary) {
  border-color: var(--control-line);
  color: var(--fg);
  font-size: .85rem;
  padding: .42rem 1rem;
}
body.buyer-journey callout:not([tone]) > .co-act > .button:not(.primary):hover {
  border-color: var(--p-accent);
  color: var(--p-accent);
}

.promo-note { font-size: .85rem; margin: .35rem 0 0; }
.promo-note.ok { color: var(--ok-ink, #2e7d32); }
.promo-note.bad { color: var(--danger-ink, #b3261e); }
.row.rail-code { color: var(--ok-ink, #2e7d32); }
.rail-code .mono {
  font-family: ui-monospace,"SF Mono",Menlo,monospace;
  font-weight: 700;
  letter-spacing: .04em;
}

order-size {
  color: var(--muted);
  display: block;
  font-size: .875rem;
  margin-block: .75rem;
}
order-size[hidden] { display: none; }

promo-entry { display: block; margin: .6rem 0 0; order: 1; }
checkout-side > .promo-note { order: 1; }
promo-entry summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: .9rem;
  font-weight: 500;
  gap: .4rem;
  list-style: none;
  padding: .45rem 0;
  width: fit-content;
}
promo-entry summary::-webkit-details-marker { display: none; }
promo-entry .promo-caret { flex: none; transition: transform .15s ease; }
promo-entry details[open] .promo-caret { transform: rotate(90deg); }
promo-entry .promo-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: .2rem 0 .3rem; }
promo-entry .promo-row button { margin-top: 0; }
body.buyer-journey promo-entry .promo-row input {
  flex: 1;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  letter-spacing: .04em;
  min-width: 12ch;
  width: auto;
}

promo-entry.embed-promo { margin: .9rem 0 0; order: 0; }
promo-entry .promo-applied {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0;
}
promo-entry .promo-code {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-weight: 600;
  letter-spacing: .04em;
}
body.buyer-journey promo-entry .promo-applied button {
  background: none;
  border: 0;
  color: var(--journey-link, var(--accent));
  cursor: pointer;
  font: inherit;
  margin: 0 0 0 auto;
  padding: 0;
  text-decoration: underline;
  width: auto;
}
body.buyer-journey promo-entry .promo-applied button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (pointer: coarse), (max-width: 40rem) {
  promo-entry summary { position: relative; }
  promo-entry summary::after { content: ""; inset: min(0px, calc((100% - 2.75rem) / 2)); position: absolute; }
  promo-entry summary::after { inset-block: min(0px, calc(100% - 2.75rem)) 0; }
}

body.buyer-journey .file-field { border: 1px dashed currentColor; border-radius: .5rem; padding: .75rem; }
body.buyer-journey .file-field.dragging { background: color-mix(in srgb, currentColor 8%, transparent); border-style: solid; }
body.buyer-journey .file-field .file-drop-hint { font-size: var(--bj-support); margin: .35rem 0 0; }
body.buyer-journey .file-field progress { display: block; margin-top: .5rem; width: 100%; }
body.buyer-journey .file-field progress[hidden] { display: none; }
body.buyer-journey .file-field .file-status { font-size: var(--bj-support); margin: .35rem 0 0; }
body.buyer-journey .file-field .file-error { color: var(--danger-ink, #b00020); font-size: var(--bj-support); margin: .35rem 0 0; }
body.buyer-journey .file-chips { list-style: none; margin: .35rem 0 0; padding: 0; }
body.buyer-journey .file-chips .file-chip { align-items: center; display: flex; gap: .5rem; margin: .25rem 0; }
body.buyer-journey .file-chips .file-chip button { background: none; border: 0; color: inherit; cursor: pointer; font-size: 1rem; line-height: 1; padding: .25rem; }
body.buyer-journey .file-list { list-style: none; margin: 0 0 .5rem; padding: 0; }


body.buyer-journey:has(tito-embed) {
  background: var(--journey-card);
  min-height: 0;
  padding: 0;
}

tito-embed {
  background: var(--journey-card);
  border: 1px solid var(--hairline, var(--control-line, var(--line)));
  border-radius: var(--journey-radius, 12px);
  color: var(--fg);
  display: block;
  padding: 1.15rem;
}

body.buyer-journey:has(.embed-open:not([hidden])):has(.sandbox-pill) {
  background: var(--journey-card);
}

.embed-types {
  container: embed-types / inline-size;
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
}

:where(.embed-type) {
  align-items: baseline;
  border-top: 1px solid var(--hairline, var(--line));
  column-gap: 1rem;
  display: grid;
  grid-template-columns: minmax(min(8rem, 100%), 1fr) auto;
  grid-template-rows: repeat(4, auto) [about] auto [qty] auto;
  padding: .8rem 0;
}

:where(li:first-child > .embed-type) { border-top: 0; padding-top: .15rem; }
:where(ticket-list) { display: block; }

.et-main { display: contents; }
:where(.et-main > *) { grid-column: 1; min-width: 0; }
:where(.et-main > * + :not(.et-about)) { margin-top: .2rem; }
:where(.et-name) { font-weight: 600; line-height: 1.35; }
label:where(.et-name) { color: inherit; display: block; font-size: var(--bj-support); margin-bottom: .4rem; }

.et-desc {
  color: var(--muted);
  font-size: var(--bj-support, .875rem);
  line-height: 1.4;
}
.et-desc:not([data-ticket-description]) { white-space: normal; }

:where(.et-main > .et-about) { grid-column: 1 / -1; grid-row: about; margin-top: .2rem; overflow-wrap: anywhere; }

.et-side {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  font-variant-numeric: normal;
  gap: .3rem;
  grid-column: 2;
  grid-row: 1 / span 4;
  text-align: right;
}

:where(.et-price) {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
chosen-price { align-items: center; display: inline-flex; gap: .3rem; }
chosen-price input { width: 4.5rem; }

.et-tax {
  color: var(--muted);
  display: block;
  font-size: var(--bj-micro, .75rem);
  font-weight: 400;
}

.et-left,
.et-gone {
  border-radius: 999px;
  font-size: var(--bj-micro, .75rem);
  font-weight: 600;
  line-height: 1.5;
  padding: .05rem .45rem;
}

.et-left {
  background: color-mix(in srgb, var(--warn) 18%, transparent);
  color: var(--warn-ink);
}

.et-gone {
  background: color-mix(in srgb, var(--fg) 7%, transparent);
  color: var(--muted);
}

.et-qty { display: flex; grid-column: 1 / -1; grid-row: qty; justify-content: flex-end; margin-top: .2rem; }
.et-qty > input[type="checkbox"] { accent-color: var(--p-accent, currentColor); block-size: 1.25rem;
  inline-size: 1.25rem; margin: 0; }

.embed-type:has(input:disabled) .et-qty { display: none; }

@container embed-types (min-width: 26rem) {
  :where(.embed-type) { align-items: start; column-gap: 1.5rem; }
  :where(.et-main > :first-child), .et-side { align-self: baseline; }
  :where(.et-main > .et-about) { grid-column: 1; margin-top: .25rem; }
  .et-qty { grid-column: 2; grid-row: about; margin-top: .6rem; }
}

:where(body.buyer-journey) .embed-cta {
  background: var(--accent);
  border: 1px solid transparent;
  border-radius: var(--button-radius, var(--bj-radius-sm));
  box-shadow: var(--key-lift);
  color: var(--accent-fg);
  cursor: pointer;
  display: block;
  font: inherit;
  font-size: .95rem;
  font-weight: 600;
  margin-top: .9rem;
  padding: .7rem 1.2rem;
  text-align: center;
  text-decoration: none;
  transition: background .12s, border-color .12s, box-shadow .12s, transform .05s;
  width: 100%;
}

:where(body.buyer-journey) .embed-cta:hover { box-shadow: var(--key-lift-hover); filter: brightness(1.06); }
:where(body.buyer-journey) .embed-cta:active { transform: translateY(.5px); }
:where(body.buyer-journey) .embed-cta:disabled { cursor: default; opacity: .5; }

body.buyer-journey .embed-cta-bar {
  animation: embed-cta-in 160ms ease-out 120ms backwards;
  background: var(--journey-card);
  bottom: 0;
  margin-bottom: -.9rem;
  margin-top: .9rem;
  padding-block: 0 .9rem;
  position: sticky;
  z-index: 1;
}

body.buyer-journey .embed-cta-bar[hidden] { display: none; }

body.buyer-journey .embed-cta-bar[data-hosted] {
  animation: none;
  visibility: hidden;
}

body.buyer-journey .embed-cta-bar::before {
  background: linear-gradient(to bottom, transparent, var(--journey-card));
  content: "";
  height: .9rem;
  inset-inline: 0;
  pointer-events: none;
  position: absolute;
  top: -.9rem;
}

:where(body.buyer-journey .embed-cta-bar) .embed-cta { margin-top: 0; }

@keyframes embed-cta-in {
  from { opacity: 0; transform: translateY(.5rem); }
}

@media (prefers-reduced-motion: reduce) {
  body.buyer-journey .embed-cta-bar { animation: none; }
}

.embed-none {
  color: var(--muted);
  margin: 0;
  text-align: center;
}

.embed-all-types {
  margin: .9rem 0 0;
  text-align: start;
}

.embed-all-types :is(a, button) {
  align-items: center;
  background: none;
  border: 0;
  color: var(--journey-link, var(--accent));
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  gap: .4em;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

.embed-all-types :is(a, button)::after {
  block-size: .4em;
  border-block-end: 1.5px solid currentColor;
  border-inline-end: 1.5px solid currentColor;
  content: "";
  inline-size: .4em;
  margin-block-start: -.25em;
  rotate: 45deg;
}

.embed-all-types :is(a, button):hover {
  text-decoration: underline;
  text-underline-offset: .15em;
}

.embed-all-types button:disabled {
  cursor: default;
  opacity: .5;
}

.embed-none + .embed-all-types { text-align: center; }

.embed-all-types :is(a, button):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.embed-secured {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: .75rem;
  gap: .3rem;
  justify-content: center;
  margin: .75rem 0 0;
}

body.buyer-journey .embed-secured a { color: inherit; }

.embed-obscured {
  padding: .5rem;
  text-align: center;
}

.eo-title {
  font-weight: 600;
  margin: 0 0 .25rem;
}

.eo-body {
  color: var(--muted);
  font-size: .875rem;
  margin: 0;
}

body.buyer-journey:has(.embed-open:not([hidden])) {
  background: var(--accent);
}

tito-embed[data-shape="button"]:has(.embed-open:not([hidden])) {
  background: none;
  border: 0;
  border-radius: calc(var(--journey-radius, 12px) / 2);
  padding: 0;
}

tito-embed[data-shape="button"]:has(.embed-open:not([hidden])) .embed-open {
  margin-top: 0;
}

tito-embed[data-shape="button"]:has(.embed-open:not([hidden])) .embed-secured {
  display: none;
}

.embed-open {
  background: var(--accent);
  border: 0;
  border-radius: calc(var(--journey-radius, 12px) / 2);
  color: var(--accent-fg);
  cursor: pointer;
  display: block;
  font: inherit;
  font-weight: 600;
  padding: .7rem 1rem;
  text-align: center;
  width: 100%;
}

.embed-close {
  background: none;
  border: 1px solid var(--line);
  border-radius: calc(var(--journey-radius, 12px) / 2);
  color: var(--muted);
  cursor: pointer;
  display: block;
  font: inherit;
  margin-top: .9rem;
  padding: .5rem 1rem;
  width: 100%;
}

body.buyer-journey .embed-close {
  background: none;
  border: 1px solid var(--line);
  color: var(--custom-step-header-color, var(--muted));
}

.embed-open[hidden],
.embed-close[hidden] {
  display: none;
}

tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) {
  border: 0;
  display: flex;
  flex-direction: column;
  max-height: 100dvh;
  overflow: hidden;
  padding: 0;
}

:root:not([data-sheet-measuring]) tito-embed[data-shape="button"]:has(.embed-close:not([hidden])):has(> .embed-body:not([hidden])) { min-height: 100dvh; }

tito-embed[data-shape="button"] > :not(.embed-body) { flex: none; }

tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) > .embed-body:not([hidden]) {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1.15rem;
  scroll-padding-block: 1rem 6rem;
}

:root:not([data-sheet-measuring]) tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) > .embed-body:not([hidden]) { flex-grow: 1; }

:root:not([data-sheet-measuring]) tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) .embed-form {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
}

:root:not([data-sheet-measuring]) tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) .embed-form::after {
  content: "";
  flex: 1 0 0;
  order: 98;
}

embed-head { display: none; }

:root:not([data-sandbox-outside]) tito-embed:not(:has(.embed-close:not([hidden]))) > embed-head:has(> .sandbox-pill) {
  display: block;
  margin: 0 0 .75rem;
}

tito-embed:not(:has(.embed-close:not([hidden]))) > embed-head > :is(h1, h2, p, span, div, a, button):not(.sandbox-pill, .sandbox-pill-say) { display: none; }

tito-embed[data-shape="button"]:has(.embed-open:not([hidden])) > embed-head {
  padding: .6rem .6rem 0;
}

tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) > embed-head {
  --es-corner: .6rem;
  align-items: center;
  background: var(--custom-step-header-background, transparent);
  border-bottom: 1px solid var(--hairline, var(--line));
  display: flex;
  gap: .5rem;
  min-height: 2.25rem;
  padding: var(--es-corner) var(--es-corner) var(--es-corner) 1.15rem;
}

body.buyer-journey tito-embed > embed-head > h1.embed-title {
  border: 0;
  color: var(--custom-step-header-color, var(--journey-heading, var(--fg)));
  flex: 1;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.3;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 0;
}

body.buyer-journey tito-embed > embed-head > h1.embed-title::after { content: none; }

tito-embed[data-shape="button"] .embed-close:not([hidden]) {
  border-radius: var(--button-radius, 50%);
  display: grid;
  flex: none;
  height: 2.25rem;
  margin: 0 0 0 auto;
  padding: 0;
  place-items: center;
  width: 2.25rem;
}

body.buyer-journey tito-embed[data-shape="button"] .embed-close:not([hidden]) {
  background: transparent;
  border-color: transparent;
}

body.buyer-journey tito-embed[data-shape="button"] .embed-close:not([hidden]):hover {
  background: color-mix(in srgb, var(--custom-step-header-color, var(--fg)) 8%, transparent);
  color: var(--custom-step-header-color, var(--fg));
}

tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) .embed-cta-bar {
  background: var(--journey-card);
  border-top: 1px solid var(--hairline, var(--line));
  bottom: -1.15rem;
  margin: var(--sheet-bar-lead, 1.25rem) -1.15rem -1.15rem;
  order: 99;
  padding: var(--sheet-bar-pad, .9rem) 1.15rem;
}

tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) .embed-cta-bar::before { content: none; }

:where(body.buyer-journey tito-embed[data-shape="button"]:has(.embed-close:not([hidden]))) .embed-cta {
  border: 1px solid transparent;
  border-radius: var(--button-radius, var(--bj-radius-sm));
  font-size: .95rem;
  line-height: 1.4;
  padding: .7rem 1.2rem;
}

embed-foot { display: block; }

tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) > embed-foot {
  align-items: center;
  border-top: 1px solid var(--hairline, var(--line));
  display: flex;
  font-size: .8rem;
  gap: .75rem;
  justify-content: flex-end;
  line-height: 1.25rem;
  padding: .7rem 1.15rem;
}

tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) > embed-foot::before { content: "\200b"; }

tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) embed-foot .embed-secured {
  font-size: inherit;
  margin: 0;
}

body.buyer-journey tito-embed[data-shape="button"]:has(.embed-close:not([hidden])) .embed-secured a { text-decoration: none; }

.interest-form {
  display: grid;
  gap: 1rem;
}
.interest-form input[type="email"] {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
}
.interest-form .check {
  align-items: start;
  display: flex;
  gap: .6rem;
}


.ec-state {
  font-size: 1.05rem;
  margin: 0 0 .5rem;
}

.ec-state.ok {
  color: var(--ok-ink, currentColor);
  font-weight: 600;
}

.ec-code {
  background: var(--journey-card, transparent);
  border: 1px solid var(--line, currentColor);
  border-radius: var(--bj-radius-sm);
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 12.5px;
  line-height: 1.6;
  margin: 0 0 1.5rem;
  overflow-wrap: anywhere;
  padding: .85rem 1rem;
  white-space: pre-wrap;
}

.ec-code code {
  font: inherit;
}

.apply-note {
  background: color-mix(in srgb, var(--p-accent) 6%, transparent);
  border: 0;
  border-left: 3px solid color-mix(in srgb, var(--p-accent) 45%, transparent);
  color: var(--fg);
  font-size: var(--bj-support, .875rem);
  line-height: 1.55;
  margin: 1.4rem 0 0;
  padding: .7rem .9rem;
}

.apply-facts { display: grid; gap: .9rem; margin: 1.6rem 0; }
.apply-facts dt { color: var(--muted); font-size: var(--bj-support, .875rem); }
.apply-facts dd { font-size: var(--bj-body, 1rem); font-weight: 500; margin: .15rem 0 0; }

.apply-closes { font-size: .9rem; margin-top: 1rem; text-align: center; }

body.buyer-classic {
  --accent-fg: #fff;
  --bj-radius-sm: 4px;
  --button-radius: 6px;
  --control-line: #c8c8ce;
  --fg: #30303a;
  --journey-card: #fff;
  --journey-heading: #252535;
  --journey-radius: 16px;
  --line: #d8d8dc;
  --muted: #65656d;
}
@media (prefers-contrast: more) {
  body.buyer-classic { --control-line: #8f8f96; }
}
body.buyer-classic:not([data-embed-sheet]) { --bj-h1: 2.4rem; }
@media (min-width: 600px) {
  body.buyer-classic > main { margin-block-start: 2rem; }
}
body.buyer-classic:not([data-embed-sheet]) h1 {
  letter-spacing: -.06rem;
  padding-bottom: 1.25rem;
  position: relative;
}
body.buyer-classic:not([data-embed-sheet]) h1::after {
  background: var(--accent);
  bottom: 0;
  content: "";
  height: .65rem;
  left: 0;
  position: absolute;
  width: 4.5rem;
}
body.buyer-classic form:not([data-checkout]) button[type="submit"]:disabled:not(:where([data-checkout-button])),
body.buyer-classic checkout-bar button[type="submit"]:disabled:not(:where([data-checkout-button])) {
  background: #e8e8ec;
  color: #6b6b75;
  opacity: 1;
}

body.buyer-journey .checkout-steps {
  --step-accent: var(--accent);
  --step-accent-ink: var(--on-accent);
  --step-heading-ink: var(--fg);
  --step-ink: var(--fg);
  --step-ink-muted: var(--muted);
  --step-line: var(--hairline);
}
[data-step-bar="steps"] .step-progress {
  align-items: center;
  display: flex;
  gap: .75rem;
  list-style: none;
  margin: 0 0 1.1rem;
  padding: 0;
}
[data-step-bar="steps"] .step-progress li {
  align-items: center;
  display: flex;
  flex: 0 1 auto;
  gap: .75rem;
  min-width: 0;
}
[data-step-bar="steps"] .step-progress li[hidden] { display: none; }
[data-step-bar="steps"] .step-progress li + li::before {
  background: var(--step-line);
  content: "";
  flex: 0 0 1.75rem;
  height: 1px;
}
[data-step-bar="steps"] .step-progress li .step-chip {
  align-items: center;
  background: none;
  border: 0;
  border-radius: 0;
  color: var(--step-ink-muted);
  display: inline-flex;
  font-family: inherit;
  font-size: .875rem;
  font-weight: 500;
  gap: .5rem;
  line-height: 1.25;
  margin: 0;
  min-height: 1.5rem;
  min-width: 0;
  opacity: 1;
  padding: 0;
  text-align: start;
  text-decoration: none;
  width: auto;
}
[data-step-bar="steps"] .step-progress .step-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-step-bar="steps"] .step-progress .step-num {
  align-items: center;
  border: 1.5px solid var(--step-line);
  border-radius: 50%;
  box-sizing: border-box;
  display: inline-flex;
  flex: none;
  font-size: .75rem;
  font-weight: 600;
  height: 1.5rem;
  justify-content: center;
  width: 1.5rem;
}
[data-step-bar="steps"] .step-progress li.active .step-chip {
  background: none;
  color: var(--step-heading-ink);
  font-weight: 600;
}
[data-step-bar="steps"] .step-progress li.active .step-num {
  background: var(--step-accent);
  border-color: var(--step-accent);
  color: var(--step-accent-ink);
}
[data-step-bar="steps"] .step-progress li.done :is(a, button:not(:disabled)).step-chip { color: var(--step-heading-ink); }
[data-step-bar="steps"] .step-progress li.done :is(a, button:not(:disabled)).step-chip .step-num {
  border-color: var(--step-heading-ink);
  font-size: 0;
}
[data-step-bar="steps"] .step-progress li.done :is(a, button:not(:disabled)).step-chip .step-num::before { content: "\2713"; font-size: .75rem; }
[data-step-bar="steps"] .step-progress li.done :is(a, button:not(:disabled)).step-chip .step-name {
  text-decoration: underline;
  text-underline-offset: .2em;
}
[data-step-bar="steps"] .step-progress li.done :is(a, button:not(:disabled)).step-chip:hover .step-name { text-decoration-thickness: 2px; }
[data-step-bar="steps"] .step-progress .step-chip:disabled { cursor: default; }
[data-step-bar="steps"] .step-progress .step-chip:focus-visible {
  outline: 2px solid var(--step-heading-ink);
  outline-offset: 2px;
}

body.buyer-journey .options-heading-line {
  align-items: baseline;
  column-gap: 1rem;
  display: flex;
}
body.buyer-journey .options-heading-line > h1 { flex: 1 1 auto; min-width: 0; }
body.buyer-journey .options-heading-line > .step-heading-back {
  color: var(--muted);
  flex: 0 1 auto;
  font-size: .9rem;
  max-width: 50%;
  min-width: 0;
  overflow: hidden;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.buyer-journey .options-heading-line > .step-heading-back::before { content: "\2039"; margin-inline-end: .25em; }
body.buyer-journey .options-heading-line > .step-heading-back:hover { color: var(--fg); }

body.buyer-journey checkout-cols[data-step-line] > checkout-head { margin-block-end: var(--bj-section); }
body.buyer-journey checkout-cols[data-step-line] > checkout-head h1 {
  color: var(--fg);
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0;
}
@container (min-width: 900px) {
  body.buyer-journey checkout-cols[data-step-line] { row-gap: .9rem; }
  body.buyer-journey checkout-cols[data-step-line] > checkout-head { margin-block-end: 0; }
  body.buyer-journey checkout-cols[data-step-line] > checkout-side,
  body.buyer-journey checkout-cols[data-step-line][data-side-measured] > checkout-bar { grid-area: 1 / 2 / span 2; }
  @supports not (anchor-name: --a) {
    body.buyer-journey checkout-cols[data-step-line] { grid-template-rows: auto 1fr auto; }
    body.buyer-journey checkout-cols[data-step-line] > checkout-bar { grid-area: 3 / 1; }
  }
}

checkout-admission {
  display: grid;
  font-size: .875rem;
  gap: .25rem;
  inline-size: 100%;
  min-inline-size: 0;
}
checkout-admission[hidden], checkout-admission [hidden] {
  display: none !important;
}
body checkout-admission p {
  font-size: inherit;
  line-height: 1.4;
  margin: 0;
  overflow-wrap: anywhere;
}
checkout-admission admission-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
checkout-admission [data-admission-countdown] {
  flex: 1 1 auto;
}
body checkout-admission button[type=button] {
  background: transparent;
  border: 1px solid var(--hairline);
  border-radius: var(--bj-radius-sm, .3rem);
  color: var(--fg);
  font-size: inherit;
  font-weight: 400;
  inline-size: auto;
  margin: 0;
  min-block-size: 2rem;
  padding: .25rem .5rem;
}
ul[data-admission-orders] {
  border: 1px solid var(--hairline, color-mix(in srgb, var(--fg, var(--custom-text-color)) 14%, transparent));
  border-radius: var(--bj-radius-sm, .375rem);
  display: grid;
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}
checkout-admission ul[data-admission-orders] {
  margin: .25rem 0 0;
}
ul[data-admission-orders] li {
  align-items: center;
  display: flex;
  gap: .75rem;
  padding: .5rem .75rem;
}
ul[data-admission-orders] li > a:first-child {
  display: grid;
  flex: 1 1 auto;
  gap: .25rem;
  justify-items: start;
  min-inline-size: 0;
}
ul[data-admission-orders] li + li {
  border-block-start: 1px solid var(--hairline, color-mix(in srgb, var(--fg, var(--custom-text-color)) 14%, transparent));
}
ul[data-admission-orders] a {
  color: var(--fg, var(--custom-text-color));
  text-decoration: none;
}
ul[data-admission-orders] a:hover, ul[data-admission-orders] a:focus-visible {
  text-decoration: underline;
}
ul[data-admission-orders] a.admission-order-cancel {
  color: var(--custom-link-color, var(--accent));
  flex: none;
  white-space: nowrap;
}
ul[data-admission-orders] .ticket {
  background: color-mix(in srgb, var(--fg, var(--custom-text-color)) 6%, transparent);
  border-radius: var(--bj-radius-sm, 4px);
  color: var(--fg, var(--custom-text-color));
  display: inline-block;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: .84em;
  font-weight: 600;
  letter-spacing: .09em;
  padding: .18rem .42rem .18rem .5rem;
  white-space: nowrap;
}
checkout-bar:has(checkout-admission:not([hidden])) {
  gap: .5rem;
}
@media (max-width: 599px) {
  checkout-bar:has(checkout-admission:not([hidden])) {
    padding-block: .5rem calc(.5rem + var(--bj-pad));
  }
}

owner-notes {
  bottom: 1rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  position: fixed;
  right: 1rem;
  width: min(18rem, calc(100% - 2rem));
  z-index: 20;
}
body:has(owner-notes) { padding-bottom: 6rem; }
.secret-preview,
.owner-strip,
.page-preview {
  background: #eef2fd;
  border: 1px solid #c7d3f5;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--shadow-pop, none);
  box-sizing: border-box;
  color: #1e2a52;
  font: 400 13px/1.45 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  margin: 0;
  padding: .6rem .85rem;
  text-align: start;
}

.owner-strip .note-label {
  align-items: center;
  background: #dfe6fb;
  border-bottom: 1px solid #c7d3f5;
  color: #1a45c4;
  display: flex;
  font-size: 12px;
  font-weight: 400;
  gap: .35rem;
  margin: -.6rem -.85rem .5rem;
  padding: .35rem .85rem;
}
.owner-strip .note-label svg { flex: none; }

.sandbox-strip {
  background: #34291f;
  border-bottom: 1px solid #796045;
  color: #f2a33c;
  font: 13px/1.4 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  margin: 0;
  padding: .45rem .9rem;
  position: sticky;
  text-align: center;
  top: 0;
  z-index: 10;
}

body:has(> .sandbox-strip) { --sandbox-strip-height: 34px; }
html:has(> body > .sandbox-strip) { scroll-padding-top: 34px; }

.secret-preview { border-color: #9fb3ea; }

.page-preview {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .9rem;
  justify-content: flex-start;
}

.page-preview a[href],
.owner-strip a[href] {
  color: #1a45c4;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.page-preview a[href]:hover,
.owner-strip a[href]:hover { text-decoration-thickness: 2px; }

.page-preview .strip-dot {
  background: #f2a33c;
  border-radius: 50%;
  flex: none;
  height: 7px;
  width: 7px;
}

.page-preview[data-state="live"] .strip-dot { background: #43c489; }


studio-signpost {
  align-items: center;
  background: rgb(26 69 196 / .04);
  border: 1px dashed rgb(26 69 196 / .45);
  border-radius: 8px;
  color: #1a45c4;
  cursor: pointer;
  display: flex;
  font: 500 13px/1.45 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  justify-content: center;
  margin-top: 1.75rem;
  min-height: 3.25rem;
  padding: .8rem 1rem;
  text-align: center;
}

studio-signpost:hover { background: rgb(26 69 196 / .09); }

studio-signpost:focus-visible {
  outline: 2px solid #1a45c4;
  outline-offset: 2px;
}

event-notes {
  display: block;
  margin: 1.5rem 0 2rem;
  max-width: 72ch;
}

content-place { display: block; }

event-notes p { margin: 0 0 .75rem; }

event-notes h1,
event-notes h2,
:is(.pro-card, .classic-card, body.buyer-journey) event-notes h1,
:is(.pro-card, .classic-card, body.buyer-journey) event-notes h2 {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 1.25rem 0 .5rem;
}

event-notes h2,
:is(.pro-card, .classic-card, body.buyer-journey) event-notes h2 { font-size: 1rem; }

event-notes ol,
event-notes ul { margin: 0 0 .75rem; padding-left: 1.25rem; }

event-notes li { margin: 0 0 .3rem; }

event-notes > :first-child,
:is(.pro-card, .classic-card, body.buyer-journey) event-notes > :first-child { margin-top: 0; }
event-notes > :last-child,
:is(.pro-card, .classic-card, body.buyer-journey) event-notes > :last-child { margin-bottom: 0; }

event-notes a:not(.button) {
  text-decoration: underline;
  text-underline-offset: 2px;
}

event-notes a:not(.button):hover { text-decoration-thickness: 2px; }

p.sp-button-row { display: flex; flex-direction: column; gap: .6rem; }
p.sp-button-row > a.button { margin: 0; }
p.sp-button-row[data-layout="side"] { flex-flow: row wrap; }
p.sp-button-row[data-layout="side"] > a.button { flex: 1 1 12rem; width: auto; }

site-header { align-items: center; display: flex; gap: 1.5rem; padding: .75rem 1.25rem; position: relative; }
site-header .site-logo { flex-shrink: 0; margin-inline-end: auto; }
:is(site-header, site-footer) .site-logo img { display: block; height: auto; max-height: 3rem; max-width: min(18rem, 60vw); }
site-header > nav { flex: 1; }
site-header nav ul { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: flex-end; list-style: none; margin: 0; padding: 0; }
site-action { flex-shrink: 0; }
:where(site-header, site-footer) a { color: inherit; }
body:has(> site-header) .lang-switch { margin: 0 var(--bj-pad, 1.25rem) .55rem auto; position: relative; right: auto; top: auto; width: max-content; }
body:has(> site-header) .lang-switch ~ .lang-switch { top: auto; }
site-action a { border: 1px solid currentColor; border-radius: 999px; display: inline-block; padding: .45rem 1rem; text-decoration: none; }

details.site-menu { display: none; position: relative; z-index: 40; }
details.site-menu > summary { cursor: pointer; display: grid; list-style: none; padding: .5rem; place-items: center; }
details.site-menu > summary::-webkit-details-marker { display: none; }
details.site-menu > nav { background: Canvas; border-radius: .75rem; box-shadow: var(--shadow-menu); color: CanvasText; inset-inline: auto 0; max-width: calc(100vw - 2.5rem); min-width: max(12rem, 40vw); overflow-wrap: anywhere; padding: 1rem 1.25rem; position: absolute; top: calc(100% + .5rem); }
details.site-menu > nav ul { align-items: stretch; flex-direction: column; gap: .75rem; }

site-footer { display: block; padding: 3rem max(1.25rem, (100% - 76rem) / 2) 1.5rem; }
site-footer-head { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; margin-bottom: 2.5rem; }
.site-social { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.site-social a { color: inherit; display: block; }
.site-social svg { display: block; height: 1.5rem; width: 1.5rem; }
site-footer-columns { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); }
site-footer-columns h2 { font-size: 1.05rem; margin: 0 0 .75rem; }
site-footer-columns ul { display: grid; gap: .6rem; list-style: none; margin: 0; padding: 0; }
.site-image { display: block; height: auto; margin-top: 3rem; max-width: 100%; }
.site-note { font-size: .875rem; margin: 2.5rem 0 0; }

.site-sr { border: 0; clip-path: inset(50%); height: 1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }

body.buyer-journey:not([data-embed-sheet]):has(> site-header) { padding-top: 0; }
:where(body.buyer-journey:not([data-embed-sheet])) > site-header { margin: 0 -1.25rem 3rem; }
body.buyer-journey:not([data-embed-sheet]) > .sandbox-strip:has(+ site-header) { margin-bottom: 0; }
body.buyer-journey:not([data-embed-sheet]):has(> site-footer) { padding-bottom: 0; }
:where(body.buyer-journey:not([data-embed-sheet])) > site-footer { margin: 3rem -1.25rem 0; }

@media (max-width: 899px) {
  site-header > nav, site-header > site-action { display: none; }
  details.site-menu { display: block; }
}
@media (max-width: 599px) {
  site-header { flex-wrap: wrap; row-gap: .5rem; }
  site-header .site-logo img { max-width: min(12rem, 45vw); }
  :where(body.buyer-journey:not([data-embed-sheet])) > :is(site-header, site-footer) { margin: 0; }
}
@media print {
  site-header, site-footer { display: none; }
}
body:has(> site-header) > .lang-unoffered { padding-right: 0; }

event-hero {
  background: var(--custom-hero-background, #27272a);
  box-sizing: border-box;
  color: var(--custom-hero-ink, #ffffff);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto minmax(0, 1fr) auto auto minmax(0, 1fr) auto auto;
  min-height: 11rem;
  overflow: hidden;
  padding: 1.25rem 1.5rem;
  position: relative;
}
event-hero::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / -1;
  padding-top: 33.333%;
}
event-hero > .eh-pic {
  block-size: 100%;
  inline-size: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center center;
  position: absolute;
}
event-hero[data-focus="top"] > .eh-pic { object-position: center top; }
event-hero[data-focus="bottom"] > .eh-pic { object-position: center bottom; }
event-hero > .eh-logo {
  align-self: start;
  display: block;
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  max-height: 44px;
  max-width: 160px;
  object-fit: contain;
  position: relative;
}
:is(.pro-card, main) > event-hero > .eh-title {
  align-self: end;
  color: inherit;
  font-family: var(--theme-font-heading, inherit);
  font-size: clamp(1.75rem, 5cqi, 2.4rem);
  font-weight: 400;
  grid-column: 1;
  grid-row: 8;
  justify-self: end;
  line-height: 1.12;
  margin: 0;
  max-width: 85%;
  position: relative;
  text-align: end;
  text-wrap: balance;
}
event-hero[upper] > .eh-title { text-transform: uppercase; }
event-hero[data-place^="top"] > .eh-title { align-self: start; grid-row: 2; }
event-hero[data-place^="center"] > .eh-title { align-self: center; grid-row: 5; }
event-hero[data-place$="left"] > .eh-title { justify-self: start; text-align: start; }
event-hero:is([data-place$="-center"], [data-place="center"]) > .eh-title { justify-self: center; text-align: center; }
event-hero[data-logo^="center"] > .eh-logo { grid-row: 4; }
event-hero[data-logo^="bottom"] > .eh-logo { grid-row: 7; }
event-hero[data-logo$="right"] > .eh-logo { justify-self: end; }
event-hero:is([data-logo$="-center"], [data-logo="center"]) > .eh-logo { justify-self: center; }
event-hero:is([data-place^="top"][data-logo^="top"], [data-place^="center"][data-logo^="center"], [data-place^="bottom"][data-logo^="bottom"]) > .eh-logo { margin-bottom: 0.75rem; }

.pro-card > event-hero { border-radius: var(--custom-card-border-radius, 0) var(--custom-card-border-radius, 0) 0 0; }
body.buyer-journey > main > event-hero {
  border-radius: var(--journey-radius) var(--journey-radius) 0 0;
  margin: 0 calc(var(--bj-pad) * -1) var(--bj-section);
}
@media (max-width: 599px) {
  body.buyer-journey > main > event-hero { border-radius: 0; }
}

event-hero + stub-band { border-radius: 0; }
body.buyer-journey > main > event-hero:has(+ stub-band) { margin-bottom: 0; }

event-hero[data-art="people"]::after {
  background: var(--custom-heading-color);
  content: "";
  inset: 0;
  mask: url(people-pattern.png) 0 0 / 380px, radial-gradient(ellipse 30% 46% at 50% 50%, transparent 45%, #000 85%);
  mask-composite: intersect;
  opacity: .14;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
event-split > event-hero[data-art="people"]::after { mask: url(people-pattern.png) 0 0 / 380px; }
event-split > event-hero[data-art="ruled"] {
  background:
    linear-gradient(90deg, transparent 3rem, color-mix(in srgb, var(--custom-link-color) 80%, transparent) 3rem calc(3rem + 1px), transparent calc(3rem + 1px) calc(3rem + 4px), color-mix(in srgb, var(--custom-link-color) 80%, transparent) calc(3rem + 4px) calc(3rem + 5px), transparent calc(3rem + 5px)),
    repeating-linear-gradient(0deg, color-mix(in srgb, var(--custom-hero-background), #fff 22%) 0 1px, transparent 1px 1.75rem),
    var(--custom-hero-background);
}
:is(.pro-card, main) > event-hero[data-art="people"]:is([data-place$="-center"], [data-place="center"]) > .eh-title::after { margin-inline: auto; }
:is(.pro-card, main) > event-hero[data-art="people"][data-place$="right"] > .eh-title::after { margin-inline-start: auto; }
@media (prefers-contrast: more) {
  event-hero[data-art="people"]::after { display: none; }
}

customer-signed-in {
  display: block;
  font-size: .875rem;
  overflow-wrap: anywhere;
}
customer-signed-in > span:first-child { display: block; }
customer-signed-in a { font-weight: 600; }
customer-signed-in a:focus-visible { border-radius: 4px; outline: 2px solid currentColor; outline-offset: 2px; }

order-rail > customer-signed-in { font-size: var(--bj-support, .875rem); margin-block-end: 1rem; }

[data-purchase-footer] customer-signed-in { margin-block-start: 1.6rem; text-align: center; }
[data-purchase-footer] customer-signed-in a { color: var(--custom-link-color, currentColor); }
.quote-instead + customer-signed-in { margin-block-start: 1rem; }


body[data-embed-sheet] { background: var(--bg, #fff); min-height: 0; padding: 0; }


body[data-embed-sheet] sheet-scroll > main {
  background: none; border-radius: 0; box-shadow: none; margin: 0;
  max-width: none; min-height: 0; padding: 0;
}

body[data-embed-sheet] sheet-scroll > main > footer:not(:has(*)) { margin: 0; }

:root {
  --tito-sheet-full: 520px;
  --tito-sheet-h: 640px;
  --tito-sheet-w: 460px;
  --tito-sheet-wide: 1020px;
  --tito-sheet-wide-at: 1100px;
}

embed-scrim {
  background: color-mix(in srgb, #000 55%, transparent);
  inset: 0; position: fixed; z-index: 0;
}

embed-sheet {
  --sheet-card: var(--journey-card, var(--custom-text-background-color, #fff));
  --sheet-fg: var(--fg, var(--custom-text-color, #30303a));
  --sheet-heading: var(--journey-heading, var(--custom-heading-color, #252535));
  --sheet-line: var(--line, var(--custom-control-border, #e1e1e1));
  --sheet-muted: var(--muted, var(--custom-text-color-muted, #65656d));
  --sheet-radius: var(--journey-radius, var(--custom-card-border-radius, 16px));

  --sheet-edge: 1.5rem;
  --sheet-top: max(var(--sheet-edge), calc((100dvh - var(--tito-sheet-h)) / 2));

  background: var(--sheet-card);
  border-radius: var(--sheet-radius);
  bottom: auto;
  color: var(--sheet-fg);
  display: flex;
  flex-direction: column;
  height: auto;
  left: 0;
  margin: 0 auto;
  max-height: calc(100dvh - var(--sheet-top) - var(--sheet-edge));
  overflow: hidden;
  position: fixed;
  right: 0;
  top: var(--sheet-top);
  width: min(var(--tito-sheet-w), 100%);
  z-index: 1;
}

:where(:root) {
  --custom-step-header-background: initial;
  --custom-step-header-color: initial;
}

body[data-embed-sheet] .es-head {
  --es-corner: .6rem;
  align-items: center;
  background: var(--custom-step-header-background, transparent);
  border-bottom: 1px solid var(--sheet-line);
  display: flex;
  flex: none;
  gap: .5rem;
  min-height: 2.25rem;
  padding: var(--es-corner) var(--es-corner) var(--es-corner) 1.15rem;
}

body[data-embed-sheet] .bj-eyebrow[data-src="content:event.name"] { display: none; }

body[data-embed-sheet].buyer-journey :where(sheet-scroll a:not(.button, change-list > a)) {
  color: var(--sheet-fg);
  text-decoration-line: underline;
}
body[data-embed-sheet].buyer-journey a.back-link { color: var(--sheet-fg); }

body[data-embed-sheet] .bj-eyebrow[data-src="content:event.name"] + .rows { border-top: 0; margin-top: 0; }
body[data-embed-sheet] main > .rows + checkout-cols { margin-block-start: 1.25rem; }
body[data-embed-sheet] order-rail { margin-block-end: 1.5rem; }
body[data-embed-sheet] #checkout-details > h2[data-src="copy:public.checkout.purchaser"] { margin-block-start: 0; }

body[data-embed-sheet] .es-title {
  color: var(--custom-step-header-color, var(--sheet-heading));
  flex: 1;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.3;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

body[data-embed-sheet] .es-back + .es-title {
  border-left: 1px solid var(--sheet-line);
  padding-left: .6rem;
}

body[data-embed-sheet] .es-back {
  align-items: center;
  color: var(--custom-step-header-color, var(--sheet-muted));
  display: inline-flex;
  font-size: .9rem;
  gap: .25rem;
  text-decoration: none;
}

body[data-embed-sheet] button.es-back {
  background: none;
  border: 0;
  cursor: pointer;
  font: inherit;
  font-size: .9rem;
  margin: 0;
  padding: 0;
}

body[data-embed-sheet] .es-back:hover { color: var(--custom-step-header-color, var(--sheet-fg)); }

body[data-embed-sheet] .schedule-change {
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
  margin: 0;
  padding: 0;
  text-decoration: underline;
}
body[data-embed-sheet] .es-back:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

body[data-embed-sheet] button.es-back.busy,
body[data-embed-sheet] button.schedule-change.busy { color: transparent; }

body[data-embed-sheet] embed-sheet > checkout-admission {
  border-bottom: 1px solid var(--sheet-line);
  padding: .6rem 1.15rem;
}

body[data-embed-sheet] .es-close {
  align-items: center;
  border-radius: 999px;
  color: var(--custom-step-header-color, var(--sheet-muted));
  display: flex;
  flex: none;
  height: 2.25rem;
  justify-content: center;
  margin-left: auto;
  text-decoration: none;
  width: 2.25rem;
}

body[data-embed-sheet] .es-close:hover { background: color-mix(in srgb, var(--custom-step-header-color, var(--sheet-fg)) 8%, transparent); color: var(--custom-step-header-color, var(--sheet-fg)); }

body[data-embed-sheet] .es-close:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }

body[data-embed-sheet] .js [data-addon-for],
body[data-embed-sheet] li[data-addon-for] { display: list-item; }

body[data-embed-sheet] .review-lines { margin: 0 0 1rem; }

body[data-embed-sheet] .review-line {
  border-bottom: 1px solid var(--sheet-line);
  display: flex;
  font-size: var(--bj-support, .875rem);
  gap: 1rem;
  justify-content: space-between;
  padding: .5rem 0;
}

body[data-embed-sheet] .review-line dt { min-width: 0; }
body[data-embed-sheet] .review-line dd { flex: none; font-variant-numeric: tabular-nums; margin: 0; }
body[data-embed-sheet] .review-qty { color: var(--sheet-muted); }

body[data-embed-sheet] .review-total {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 0 1.25rem;
}

body[data-embed-sheet] .review-total > span { font-weight: 600; }
body[data-embed-sheet] .review-total strong { font-size: var(--bj-display, 1.35rem); font-variant-numeric: tabular-nums; }

body[data-embed-sheet] .review-total:has(+ checkout-bar) { margin-bottom: 0; }

body[data-embed-sheet] .pro-form-footer {
  margin: 1rem -1.15rem 0;
  padding: 1rem 1.15rem;
}

sheet-scroll {
  --bj-pad: 1.15rem;
  container: sheet / inline-size;
  display: block;
  flex: 0 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1.15rem;
  scroll-padding-block: 1rem 8rem;
}


body[data-embed-sheet] sheet-scroll > main { container-type: inline-size; }

@container sheet (min-width: 700px) {
  body[data-embed-sheet] sheet-scroll > *,
  body[data-embed-sheet] sheet-scroll > main { margin-inline: auto; max-width: 640px; }
  body[data-embed-sheet] sheet-scroll > :is(main:has(order-rail), form:has(.purchase-cols[data-priced]), form:has(review-extras)) { max-width: none; }
}

review-cols, review-extras, review-foot { display: block; }

@container sheet (min-width: 900px) {
  review-cols:has(> review-extras) {
    align-items: start;
    column-gap: 1.75rem;
    display: grid;
    grid-template-areas: "extras lines" "extras foot";
    grid-template-columns: minmax(0, 1fr) 22rem;
    grid-template-rows: auto 1fr;
  }
  review-cols:has(> review-extras) > .review-lines { grid-area: lines; }
  review-cols > review-extras { grid-area: extras; min-width: 0; }
  review-cols:has(> review-extras) > review-foot { grid-area: foot; }
  review-extras > .review-more:first-child { margin-top: 0; }
}

@container sheet (min-width: 900px) {
  body[data-embed-sheet] main:has(order-rail) checkout-side { max-block-size: calc(var(--sheet-scroll-h, 100dvh - var(--sheet-top) - var(--sheet-edge) - 8rem) - 2.5rem - var(--checkout-bar-room, 0px)); top: 1.25rem; }
}

body[data-embed-sheet] .es-foot {
  align-items: center;
  border-top: 1px solid var(--sheet-line);
  display: flex;
  flex: none;
  font-size: .8rem;
  gap: .75rem;
  justify-content: space-between;
  line-height: 1.25rem;
  margin-top: auto;
  padding: .7rem 1.15rem;
}

body[data-embed-sheet] .es-out { color: var(--sheet-muted); text-decoration-color: var(--sheet-line); }
body[data-embed-sheet] .es-secured { align-items: center; color: var(--sheet-muted); display: flex; gap: .3rem; }
body[data-embed-sheet] .es-secured a { color: inherit; text-decoration: none; }
body[data-embed-sheet] .es-secured svg { flex: none; }

:root[data-framed] embed-sheet {
  height: auto;
  max-height: 100%;
  min-height: 100%;
  top: 0;
  width: 100%;
}
:root[data-framed] embed-scrim { display: none; }

@media (max-width: 520px) {
  :root:not([data-framed]) embed-sheet { border-radius: 0; max-height: 100%; min-height: 100%; top: 0; width: 100%; }
  :root:not([data-framed]) embed-scrim { display: none; }
}

@media (min-width: 1100px) {
  :root:not([data-framed]) embed-sheet { width: min(var(--tito-sheet-wide), 100% - 3rem); }
}

@media (prefers-reduced-motion: no-preference) {
  body[data-embed-sheet] .es-head { view-transition-name: sheet-head; }
  body[data-embed-sheet] .es-foot { view-transition-name: sheet-foot; }
  body[data-embed-sheet] sheet-scroll { view-transition-name: sheet-body; }
  body[data-embed-sheet] sheet-scroll checkout-bar { view-transition-name: sheet-bar; }

  @container sheet (min-width: 900px) {
    body[data-embed-sheet] main:has(order-rail) checkout-side { view-transition-name: sheet-side; }
  }

  ::view-transition-group(*) {
    animation-duration: 250ms;
    animation-timing-function: var(--sheet-slide-ease);
  }
  ::view-transition-image-pair(sheet-body) { overflow: clip; }
  ::view-transition-old(sheet-body) { animation: 250ms var(--sheet-slide-ease) both sheet-out-left; }
  ::view-transition-new(sheet-body) { animation: 250ms var(--sheet-slide-ease) both sheet-in-right; }
  :root[data-dir="back"]::view-transition-old(sheet-body) { animation-name: sheet-out-right; }
  :root[data-dir="back"]::view-transition-new(sheet-body) { animation-name: sheet-in-left; }
}

:root { --sheet-slide-ease: cubic-bezier(.32, .72, 0, 1); }

@keyframes sheet-out-left { to { transform: translateX(-100%); } }
@keyframes sheet-in-right { from { transform: translateX(100%); } }
@keyframes sheet-out-right { to { transform: translateX(100%); } }
@keyframes sheet-in-left { from { transform: translateX(-100%); } }

:root {
  --sheet-bar-lead: 1.25rem;
  --sheet-bar-pad: .9rem;
}

body[data-embed-sheet] sheet-scroll checkout-bar {
  align-items: center;
  background: var(--sheet-card);
  border-top: 1px solid var(--sheet-line);
  bottom: calc(var(--bj-pad) * -1);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: var(--sheet-bar-lead) calc(var(--bj-pad) * -1) calc(var(--bj-pad) * -1);
  padding: var(--sheet-bar-pad) var(--bj-pad);
  position: sticky;
  z-index: 3;
}

body[data-embed-sheet] sheet-scroll checkout-bar button[type=submit]:not(:where([data-checkout-button])),
:where(body[data-embed-sheet] sheet-scroll checkout-bar) [data-checkout-button] {
  border: 1px solid transparent;
  font-size: .95rem;
  inline-size: 100%;
  line-height: 1.4;
  margin: 0;
  padding: .7rem 1.2rem;
}

:root[data-framed]:not([data-sheet-measuring]) embed-sheet:has(checkout-bar) { height: 100%; }
@media (max-width: 520px) {
  :root:not([data-framed]):not([data-sheet-measuring]) embed-sheet:has(checkout-bar) { height: 100%; }
}
:root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll:has(checkout-bar) { flex: 1 1 auto; }

@container sheet (max-width: 899.98px) {
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll > :has(checkout-bar) {
    min-block-size: 100%;
  }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(checkout-bar):not(checkout-side, [hidden]) {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
  }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(> checkout-bar)::after {
    content: "";
    flex: 1 0 0;
    order: 98;
  }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll checkout-bar { order: 99; }

  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(checkout-bar):not(checkout-side, [hidden]) > :is(p, h1, h2, h3, div, section, header, callout, ul, ol, dl, table, details, nav):has(+ form:not([hidden]) > :is(h2, fieldset, .bj-field):first-of-type) { margin-block-end: 0; }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(checkout-bar):not(checkout-side, [hidden]) > p:has(+ :is(.rows, callout)) { margin-block-end: 0; }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(checkout-bar):not(checkout-side, [hidden]) > callout + p { margin-block-start: 0; }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(checkout-bar):not(checkout-side, [hidden]) > h1 + p { margin-block-start: 0; }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(checkout-bar):not(checkout-side, [hidden]) > p:has(+ h2) { margin-block-end: 0; }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(checkout-bar):not(checkout-side, [hidden]) > h2 + p { margin-block-start: 0; }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(checkout-bar):not(checkout-side, [hidden]) > p + p { margin-block-start: 0; }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll :has(checkout-bar):not(checkout-side, [hidden]) > h2:has(+ .rows) { margin-block-end: 0; }
  :root:not([data-sheet-measuring]) body[data-embed-sheet] sheet-scroll review-cols > .review-lines:has(+ review-extras) { margin-block-end: 0; }
}

@container sheet (min-width: 900px) {
  body[data-embed-sheet] main:has(order-rail) checkout-bar,
  body[data-embed-sheet] review-cols:has(> review-extras) checkout-bar {
    background: none;
    border-top: 0;
    margin: 1rem 0 0;
    padding: 0;
    position: static;
  }
  @supports (anchor-name: --a) {
    body[data-embed-sheet] main:has(order-rail) checkout-cols > checkout-bar { bottom: auto; position: absolute; }
    body[data-embed-sheet] main:has(order-rail) checkout-cols[data-side-measured] > checkout-bar {
      margin-block-start: calc(var(--checkout-side-h) + 1rem);
      position: sticky;
    }
  }
}

body[data-embed-sheet] sheet-scroll checkout-bar[hidden] { display: none; }

.sandbox-pill {
  background: light-dark(#fcf5df, #34291f);
  border-radius: 999px;
  color: light-dark(#8a5200, #f2a33c);
  flex: none;
  font: 550 11.5px/1.5 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  letter-spacing: normal;
  margin: 0;
  padding: .16rem .6rem;
  white-space: nowrap;
  width: fit-content;
}

.sandbox-pill-say,
[data-sandbox-outside] .sandbox-pill {
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

body[data-embed-sheet] .es-leave {
  background: var(--sheet-card);
  border: 1px solid var(--sheet-line);
  border-radius: 14px;
  box-shadow: var(--shadow-modal);
  color: var(--sheet-fg);
  inline-size: min(20rem, calc(100% - 2rem));
  padding: 1.75rem 1.5rem 1.25rem;
  text-align: center;
}

body[data-embed-sheet] .es-leave::backdrop { background: rgb(0 0 0 / .4); }

body[data-embed-sheet] .es-leave p {
  color: var(--sheet-heading);
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 1.5rem;
  text-wrap: balance;
}

body[data-embed-sheet] .es-leave-acts {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

body[data-embed-sheet] .es-leave-acts button {
  background: transparent;
  border: 1px solid var(--sheet-line);
  border-radius: var(--button-radius, var(--custom-button-radius, 8px));
  color: var(--sheet-muted);
  cursor: pointer;
  font: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
  min-block-size: 2.75rem;
  padding: .7rem 1rem;
}

body[data-embed-sheet] .es-leave-acts button:hover { color: var(--sheet-fg); }

body[data-embed-sheet] .es-leave-acts [data-embed-stay],
body[data-embed-sheet] .es-leave-acts [data-embed-stay]:hover {
  background: var(--accent, var(--custom-button-background-color, #30303a));
  color: var(--accent-fg, var(--custom-button-text-color, #fff));
}

body[data-embed-sheet] .es-leave-acts button:focus-visible {
  outline: 2px solid var(--sheet-fg);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: no-preference) {
  body[data-embed-sheet] .es-leave[open] { animation: es-leave-in 180ms cubic-bezier(.32, .72, 0, 1); }
  body[data-embed-sheet] .es-leave[open]::backdrop { animation: es-leave-dim 180ms ease-out; }
}

@keyframes es-leave-in { from { opacity: 0; transform: translateY(.5rem) scale(.97); } }
@keyframes es-leave-dim { from { opacity: 0; } }

widget-header {
  display: block;
  margin: 0 0 1.25rem;
}

widget-header:has(> .wh-title, > widget-meta) {
  border-bottom: 1px solid var(--hairline, var(--divider-color, color-mix(in srgb, currentColor 15%, transparent)));
  padding-bottom: 1rem;
}

widget-header > .wh-banner {
  background: color-mix(in srgb, currentColor 6%, transparent);
  display: block;
  height: auto;
  margin: -1.15rem -1.15rem 1rem;
  max-height: 14rem;
  max-width: none;
  object-fit: cover;
  width: calc(100% + 2.3rem);
}

widget-header > .wh-banner:last-child { margin-bottom: 0; }

tito-embed:not([data-shape="button"]) > .embed-body > widget-header > .wh-banner {
  border-radius: calc(var(--journey-radius, 12px) - 1px) calc(var(--journey-radius, 12px) - 1px) 0 0;
}

:root:not([data-sandbox-outside]) tito-embed:not([data-shape="button"]):has(> embed-head > .sandbox-pill) > .embed-body > widget-header > .wh-banner {
  border-radius: 0;
  margin-top: 0;
}

body[data-embed-sheet] sheet-scroll > widget-header { max-width: none; }

widget-header > h2.wh-title {
  border: 0;
  color: var(--custom-heading-color, inherit);
  font-family: var(--theme-font-heading, inherit);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.25;
  margin: 0 0 .6rem;
  overflow-wrap: anywhere;
  padding: 0;
}

widget-header > h2.wh-title:last-child { margin-bottom: 0; }

widget-header > h2.wh-title::after,
widget-header > h2.wh-title::before { content: none; }

widget-meta {
  color: var(--custom-text-color-muted, inherit);
  display: grid;
  font-size: .9rem;
  gap: .4rem;
  line-height: 1.4;
}

widget-meta > p {
  align-items: flex-start;
  display: flex;
  gap: .5rem;
  margin: 0;
  min-width: 0;
}

widget-meta > p > :is(svg, .pin) {
  display: block;
  flex: none;
  height: 1em;
  margin-top: .2em;
  width: 1em;
}

widget-meta .pin > svg { display: block; height: 100%; width: 100%; }

widget-meta > p > span {
  display: grid;
  gap: .1rem;
  min-width: 0;
  overflow-wrap: anywhere;
}

widget-meta .wh-venue { color: var(--custom-text-color, inherit); }

widget-meta a.wh-address {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .15em;
}

widget-meta a.wh-address:hover { color: var(--custom-text-color, inherit); }

widget-meta .wh-address .ext {
  display: inline-block;
  height: .8em;
  margin-left: .25em;
  vertical-align: -.05em;
  width: .8em;
}

widget-meta .wh-address .ext > svg { display: block; height: 100%; width: 100%; }


[data-doc] {
  --doc-ink: #1a1a1a;
  --doc-line: #e4e4e7;
  --doc-paper: #ffffff;
  --doc-muted: #686868;
  --doc-faint: color-mix(in srgb, var(--doc-ink) 7%, var(--doc-paper));
  background: var(--doc-paper);
  color: var(--doc-ink);
  font-family: var(--doc-font, "Helvetica Neue", Arial, "Liberation Sans", "Noto Sans", sans-serif);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  line-height: 1.55;
  padding: 3rem 2.75rem;
}

@media (max-width: 34rem) {
  [data-doc] { padding: 1.75rem 1.25rem; }
}

[data-doc] .muted { color: var(--doc-muted); }


[data-doc] doc-status {
  align-items: baseline;
  display: flex;
  gap: .6rem;
  margin: 0 0 2.5rem;
}
[data-doc] .ds-disc { display: none; }
[data-doc] .ds-say { flex: 1; }
[data-doc] .ds-word {
  border: 1px solid var(--doc-ink);
  display: inline-block;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .08em;
  padding: .22rem .5rem;
  text-transform: uppercase;
}
[data-doc] .ds-meta { color: var(--doc-muted); font-size: .8125rem; margin-left: .5rem; }
[data-doc] .ds-amount { font-size: 1.0625rem; font-weight: 600; }


[data-doc] .doc-head {
  display: flex;
  gap: 2.5rem;
  justify-content: space-between;
  margin: 0 0 2.5rem;
}
[data-doc] .doc-head h1 {
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 .2rem;
}
[data-doc] .doc-head p { margin: 0; }
[data-doc] .bj-eyebrow {
  color: var(--doc-muted);
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: 0;
  margin: 0 0 .3rem;
  text-transform: none;
}
[data-doc] .doc-seller {
  max-width: 22rem;
  text-align: right;
}
[data-doc] .doc-seller strong {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 .2rem;
}
[data-doc] .doc-addr {
  color: var(--doc-ink);
  display: block;
  white-space: pre-line;
}
[data-doc] .doc-gap { display: block; }


[data-doc] .doc-grid {
  display: grid;
  gap: 1.25rem 2.5rem;
  grid-template-columns: 2fr 1fr 1fr;
  margin: 0 0 2.5rem;
}
@media (max-width: 34rem) {
  [data-doc] .doc-grid { grid-template-columns: 1fr 1fr; }
}
[data-doc] .doc-grid h3,
[data-doc] .doc-grid .k {
  color: var(--doc-muted);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .06em;
  margin: 0 0 .15rem;
  text-transform: uppercase;
}
[data-doc] .doc-grid h3 + .dg-v + h3 { margin-top: 1.25rem; }
[data-doc] .dg-v { margin: 0 0 .1rem; white-space: pre-line; }
[data-doc] .dg-v .muted { display: block; }


[data-doc] .doc-items {
  border-top: 1px solid var(--doc-ink);
  margin: 0 0 1.5rem;
}
[data-doc] .doc-item {
  align-items: baseline;
  border-bottom: 1px solid var(--doc-line);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding: .65rem 0;
}
[data-doc] .doc-item:last-child { border-bottom: 0; }
[data-doc] .doc-part { color: var(--doc-muted); }
[data-doc] .doc-part .di-name { padding-left: 1.1rem; }
[data-doc] .doc-item:has(+ .doc-part) { border-bottom: 0; }
[data-doc] .di-name { flex: 1; }
[data-doc] .di-qty { color: var(--doc-muted); white-space: nowrap; }
[data-doc] .di-sub { color: var(--doc-muted); display: block; font-size: .8125rem; }
[data-doc] .di-amount { font-weight: 500; white-space: nowrap; }
[data-doc] .doc-refunded .di-name { text-decoration: line-through; }


[data-doc] .doc-totals {
  margin-left: auto;
  max-width: 20rem;
}
[data-doc] .dt-line,
[data-doc] .dt-grand {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
}
[data-doc] .dt-line { padding: .3rem 0; }
[data-doc] .dt-amount { white-space: nowrap; }
[data-doc] .dt-grand {
  align-items: baseline;
  border-bottom: 3px double var(--doc-ink);
  border-top: 1px solid var(--doc-ink);
  font-size: 1rem;
  font-weight: 600;
  margin-top: .5rem;
  padding: .65rem 0;
}
[data-doc] .dt-grand span:last-child { font-size: 1.375rem; }


[data-doc] .doc-lines .row {
  align-items: baseline;
  border-bottom: 1px solid var(--doc-line);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding: .7rem 0;
}
[data-doc] .doc-lines .grow { flex: 1; }
[data-doc] .doc-lines .price { white-space: nowrap; }
[data-doc] .doc-lines { border-top: 1px solid var(--doc-ink); }
[data-doc] .doc-lines .row:last-child { border-bottom: 0; }
[data-doc] .doc-total {
  align-items: baseline;
  border-bottom: 3px double var(--doc-ink);
  border-top: 1px solid var(--doc-ink);
  display: flex;
  font-weight: 600;
  gap: 2rem;
  justify-content: space-between;
  margin-left: auto;
  margin-top: .5rem;
  max-width: 20rem;
  padding: .65rem 0;
}
[data-doc] .doc-total strong { font-size: 1.375rem; }


[data-doc] .paydet {
  background: var(--doc-faint);
  margin: 2rem 0 0;
  padding: 1rem 1.15rem;
}
[data-doc] .paydet .pr {
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding: .2rem 0;
}
[data-doc] .paydet .k { color: var(--doc-ink); }
[data-doc] .ticket { letter-spacing: .02em; }
[data-doc] .doc-legal,
[data-doc] .doc-tax {
  color: var(--doc-muted);
  font-size: .8125rem;
  margin: 1.5rem 0 0;
}
[data-doc] :is(doc-invoice, doc-receipt, doc-refund, doc-header, doc-from, doc-to, doc-lines, doc-totals, doc-legal, doc-payment, doc-foot) {
  display: block;
}
[data-doc] .doc-foot {
  border-top: 1px solid var(--doc-line);
  color: var(--doc-muted);
  font-size: .8125rem;
  margin: 2rem 0 0;
  overflow-wrap: anywhere;
  padding: 1rem 0 0;
  white-space: pre-line;
}


body.buyer-journey > main:has(> doc-preview) { max-width: 48rem; }

doc-top {
  display: flex;
  justify-content: flex-end;
}
doc-top .bj-actions { margin: 0; }

doc-preview {
  border: 1px solid var(--line);
  border-radius: var(--bj-radius-sm, 5px);
  display: block;
  margin: .75rem 0 0;
  overflow: hidden;
}
doc-preview [data-doc] { display: block; }
body.buyer-journey doc-preview [data-doc] a.back-link { display: none; }


a, area, button, label, select, summary, textarea,
input:not([type="range"]), [role="button"], [role="tab"] {
  touch-action: manipulation;
}

@media (pointer: coarse) {
  input:not([type="checkbox"], [type="radio"], [type="file"], [type="hidden"],
    [type="submit"], [type="button"], [type="reset"], [type="image"],
    [type="range"], [type="color"]),
  textarea, select { font-size: max(16px, var(--field-fs, 1em)) !important; }
}

