/* Guest registration only: one compact heading pattern for all four stages. */
.step-heading,.payment-head>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}
.step-heading{margin:0 0 14px}
.step-heading .step-no,.payment-head .step-no{flex:0 0 32px;width:32px;height:32px;margin:0;display:grid;place-items:center}
.step-heading h2,.payment-head h2{margin:0;min-width:0;font-size:clamp(20px,5vw,26px);line-height:1.2;overflow-wrap:anywhere}
.photo-block .camera+.camera{margin-top:8px}
.camera:focus-within{outline:2px solid #292a2e;outline-offset:3px}
@media(max-width:380px){.payment-head{flex-wrap:wrap;gap:8px}.payment-total{margin-left:44px;text-align:left}.step-heading,.payment-head>div:first-child{gap:10px}}

/* First guest step: contact choice precedes lookup, documents and payment. */
.contact-entry h2{margin:0 0 8px}.contact-entry p{margin:8px 0 14px}.contact-entry [hidden]{display:none!important}
.contact-entry .contact-skip{display:block;width:100%;margin-top:9px;background:transparent;color:var(--ink);border:1px solid var(--line);font-weight:600}
.contact-entry.is-compact{padding:14px 18px}.contact-entry.is-compact h2{font-size:19px}.contact-entry.is-compact p{font-size:13px;margin-bottom:6px}
.contact-pending #lookupStep,.contact-pending #registerStep,.contact-pending #resumeStep{display:none!important}
