/* c-ready — C10 pick a way back, then pay the balance. Layout only; hero, option rows, courier card, money rows, banner, action bar and sheet are shared. M7: groups are .sec; the radio rows are one .card--list. */
.c-ready { gap: 0; padding-bottom: var(--space-40); }
/* K-24 (R3): linenStage carries the title + the hang stage; the body sits on the page ground above the choice */
.c-ready > .linen-stage .hang { margin-top: var(--space-8); }
.c-ready__intro { margin: var(--rhythm-block) 0 0; color: var(--neutral-700); text-wrap: pretty; }
.c-ready > .sec:first-of-type { margin-top: var(--rhythm-section); }
.c-ready__alert { margin-top: var(--rhythm-group); }
.c-ready__group { display: flex; flex-direction: column; }
.c-ready__group .option-row { min-height: 64px; }
.c-ready__group .option-row__text { flex: 1; min-width: 0; }
.c-ready__group .option-row__title { display: block; }
.c-ready__group .option-row__sub { text-wrap: pretty; min-width: 0; }
.c-ready__place { overflow-wrap: break-word; }
.c-ready__group .option-row:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; border-radius: var(--radius-md); }
/* the title row: the way back left, its price right (the row's value slot) */
.c-ready__opt { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-12); }
.c-ready__opt-val { font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.c-ready__single { margin: 0; }
.c-ready__courier { margin-top: var(--space-8); display: flex; flex-direction: column; gap: var(--space-8); }

/* pay sheet */
.c-ready-sheet { display: flex; flex-direction: column; gap: var(--space-16); width: 100%; }
.c-ready-sheet p { margin: 0; }
.c-ready-sheet__pay { display: flex; flex-direction: column; gap: var(--rhythm-tight); }   /* P2-1: the label and its group are one sub-group with their own gap (was a -8 margin cancelling the sheet's 16) */
.c-ready-sheet__group { display: flex; flex-direction: column; }
.c-ready-sheet__go { display: flex; flex-direction: column; gap: var(--rhythm-tight); }   /* K-46 (D-303): the charge caption now lives inside the Pay button (two-line cta) */
.c-ready-sheet__group[aria-disabled="true"] { opacity: 0.6; pointer-events: none; }
@media (max-width: 18.75em) { .c-ready__group .option-row__lead { display: none; } .c-ready__opt { flex-wrap: wrap; column-gap: var(--space-12); } }   /* K9-2-03 zoom tier (D-233): the decorative way-back glyph yields its 44 px so the shop + street wrap between words, not inside "Metropolitan"; "Free" drops under a way back that needs the whole line */
/* K-27 (Study-1 A2): the hold line and the unclaimed rule under the ways back */
.c-ready__hold { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-4); }
.c-ready__hold p { margin: 0; }
/* K-40 (T1): the When row directly under the chosen way back */
.c-ready__when { margin-top: var(--rhythm-group); }
/* K-54 F9 (D-456): the card Pay confirms on, under the hold it already sits on; Change opens the sheet (two or more ways to pay) */
.c-ready__paywith { display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); margin-top: var(--space-4); padding-top: var(--space-4); box-shadow: inset 0 1px 0 var(--hairline); }
.c-ready__paywith p { margin: 0; min-width: 0; }
.c-ready__paywith .text-link { margin-right: calc(-1 * var(--space-8)); flex: 0 0 auto; }
