/* Onboarding page (checkout + intake): small additions that have no utility class in app.css. */

/* Radio / option cards: the native input is visually hidden, so show keyboard focus on the card. */
.rb-onb-card:has(input:focus-visible) { outline: 2px solid var(--gold); outline-offset: 2px; }
.rb-onb-card[aria-disabled="true"] { cursor: not-allowed; }

/* Native checkboxes in the brand colour. */
.rb-onb-check { width: 1rem; height: 1rem; margin-top: .2rem; flex-shrink: 0; accent-color: var(--gold); cursor: pointer; }

/* Long answers can be made taller, never wider. */
.rb-onb textarea { resize: vertical; min-height: 5.5rem; }

/* Upload area keyboard focus. */
.rb-onb-zone:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* Tab row in the intake. */
.rb-onb-tabs { scrollbar-width: thin; }

/* Scrolled-to steps and packages clear the fixed header. */
.rb-onb [data-rb-checkout], .rb-onb [data-rb-intake], .rb-onb [data-in-panel], .rb-onb [data-ck-pkg] { scroll-margin-top: 7rem; }

/* Package chosen on the Packages page / homepage: framed so the visitor sees it carried over. */
.rb-ck-focus { padding: 1.25rem; border: 1px solid color-mix(in oklab, var(--gold) 60%, transparent); border-left-width: 3px; border-radius: .375rem; background: color-mix(in oklab, var(--gold) 6%, var(--paper)); }
@media (min-width: 40rem) { .rb-ck-focus { padding: 1.5rem; } }
.rb-onb .rb-ck-focus { scroll-margin-top: 8.5rem; }

/* Status line next to the save button. */
.rb-onb-status { min-height: 1.25rem; }

/* Busy spinner inside buttons. */
.rb-onb-spin { display: inline-block; width: .9em; height: .9em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 9999px; animation: rb-onb-spin .7s linear infinite; }
@keyframes rb-onb-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rb-onb-spin { animation-duration: 2s; } }
