.checkout-flow{margin-top:30px}.checkout-flow h2{font-size:clamp(24px,3vw,32px);margin-bottom:12px}.checkout-flow fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.checkout-flow legend{font-size:18px;font-weight:700;margin-bottom:12px}.checkout-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkout-options label,.payment-option{position:relative;display:flex;gap:12px;align-items:flex-start;padding:20px;border:1px solid #99ac9e;border-radius:6px;background:linear-gradient(125deg,#e4e8db,#eee0c8);cursor:pointer;min-width:0}.checkout-options label:has(:checked),.payment-option:has(:checked){border-color:#2b615d;box-shadow:inset 0 0 0 1px #2b615d;background:linear-gradient(125deg,#d0dfd6,#ece0c7)}.checkout-flow input[type=radio],.checkout-flow input[type=checkbox]{accent-color:#265d51;width:20px;height:20px;flex:0 0 auto;margin:3px 0}.billing-grid,.participant-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.billing-grid>label,.participant-grid>label{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.5;min-width:0}.billing-grid .wide,.participant-grid .wide{grid-column:1/-1}.checkout-flow input:not([type=radio]):not([type=checkbox]),.checkout-flow select,.checkout-flow textarea{background:#f2eee2;border:1px solid #8ba18e;border-radius:4px;color:#173f3b;min-height:48px;padding:11px 12px;font:inherit;width:100%;min-width:0}.checkout-flow input:disabled{background:#d7dfd3;opacity:.75}.checkout-flow textarea{resize:vertical}.checkout-flow small{font-size:14px;line-height:1.55;color:#4e695d}.checkout-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:24px 0}.checkout-actions button{max-width:100%}.checkout-secondary{border:1px solid #729784;border-radius:4px;background:transparent;color:#1e4b43;padding:12px 18px;font-weight:600;min-height:48px}.checkout-notice{padding:18px 20px;background:linear-gradient(100deg,#ead9b9,#dce4d1);border-left:3px solid #a9844b;margin-bottom:24px;font-size:15px;line-height:1.7}.checkout-notice p:last-child{margin-bottom:0}.payment-list{display:grid;gap:12px;margin:20px 0}.payment-option strong{display:block;font-size:20px;line-height:1.35}.payment-option small{display:block;margin-top:7px}.payment-status{display:inline-block;margin-top:10px;padding:3px 8px;border:1px solid #b29965;font-size:12px;border-radius:3px;font-weight:600}.bank-details{padding:24px;background:linear-gradient(120deg,#173e45,#34594c);color:#f5ebd7;border-radius:6px;margin:20px 0;box-shadow:0 15px 35px #153e4520}.bank-details dl{margin:0}.bank-details dt{font-size:14px;color:#d8dbcb}.bank-details dd{margin:0 0 16px;font-size:18px;font-weight:600;overflow-wrap:anywhere}.bank-details dd:last-child{margin-bottom:0}.bank-details code{font:inherit;letter-spacing:.025em}.bank-details .checkout-secondary{color:#f8deae;border-color:#d0b885;margin-top:20px}.bank-details p{font-size:14px;color:#e3e4d4;margin:18px 0 0}.billing-review{padding:20px 0;border-block:1px solid #a5b8a7;white-space:pre-line;overflow-wrap:anywhere;line-height:1.7}.checkout-progress{font-size:16px;color:#1e5244;font-weight:600}.participant-slot{padding:24px 0;border-top:1px solid #97ae9c}.participant-slot h3{font-size:20px;margin:0 0 15px}.participant-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.participant-tools label{font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex:1;min-width:0}.participant-tools select{flex:1;min-width:160px;font-size:14px;max-width:100%}.participant-course{margin-top:30px;padding:20px;background:linear-gradient(120deg,#d0dece,#e9dcc5);border-radius:5px}.participant-course>p{font-size:14px}.participant-course h3{font-size:21px}.participant-list{margin:0 0 25px}.checkout-error{padding:16px;background:#f0d6c4;border-left:3px solid #9f4c30;color:#662c1b;margin:18px 0;font-size:15px}.method-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}.method-card{padding:26px;border:1px solid #9daf9d;border-radius:6px;background:linear-gradient(120deg,#d8e2d0,#eadcc3)}.method-card h2{font-size:25px}.method-card p{font-size:16px}.method-card .payment-status{margin:0 0 15px}.checkout-stage[hidden]{display:none!important}.checkout-flow :focus-visible{outline:3px solid #a87532;outline-offset:3px}.checkout-preview-title{color:#7b5e32;font-size:13px;font-weight:700;letter-spacing:.06em}.checkout-flow .shop-primary{justify-content:center}.participant-list .checkout-secondary{font-size:14px}.payment-summary-total{display:block;font-size:27px;margin:15px 0}.checkout-complete{padding:24px;background:#d1dfcd;border:1px solid #94af8e;border-radius:6px}.checkout-complete p{margin-bottom:10px}
@media(max-width:620px){.billing-grid,.participant-grid,.checkout-options,.method-cards{grid-template-columns:1fr}.billing-grid .wide,.participant-grid .wide{grid-column:auto}.checkout-options label,.payment-option{padding:17px}.bank-details{padding:20px}.bank-details dd{font-size:17px}.participant-course{padding:18px}.participant-tools{align-items:stretch}.participant-tools label{display:block}.participant-tools select{margin-top:8px}.checkout-actions>*{width:100%;text-align:center}.checkout-flow input,.checkout-flow select{font-size:16px}.payment-option strong{font-size:19px}}

/* Unified checkout: distinct sections remain visible and readable on every screen. */
.checkout-flow>.checkout-stage{margin:36px 0;padding-top:24px;border-top:1px solid #a5b8a7;scroll-margin-top:28px}.checkout-flow>.checkout-stage:first-of-type{margin-top:16px}.checkout-flow .billing-review:empty{display:none}#order-person-editor{margin:24px 0}#order-person-editor>summary{cursor:pointer;font-weight:700;padding:16px 0}#order-saved-people .billing-review{white-space:normal}#order-saved-people p{margin:6px 0;overflow-wrap:anywhere}

/* Missing data are highlighted only after validation. */
.billing-grid [aria-invalid="true"],.participant-grid [aria-invalid="true"]{border:2px solid #b42318;background:#fff4f2}
.billing-grid .field-error,.participant-grid .field-error{display:block;color:#b42318;font-weight:600;font-size:.82rem;line-height:1.4}

/* Start timing: typography aligned with the checkout form. */
.checkout-flow .start-choice{border:0;padding:0;margin:20px 0;font-size:15px;line-height:1.55}
.checkout-flow .start-choice legend{font-family:inherit;font-size:18px;font-weight:700;line-height:1.4;color:#193f43;margin-bottom:8px}
.start-intro{margin:0 0 12px;font:inherit}
.start-option{display:flex!important;align-items:flex-start;gap:12px;background:#fff;border:1px solid #d9d3c7;border-radius:6px;padding:14px;margin:10px 0;cursor:pointer;font:inherit}
.start-option>span{display:grid;gap:6px;min-width:0}
.checkout-flow .start-option strong{font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;color:#193f43}
.checkout-flow .start-option small{display:block;border-top:1px solid #dedbd3;padding-top:8px;font-size:14px;line-height:1.55;color:#38545a}
.start-option:has(input:checked){border-color:#193f43;box-shadow:inset 0 0 0 1px #193f43;background:#f1f7f5}
.start-option:focus-within{outline:2px solid #247caa;outline-offset:3px}
.checkout-flow .start-note{padding:12px 14px;margin:12px 0;background:#e9f2f1;border:1px solid #bdd4d3;border-radius:6px;font-family:inherit;font-size:15px;line-height:1.55}
.start-note p{margin:6px 0 0}
.checkout-flow .start-info{margin:12px 0;font-size:14px;line-height:1.55}
.start-info summary{cursor:pointer;text-decoration:underline}
.start-missing .start-option{border-color:#b42318}.start-choice[hidden]{display:none!important}
