/* A focused purchase surface; shopping and discovery keep their own navigation. */
.customer-shell:has(.registration-flow, .purchase-focused) .site-nav,
.customer-shell:has(.registration-flow, .purchase-focused) .site-header__basket,
.customer-shell:has(.registration-flow, .purchase-focused) .site-header__donate,
.customer-shell:has(.registration-flow, .purchase-focused) .site-menu { display: none; }
.customer-shell:has(.registration-flow, .purchase-focused) .site-header { position: relative; }
.purchase-page.registration-flow, .confirmation-page.registration-flow, .purchase-page.purchase-focused { max-width: 42rem; margin-inline: auto; }
.registration-flow .purchase-heading { margin-bottom: 1.25rem; }
.registration-flow > nav.flow-navigation { margin-bottom: 1.25rem; }
.registration-flow .purchase-heading h1 { margin-bottom: .5rem; }
.registration-flow .purchase-section__head { margin-bottom: .75rem; }
.registration-flow .contact-identity { margin-bottom: 1rem; padding: .75rem; }
.registration-flow .field { margin-bottom: 1rem; }
.registration-flow .form-grid { margin-bottom: .75rem; }
.registration-flow .checkbox { min-height: 44px; }
.registration-flow .purchase-kicker { margin-bottom: .375rem; }
.registration-entry-price { margin-top: .5rem; font-weight: 600; }
.registration-summary { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding-block: .75rem; margin-bottom: 1rem; border-block: 1px solid var(--border); }
.registration-summary small { display: block; margin-top: .25rem; color: var(--text-muted); }
.registration-summary strong { white-space: nowrap; }
.registration-flow .purchase-section { border: 0; box-shadow: none; background: transparent; padding: 0; }
.registration-flow .participant-card + .participant-card { padding-top: 1.5rem; border-top: 1px solid var(--border); }
.registration-flow .consent-panel { background: transparent; border: 0; padding: 0; }
.registration-flow .participant-publication { margin-top: .75rem; }
.registration-flow .checkout-optional { border: 0; padding-top: 0; }
.registration-flow .checkout-disclosures .flow-disclosure { border: 0; background: transparent; padding: 0; }
.registration-flow .checkout-disclosures summary { padding-block: .625rem; font-size: .875rem; }
.order-overview__details > summary { min-height: 44px; padding-block: .625rem; }
.order-overview__details > summary[hidden] { display: none; }
.post-purchase-updates { margin-block: 1.5rem; padding-block: 1rem; border-block: 1px solid var(--border); }
.registration-flow .bebras-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 700px) {
    .registration-flow .purchase-heading h1 { font-size: 1.625rem; }
    .registration-flow .purchase-main { min-width: 0; }
    .registration-flow .purchase-layout { gap: 1rem; }
    .registration-flow .purchase-section__head { margin-bottom: 1rem; }
    .registration-flow .summary.order-overview { border-radius: 0; border: 0; box-shadow: none; background: transparent; padding: 0; }
    .registration-flow .purchase-actions { padding: .75rem 1rem max(.75rem, env(safe-area-inset-bottom)); }
    .registration-flow .purchase-actions .btn--primary { min-height: 52px; font-size: 1rem; }
    .registration-flow input:not([type=checkbox]), .registration-flow select { font-size: 16px; }
    .registration-flow .bebras-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .registration-flow .steps__label { white-space: normal !important; }
}

.recovery-notice { margin-block: .5rem 0; }
.post-purchase-options { margin-top: 1.5rem; }
.registration-entry-price del { margin-inline-end: .5rem; color: var(--text-muted); font-weight: 400; }
.registration-checkout-layout { grid-template-columns: minmax(0, 1fr); max-width: 42rem; margin-inline: auto; }
.registration-checkout-layout .purchase-rail { position: static; }
.registration-checkout-layout .summary.order-overview { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 0; }
.registration-checkout-layout .purchase-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
.registration-checkout-layout .purchase-actions > .btn--secondary { justify-self: start; }
.registration-checkout-layout #checkout-pay { width: 100%; white-space: nowrap; min-height: 52px; }
@media (max-width: 700px) {
    .registration-checkout-layout .purchase-actions { grid-template-columns: minmax(0, 1fr); gap: .375rem; }
    .registration-checkout-layout .purchase-actions > .btn--secondary { padding-inline: .5rem; }
}

/* One decision per screen, with the total visible beside the next action. */
.bebras-start, .registration-participants-layout { max-width: 42rem; margin-inline: auto; }
.registration-participants-layout { grid-template-columns: minmax(0, 1fr); }
.bebras-start .count-selector { align-items: flex-start; gap: .875rem; min-height: 0; margin-block: 1.5rem 2rem; }
.bebras-start .count-selector h2 { margin: 0; font-size: 1.25rem; }
.bebras-start .count-selector__price { margin: 0; }
.bebras-start .count-selector__price del { margin-inline-end: .5rem; color: var(--text-muted); }
.bebras-start .stepper { margin-top: .5rem; }
.bebras-start .stepper__btn { min-width: 48px; min-height: 48px; }
.registration-actions { justify-content: space-between; gap: 1rem; border-top: 1px solid var(--border); padding-block: 1rem; }
.registration-action-total { display: flex; flex-direction: column; flex: 0 0 auto; gap: .125rem; }
.registration-action-total > span { color: var(--text-muted); font-size: .8125rem; }
.registration-action-total strong { font-size: 1.25rem; white-space: nowrap; }
.registration-actions > .btn--primary { min-width: 10rem; white-space: nowrap; }
@media (max-width: 700px) {
    .registration-flow > nav.flow-navigation { margin-bottom: 1rem; }
    .purchase-page.registration-flow, .purchase-page.purchase-focused { padding-bottom: 1rem; }
    .bebras-start .purchase-heading { margin-bottom: 1rem; }
    .bebras-start .count-selector { margin-block: 1.25rem; }
    .registration-flow .purchase-actions.registration-actions { flex-wrap: nowrap; padding: .75rem 1rem max(.75rem, env(safe-area-inset-bottom)); gap: 1rem; }
    .registration-actions > .btn--primary { flex: 0 1 auto; min-width: 0; width: auto; max-width: 65%; padding-inline: 1.25rem; }
    .registration-action-total strong { font-size: 1.125rem; }
    .customer-shell:has(.registration-flow, .purchase-focused) .foundation-colophon,
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer__identity,
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer nav a:not([href="terms"]):not([href="privacy"]) { display: none; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer { padding: .75rem 1rem 1.25rem; background: transparent; border: 0; --text: inherit; --text-muted: inherit; --border: inherit; color-scheme: inherit; }
    .customer-shell:has(.purchase-actions) .site-footer { padding-bottom: 7rem; }
    .customer-shell:has(.checkout-actions) .site-footer { padding-bottom: 8rem; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer .site-footer__inner { display: flex; flex-direction: column; align-items: center; gap: .25rem; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 1.25rem; padding: 0; border: 0; font-size: .75rem; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer nav a[href] { flex-basis: auto; display: inline-flex; align-items: center; min-height: 44px; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer .site-footer__label-full { display: none; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer .site-footer__label-short { display: inline; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer .site-footer__assurance { font-size: 0; border: 0; padding: 0; margin: 0; gap: 0; align-items: center; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer .paynets { margin: 0; padding: .5rem .65rem; gap: .875rem; align-self: center; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer .paynets__mark { height: 18px; }
    .customer-shell:has(.registration-flow, .purchase-focused) .site-footer .paynets__mark--mc { height: 27px; }
    .registration-flow :is(input, select, button), .purchase-focused :is(input, select, button) { scroll-margin-block: 1.5rem 8rem; }
}
