/* Registration extends the established blue sections and Manrope tokens. */
/* The standalone checkout uses the same field, pill and ticket vocabulary. */
.checkout-page{min-height:100vh;background:var(--ink);color:var(--white);background-image:radial-gradient(ellipse at 95% 5%,#4f72bb 0,transparent 60%),linear-gradient(145deg,#152a69,#284799)}
.checkout-wrap{max-width:1160px;width:calc(100% - 80px);margin-inline:auto}
.checkout-header{padding-block:32px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.checkout-back,.checkout-brand{font-size:14px;text-decoration:none;text-underline-offset:5px}
.checkout-back:hover,.checkout-brand:hover{text-decoration:underline}
.checkout-brand{font-weight:700}
.checkout-eyebrow{margin-top:32px;font-size:14px;color:#ffffffc9}
.checkout-page h1{font-size:clamp(48px,6vw,80px);font-weight:400;line-height:1.1;letter-spacing:-.04em;margin:16px 0}
.checkout-lead{font-size:19px;line-height:1.6;color:#ffffffdf}
.checkout-service-note{font-size:13px;line-height:1.7;color:#ffffffcc;max-width:740px;margin-top:12px;min-height:23px}
.checkout-methods{border:0;padding:0;margin:36px 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}
.checkout-method{display:flex;align-items:center;gap:16px;padding:24px;border:1px solid #ffffff52;border-radius:var(--radius-card);position:relative;background:#ffffff09;cursor:pointer}
.checkout-method:hover{background:#ffffff12;border-color:#ffffffae}
.checkout-method:active{background:#ffffff1f}
.checkout-method:has(input:checked){background:var(--white);border-color:var(--white);color:var(--ink)}
.checkout-method input{position:absolute;opacity:0;width:1px;height:1px}
.checkout-method:has(input:focus-visible){outline:2px solid var(--white);outline-offset:5px}
.checkout-method strong{display:block;font-size:20px;font-weight:600;line-height:1.3}
.checkout-method small{display:block;margin-top:7px;font-size:12px;line-height:1.6;opacity:.85}
.checkout-radio{width:20px;height:20px;flex:0 0 20px;border:1px solid currentColor;border-radius:50%}
.checkout-method:has(input:checked) .checkout-radio{border-width:6px}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px;align-items:start}
.checkout-content{min-width:0}
.checkout-section{margin-bottom:28px;min-width:0}
.checkout-section h2{font-size:27px;line-height:1.3;font-weight:500;letter-spacing:-.02em}
.checkout-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.checkout-section-heading>span{font-size:12px;white-space:nowrap;border:1px solid #ffffff66;padding:7px 12px;border-radius:30px}
.checkout-help{font-size:13px;line-height:1.7;color:#ffffffd2;margin:12px 0 24px}
.checkout-help a{display:block;margin-top:8px;text-underline-offset:4px}
.checkout-help a:hover{color:var(--white)}
.checkout-fieldset{border:0;padding:0;margin:0;min-width:0}
.checkout-person{padding:24px 24px 6px;background:#ffffff0c;border:1px solid #ffffff28;border-radius:var(--radius-card);margin-bottom:18px}
.checkout-person-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}
.checkout-person-heading h3{font-size:17px;font-weight:500}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.checkout-wide{grid-column:1/-1}
.checkout-field{min-width:0}
.checkout-field label{display:block;font-size:12px;line-height:1.6;color:#fffffff0}
.checkout-field label span{color:#ffffffb0;font-size:10px}
.checkout-field input{display:block;width:100%;min-width:0;min-height:48px;background:transparent;color:var(--white);border:0;border-bottom:1px solid #ffffff80;border-radius:0;padding:10px 0;font:inherit;font-size:16px;line-height:1.5}
.checkout-field input::placeholder{color:#ffffff8c}
.checkout-field input:focus-visible{outline:none;border-bottom-color:var(--white);box-shadow:0 1px 0 var(--white)}
.checkout-field input[aria-invalid=true]{border-color:#ffd7df}
.checkout-error{display:block;min-height:22px;font-size:11px;line-height:1.5;padding-top:4px;color:#ffd7df}
.checkout-add-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.checkout-secondary{border:1px solid #ffffff80;color:var(--white);background:transparent;border-radius:var(--radius-button);min-height:48px;padding:12px 22px;font:inherit;font-size:13px;cursor:pointer}
.checkout-secondary:hover{background:#ffffff14;border-color:var(--white)}
.checkout-link{border:0;background:transparent;color:inherit;padding:10px 0;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.checkout-link:hover{text-decoration-thickness:2px}
.checkout-consent{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.7;margin-top:16px;cursor:pointer}
.checkout-consent input{width:20px;height:20px;margin:1px 0 0;flex:0 0 20px;accent-color:var(--purple);cursor:pointer}
.checkout-consent a{text-underline-offset:3px}
.checkout-actions{display:flex;justify-content:flex-end;margin:28px 0 0}
.checkout-actions .button,.checkout-submit{min-height:56px;min-width:260px;font-size:15px}
.checkout-submit{margin-top:18px;max-width:100%;white-space:normal}
.checkout-page :is(a,button,input):focus-visible{outline:2px solid var(--white);outline-offset:4px}
.checkout-page .checkout-field input:focus-visible{outline:none}
.checkout-review{border:1px solid #ffffff33;border-radius:var(--radius-card);padding:28px}
.checkout-review h2:focus{outline:none}
.checkout-review dl{margin:24px 0 30px}
.checkout-review dl div{display:grid;grid-template-columns:125px 1fr;gap:16px;margin:16px 0;font-size:14px;line-height:1.6}
.checkout-review dt{color:#ffffffbf;font-size:12px}.checkout-review dd{margin:0;overflow-wrap:anywhere}
.checkout-status{font-size:13px;line-height:1.7;color:#ffd7df;min-height:26px;margin-top:16px}
.checkout-summary{position:sticky;top:28px;background:var(--card);color:var(--ink);border-radius:var(--radius-card);padding:30px}
.checkout-ticket-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
.checkout-summary h2{font-size:35px;line-height:1.1;font-weight:500;letter-spacing:-.03em}
.checkout-ticket-date{margin-top:24px;font-size:17px;font-weight:600}
.checkout-ticket-venue{font-size:12px;line-height:1.7;margin-top:8px;color:#535e81}
.checkout-summary dl{margin:30px 0 24px;font-size:12px;line-height:1.6}
.checkout-summary dl div{display:flex;justify-content:space-between;gap:10px;margin:14px 0}
.checkout-summary dd{margin:0;white-space:nowrap;font-weight:600}
.checkout-ticket-total{border-top:1px dashed #252d5866;padding-top:22px}
.checkout-ticket-total span{display:block;font-size:12px;margin-bottom:8px}
.checkout-ticket-total strong{font-size:36px;font-weight:500;line-height:1.2;letter-spacing:-.03em}
.checkout-ticket-note{font-size:11px;line-height:1.7;color:#535e81;margin-top:16px}
.checkout-ticket-payment{border-top:1px solid #252d5822;padding-top:20px;margin-top:20px;font-size:12px;font-weight:600}
.checkout-ticket-contact{font-size:11px;line-height:1.8;margin-top:20px;color:#535e81}
.checkout-summary a:focus-visible{outline-color:var(--ink)}
.checkout-footer{margin-top:70px;padding-block:30px;display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid #ffffff33;font-size:11px;line-height:1.6;color:#ffffffbf}
.checkout-footer a{text-underline-offset:4px}
.registration-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;text-align:left}
.registration-choice{display:block;color:var(--white);padding:26px;border:1px solid #ffffff70;border-radius:var(--radius-card);text-decoration:none;background:#ffffff09}
.registration-choice strong{display:flex;justify-content:space-between;gap:16px;font-size:22px;font-weight:500}
.registration-choice span{display:block;font-size:13px;line-height:1.6;margin-top:12px;color:#ffffffd2}
.registration-choice:hover{background:#ffffff19;border-color:var(--white)}
.registration-choice:active{background:#ffffff27}
@media(max-width:1000px){.checkout-layout{grid-template-columns:minmax(0,1fr) 285px;gap:28px}.checkout-summary{padding:24px}.checkout-method strong{font-size:18px}}
@media(max-width:800px){.checkout-wrap{width:calc(100% - 40px)}.checkout-header{padding-block:24px}.checkout-brand{font-size:12px}.checkout-back{font-size:12px}.checkout-eyebrow{margin-top:24px}.checkout-lead{font-size:16px}.checkout-methods{grid-template-columns:1fr;margin:28px 0;gap:12px}.checkout-method{padding:20px}.checkout-layout{grid-template-columns:1fr;gap:24px}.checkout-summary{position:static}.checkout-fields{grid-template-columns:1fr;gap:8px}.checkout-person{padding:20px 18px 4px}.checkout-section h2{font-size:25px}.checkout-section-heading>span{font-size:11px}.checkout-review{padding:22px}.checkout-review dl div{grid-template-columns:1fr;gap:3px}.checkout-actions .button,.checkout-submit{width:100%;min-width:0}.checkout-footer{gap:14px 20px;margin-top:40px}.registration-choices{grid-template-columns:1fr}.registration-choice strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.checkout-page{background-attachment:scroll}}
@media(forced-colors:active){.checkout-method:has(input:checked){outline:2px solid Highlight}.checkout-method,.checkout-person,.checkout-summary,.checkout-review{border:1px solid CanvasText}.checkout-field input{border-bottom:1px solid CanvasText}.checkout-page :is(a,button,input):focus-visible{outline-color:Highlight}.checkout-radio{forced-color-adjust:none;background:Canvas;color:CanvasText}}
.registration { min-height: 1000px; padding: 110px 40px 72px; }
.registration-shell { position: relative; max-width: 1160px; margin-inline: auto; }
.registration-intro { text-align: center; font-size: 18px; margin: 20px 0 16px; color: #ffffffd9; }
.registration-preview { margin: 0 auto 48px; text-align: center; font-size: 12px; line-height: 1.6; color: #ffffffc4; }
.registration-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 64px; align-items: start; }
.registration .registration-form { margin: 0; width: 100%; min-width: 0; }
.registration-steps { list-style: none; display: grid; grid-template-columns: repeat(3,1fr); padding: 0; margin: 0 0 44px; border-bottom: 1px solid #ffffff40; }
.registration-steps button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 0 0 17px; color: #ffffff94; border: 0; border-bottom: 2px solid transparent; background: none; font-size: 15px; text-align: left; }
.registration-steps button span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid currentColor; border-radius: 50%; flex-shrink: 0; font-size: 12px; }
.registration-steps button[aria-current=step] { color: var(--white); border-bottom-color: var(--white); }
.registration-steps button[aria-current=step] span { color: var(--ink); background: var(--white); border-color: var(--white); }
.registration-steps button:disabled { opacity: .65; }
.registration-steps button:hover:not(:disabled) { color: var(--white); }
.registration-step h3, .registration-review h3 { font-size: 28px; line-height: 1.3; font-weight: 500; margin: 0; }
.registration-step h3:focus, .registration-review h3:focus { outline: none; }
.registration-help { font-size: 13px; line-height: 1.65; color: #ffffffbf; margin: 12px 0 28px; }
.registration-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 28px; }
.registration-field-wide { grid-column: 1/-1; }
.registration-field { min-width: 0; margin-bottom: 6px; }
.registration-field label { display: block; font-size: 12px; line-height: 1.6; color: #ffffffed; }
.registration-field label .optional { font-size: 11px; color: #ffffffa8; margin-left: 4px; }
.registration-field :is(input,textarea) { display: block; width: 100%; min-width: 0; border: 0; border-bottom: 1px solid #ffffff80; border-radius: 0; color: var(--white); background: transparent; padding: 12px 0; font: inherit; font-size: 15px; line-height: 1.5; }
.registration-field textarea { resize: none; overflow: hidden; min-height: 78px; }
.registration-field :is(input,textarea)::placeholder { color: #ffffff80; opacity: 1; }
.registration-field :is(input,textarea):focus-visible { outline: none; border-bottom-color: var(--white); box-shadow: 0 1px 0 var(--white); }
.registration-field :is(input,textarea)[aria-invalid=true] { border-color: #ffd7df; }
.registration-error { display: block; min-height: 18px; padding-top: 5px; font-size: 11px; line-height: 1.4; color: #ffd7df; }
.registration-required { color: #ffffff94; font-size: 11px; margin: 4px 0 0; }
.registration-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 30px; }
.registration-actions .button { margin-left: auto; min-width: 220px; min-height: 54px; font-size: 14px; }
.registration-back, .registration-text-button { border: 0; background: none; color: inherit; padding: 10px 0; font: inherit; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.registration-back { text-decoration: none; font-size: 14px; white-space: nowrap; flex-shrink: 0; }
.registration-back:hover, .registration-text-button:hover:not(:disabled) { text-decoration: underline; text-decoration-thickness: 2px; }
.registration-text-button:disabled { visibility: hidden; }
.registration-status { min-height: 24px; margin: 14px 0 0; color: #ffd7df; font-size: 12px; line-height: 1.5; }
.registration-summary { position: sticky; top: 32px; padding: 32px 28px; border-radius: var(--radius-card); background: var(--card); color: var(--ink); }
.summary-date { font-size: 11px; margin: 0 0 24px; }
.registration-summary h3 { font-size: 28px; font-weight: 500; margin: 0 0 12px; }
.summary-venue { font-size: 13px; line-height: 1.6; color: #606784; margin: 0 0 28px; }
.summary-lines { margin: 0; font-size: 12px; }
.summary-lines div { display: flex; gap: 12px; justify-content: space-between; margin: 14px 0; }
.summary-lines dd { margin: 0; text-align: right; flex-shrink: 0; }
.summary-total { border-top: 1px dashed #252d5840; margin-top: 24px; padding-top: 23px; }
.summary-total span { display: block; font-size: 12px; margin-bottom: 8px; }
.summary-total strong { font-size: 30px; font-weight: 500; line-height: 1.3; }
.summary-note { color: #606784; font-size: 11px; line-height: 1.65; margin: 16px 0 22px; }
.summary-payment { border-top: 1px solid #252d5820; padding-top: 20px; margin: 0; font-size: 12px; }
.registration-section-heading { display: flex; align-items: start; gap: 20px; justify-content: space-between; }
.participant-count { padding: 7px 11px; border: 1px solid #ffffff66; border-radius: 30px; white-space: nowrap; font-size: 12px; }
.participant-card { margin: 0 0 18px; padding: 20px 24px 10px; border: 0; border-radius: var(--radius-card); background: #ffffff0f; min-width: 0; }
.participant-card-heading { display: flex; align-items: center; gap: 20px; justify-content: space-between; margin-bottom: 12px; }
.participant-card h4 { margin: 0; font-size: 16px; font-weight: 500; }
.participant-copy { padding-top: 0; }
.participant-details { border-top: 1px solid #ffffff26; margin-top: 12px; }
.participant-details summary { font-size: 12px; padding: 17px 0; }
.participant-details summary:hover { text-decoration: underline; text-underline-offset: 4px; }
.participant-details summary span { font-size: 10px; color: #ffffffa8; margin-left: 6px; }
.participant-add-row { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.participant-add-row .button { min-width: 0; padding: 14px 24px; min-height: 48px; font-size: 13px; }
.payer-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; border: 0; padding: 0; margin: 26px 0; min-width: 0; }
.payer-option { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 22px 20px; border: 1px solid #ffffff5c; border-radius: var(--radius-card); }
.payer-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.payer-option:has(input:checked) { background: #ffffff17; border-color: var(--white); }
.payer-option:hover { border-color: var(--white); }
.payer-option:has(input:focus-visible) { outline: 2px solid var(--white); outline-offset: 4px; }
.payer-option strong { display: block; font-size: 14px; font-weight: 600; }
.payer-option small { display: block; font-size: 11px; color: #ffffffb8; margin-top: 8px; }
.payer-mark { display: block; width: 18px; height: 18px; border: 1px solid #ffffffb8; border-radius: 50%; flex-shrink: 0; }
.payer-option:has(input:checked) .payer-mark { border: 5px solid var(--white); }
.payment-explanation { font-size: 13px; line-height: 1.7; margin: 0 0 28px; color: #ffffffcf; }
.invoice-fields { margin: 0 0 20px; padding: 0; border: 0; min-width: 0; }
.invoice-fields legend { font-size: 17px; margin-bottom: 24px; }
.registration-consent { margin-top: 20px; font-size: 12px; line-height: 1.65; }
.registration-consent label { display: flex; align-items: flex-start; gap: 12px; }
.registration-consent input { appearance: none; width: 18px; height: 18px; flex-shrink: 0; margin: 3px 0 0; border: 1px solid #ffffffa8; border-radius: 3px; }
.registration-consent input:checked { background: var(--white); border-color: var(--white); }
.registration-consent input:checked::after { content: ''; display: block; width: 9px; height: 5px; transform: rotate(-45deg); border: solid var(--ink); border-width: 0 0 2px 2px; margin: 4px 3px; }
.registration-consent input:focus-visible { outline: 2px solid var(--white); outline-offset: 4px; }
.registration-consent a { text-underline-offset: 3px; }
.review-block { margin-bottom: 24px; border-bottom: 1px solid #ffffff40; padding-bottom: 20px; }
.review-block h4 { font-size: 15px; font-weight: 600; margin: 0 0 16px; }
.review-block dl { margin: 0; font-size: 13px; line-height: 1.6; }
.review-block dl div { display: grid; grid-template-columns: 115px minmax(0,1fr); gap: 16px; margin: 9px 0; }
.review-block dt { color: #ffffffa8; }
.review-block dd { margin: 0; overflow-wrap: anywhere; }
.review-block ol { padding-left: 20px; font-size: 14px; margin: 0; }
.review-block li { padding: 7px 0; }
.review-block li strong { font-weight: 400; }
.review-block li small { display: block; color: #ffffffa8; margin-top: 5px; overflow-wrap: anywhere; }
.registration-final { margin-top: 24px; }
.registration-final .button { min-height: 54px; font-size: 13px; max-width: 100%; white-space: normal; }
.registration-final p { font-size: 12px; line-height: 1.6; color: #ffffffb8; max-width: 410px; }
.registration [hidden] { display: none !important; }
.registration .contact-line { margin-top: 64px; }
@media (max-width:1050px) and (min-width:801px) {
  .registration-layout { grid-template-columns: minmax(0,1fr) 280px; gap: 30px; }
  .registration-summary { padding: 26px 22px; }
  .registration-fields { gap: 12px 20px; }
  .payer-options { grid-template-columns: 1fr; }
  .registration-section-heading { display: block; }
  .participant-count { display: inline-block; margin-top: 12px; }
}
@media (max-width:800px) {
  .registration { padding: 56px 20px 40px; }
  .registration h2 { text-align: left; }
  .registration-intro { text-align: left; font-size: 14px; line-height: 1.6; margin-top: 14px; }
  .registration-preview { text-align: left; font-size: 10px; margin-bottom: 30px; }
  .registration-layout { grid-template-columns: 1fr; gap: 30px; }
  .registration-summary { position: static; padding: 25px; }
  .registration-steps { margin-bottom: 30px; }
  .registration-steps button { font-size: 11px; gap: 7px; padding-bottom: 13px; }
  .registration-steps button span { width: 24px; height: 24px; font-size: 10px; }
  .registration-step h3, .registration-review h3 { font-size: 23px; }
  .registration-help { font-size: 12px; }
  .registration-fields { grid-template-columns: 1fr; gap: 10px; }
  .registration-field :is(input,textarea) { font-size: 16px; }
  .registration-actions { gap: 12px; margin-top: 24px; }
  .registration-actions .button { min-width: 0; padding: 16px 22px; font-size: 12px; }
  .registration-section-heading { display: block; }
  .participant-count { display: inline-block; margin-top: 14px; }
  .participant-card { padding: 18px; }
  .participant-details summary span { display: block; margin: 5px 0 0 14px; }
  .payer-options { gap: 12px; grid-template-columns: 1fr; }
  .payer-option { padding: 20px; }
  .registration .contact-line { margin: 35px 0 0; }
  .review-block dl div { grid-template-columns: 1fr; gap: 2px; margin: 14px 0; }
}

/* Company-first invoice flow, extending the canonical checkout fields. */
.checkout-price-brief{font-size:16px;line-height:1.7;margin-top:23px;color:#ffffffde}.checkout-price-brief strong{font-size:26px;font-weight:600;letter-spacing:-.025em;margin-right:7px;white-space:nowrap}.checkout-price-brief>span{display:inline-block;font-size:12px;opacity:.7;margin-left:14px}.company-inn-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:25px;align-items:start}.company-inn-row .checkout-secondary{margin-top:20px;min-height:49px;white-space:nowrap}.company-inn-row+.checkout-help{margin-top:0;margin-bottom:10px}.company-lookup-status{font-size:12px;line-height:1.7;min-height:22px;color:#ffffffe0;margin-bottom:8px}.company-result{border-radius:var(--radius-card);padding:24px;background:var(--card);color:var(--ink);margin-top:18px}.company-result-fieldset{padding:0;margin:0;border:0;min-width:0}.company-choice{display:flex;gap:13px;align-items:flex-start;padding-block:10px;cursor:pointer}.company-choice input{width:18px;height:18px;margin-top:4px;accent-color:var(--purple);flex-shrink:0}.company-choice input:disabled{opacity:1}.company-choice:has(input:disabled){cursor:default}.company-choice strong{display:block;font-size:16px;line-height:1.5;font-weight:600}.company-choice small{display:block;white-space:pre-line;font-size:11px;line-height:1.8;margin-top:8px;color:#596487}.company-choice+.company-choice{border-top:1px solid #252d5826;margin-top:10px;padding-top:18px}.company-confirm{display:block;margin-top:22px;border:0;border-radius:30px;background:var(--purple);color:white;min-height:46px;padding:12px 22px;font:inherit;font-size:12px;cursor:pointer}.company-confirm:hover{background:var(--badge)}.company-confirm:active{filter:brightness(.95)}.company-result :is(button,input):focus-visible{outline-color:var(--ink)}.company-result .checkout-link{margin-top:12px}.company-manual-details{margin-top:22px}.company-contact-title{margin-top:32px;font-size:22px;line-height:1.4;font-weight:500}.checkout-method strong{font-size:18px}.checkout-secondary[aria-busy=true]{opacity:.7;cursor:wait}
@media(max-width:800px){.checkout-price-brief>span{display:block;margin-left:0;margin-top:4px}.company-inn-row{grid-template-columns:1fr;gap:0}.company-inn-row .checkout-secondary{margin-top:0;margin-bottom:16px;justify-self:start;min-width:185px}.company-result{padding:22px 19px}.company-choice strong{font-size:15px}.checkout-price-brief strong{font-size:24px}.checkout-method strong{font-size:18px}}

/* Shared four-step checkout; only one attendee form is in the document. */
.checkout-page h1{font-size:clamp(38px,4.6vw,62px)}
.checkout-eyebrow{margin-top:12px}
.checkout-lead{font-size:16px}
.checkout-progress{margin:32px 0 28px}
.checkout-progress{position:sticky;top:12px;z-index:5;padding:8px;background:#213d81;border:1px solid #ffffff1f;border-radius:18px}
.checkout-progress ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0}
.checkout-progress button{display:flex;align-items:center;gap:10px;min-height:52px;width:100%;padding:12px 14px;color:#ffffffc7;background:#ffffff06;border:1px solid #ffffff2e;border-radius:10px;font:inherit;font-size:14px;cursor:pointer}
.checkout-progress button>span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-size:11px}
.checkout-progress button[aria-current=step]{color:var(--ink);background:#f4f1ff;border-color:#f4f1ff;font-weight:600}
.checkout-progress button:disabled{opacity:.45;cursor:default}
.checkout-content{min-width:0}
.wizard-panel{min-height:400px;padding:28px;border:1px solid #ffffff30;border-radius:16px;background:#ffffff08;margin-bottom:0}
.wizard-panel{scroll-margin-top:120px}
.checkout-summary{top:100px}
.wizard-panel[hidden],.checkout-page [hidden]{display:none!important}
.wizard-kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#d4d4ef;margin-bottom:12px}
.wizard-panel h2:focus{outline:none}
.wizard-panel .checkout-methods{margin:24px 0;gap:12px}
.wizard-panel .checkout-method{padding:20px 16px;align-items:flex-start}
.wizard-panel .checkout-method strong{font-size:17px}
.wizard-panel .checkout-person{padding:0;background:none;border:0;margin:0}
.wizard-panel .checkout-person h3{font-size:19px;font-weight:500;margin:20px 0}
.wizard-actions{justify-content:space-between;gap:14px;margin-top:20px}
.wizard-actions .button{min-width:220px;margin-left:auto}
.wizard-actions .checkout-secondary{min-width:100px}
.participant-count-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px}
.participant-count-row>label{font-size:14px;line-height:1.5;max-width:calc(100% - 154px)}
.participant-counter{display:flex;align-items:center;flex-shrink:0;border:1px solid #ffffff50;border-radius:10px;overflow:hidden}
.participant-counter button{width:44px;height:46px;min-height:44px;border:0;background:#ffffff0c;color:var(--white);font:inherit;font-size:21px;cursor:pointer}
.participant-counter button:disabled{opacity:.35;cursor:default}
.participant-counter input{width:48px;height:46px;border:0;border-inline:1px solid #ffffff30;background:transparent;color:var(--white);font:inherit;text-align:center;font-size:16px;appearance:textfield}
.participant-counter input::-webkit-inner-spin-button,.participant-counter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.participant-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;margin:20px 0 14px}
.participant-editor-heading h3{font-size:19px;line-height:1.4;font-weight:500;margin:0;white-space:nowrap}
.participant-editor-heading .checkout-link{min-height:44px;padding:8px 0;line-height:1.5;text-align:right}
@media(max-width:800px){.participant-editor-heading{flex-wrap:wrap;gap:4px 16px}.participant-editor-heading h3{font-size:18px}.participant-editor-heading .checkout-link{text-align:left}}
.participant-discount-help{margin-bottom:0}
.review-participants{margin:22px 0}
.review-participants summary{font-size:15px;cursor:pointer;padding:10px 0}
.review-participants ol{max-height:250px;overflow:auto;padding:0 10px 0 24px;margin-top:12px;scrollbar-width:thin}
.review-participants li{font-size:13px;line-height:1.6;padding:8px 0}
.review-participants li strong,.review-participants li span{display:block;overflow-wrap:anywhere}
.review-participants li span{font-size:12px;color:#dfdff0}
.wizard-panel .checkout-fields{gap:10px 22px}
.wizard-panel .company-result{margin-bottom:12px}
.wizard-panel .company-confirm{min-height:48px}
.company-inn-row .checkout-field{position:relative}
.company-inn-row .checkout-field input{padding-right:44px}
.company-clear{position:absolute;right:0;top:22px;width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--white);font:inherit;font-size:23px;cursor:pointer}
@media(max-width:800px){.checkout-progress{margin-top:25px;top:8px}.checkout-progress ol{gap:6px}.checkout-progress button{flex-direction:column;gap:7px;padding:10px 3px;font-size:10px;min-height:74px}.checkout-progress button>span{flex:0 0 21px;width:21px;height:21px}.wizard-panel{padding:22px;min-height:0}.wizard-actions .button{min-width:0;flex:1;white-space:normal;font-size:14px}.wizard-actions .checkout-secondary{min-width:80px}.wizard-panel .checkout-methods{grid-template-columns:1fr}.wizard-panel .checkout-method{padding:18px}.wizard-panel .checkout-fields{grid-template-columns:1fr}.wizard-panel .checkout-section-heading{align-items:flex-start}.review-participants ol{max-height:230px}}
@media(max-width:360px){.wizard-panel{padding:18px}.checkout-progress button{font-size:10px}.participant-count-row>label{font-size:12px}.participant-counter input{width:42px}}
