.guest-flow{display:grid;gap:2rem}
.flow-steps{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0;margin:0}
.flow-steps li{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:#fff}
.flow-steps li>a{display:flex;align-items:center;gap:.8rem;width:100%;color:inherit;text-decoration:none}
.flow-steps li>span,.flow-steps li>a>span{display:grid;place-items:center;flex:0 0 2.3rem;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--soft,#eee8f7);font-weight:900}
.flow-steps li.current{border:2px solid var(--primary,var(--purple))}.flow-steps li.current>span,.flow-steps li.current>a>span,.flow-steps li.done>a>span{background:var(--primary,var(--purple));color:#fff}
.flow-steps li:has(a):hover,.flow-steps li:has(a):focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,var(--purple)) 18%,transparent)}
.flow-steps b,.flow-steps small{display:block}.flow-steps small{color:#716b79}.flow-steps li.locked{opacity:.65}
.step-label{display:inline-block;margin-bottom:.35rem;color:var(--primary,var(--purple));font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}
.friendly-form fieldset{display:grid;min-width:0;gap:1rem;margin:0;padding:1rem;border:1px solid var(--line);border-radius:14px}
.friendly-form legend{padding:0 .4rem;font-size:1.15rem;font-weight:900}.friendly-form legend small{font-size:.85rem;font-weight:700;color:#716b79}
.field-help{margin:0;color:#625b69}.consent-line{padding:.85rem;background:var(--soft,#eee8f7);border-radius:12px}
.secondary-button{background:var(--soft,#eee8f7)!important;color:var(--primary,var(--purple))!important}
.gift-step{scroll-margin-top:1rem}.gift-icon{font-size:1.5rem}.gift-locked{margin-top:auto;padding:.65rem;border-radius:10px;background:var(--soft,#eee8f7);font-weight:800;text-align:center}
.gift-choice{margin-top:auto}.gift-choice summary{list-style:none;padding:.8rem 1rem;border-radius:12px;background:var(--primary,var(--purple));color:#fff;font-weight:900;text-align:center;cursor:pointer}.gift-choice summary::-webkit-details-marker{display:none}.gift-choice[open] summary{margin-bottom:.8rem}.gift-choice form{display:grid;gap:.7rem;padding-top:.2rem}
@media(max-width:760px){.flow-steps{grid-template-columns:1fr;gap:.6rem}.friendly-form fieldset{padding:.85rem}.response-step{gap:1.25rem}.gift-step>p{margin-top:.4rem}}
