[hidden] { display: none !important; }
.checkout-container { max-width: 640px; }
.back-link { display: inline-block; margin-block: var(--space-6); color: var(--text-secondary-light); font-size: 16px; text-underline-offset: 4px; }
.service-summary { margin-block: var(--space-6); padding-bottom: var(--space-5); border-bottom: 1px solid var(--divider-light); }
.service-summary h2 { margin: var(--space-2) 0 0; font-size: 22px; line-height: 1.4; font-weight: 600; }
.field-help { margin: 0; color: var(--text-secondary-light); font-size: 15px; line-height: 1.5; }
fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin-top: var(--space-5); }
.field { min-width: 0; margin-bottom: var(--space-5); }
.field label { display: block; margin-bottom: var(--space-2); font-weight: 600; font-size: 17px; }
.field input { display: block; width: 100%; min-height: 52px; padding: var(--space-3) var(--space-4); border: 1px solid var(--text-tertiary); border-radius: var(--radius-md); background: var(--bg-white); color: var(--text-primary-light); font: inherit; }
.field input:focus-visible, .payment-submit:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.field input[aria-invalid="true"] { border-color: var(--text-primary-light); border-width: 2px; }
.field .field-help { margin-top: var(--space-2); }
.payment-status { padding: var(--space-4); background: var(--surface-light-2); border: 1px solid var(--divider-light); border-radius: var(--radius-lg); font-size: 16px; }
.payment-status p { margin: var(--space-2) 0 0; color: var(--text-secondary-light); }
.payment-submit { width: 100%; margin-top: var(--space-4); cursor: pointer; }
.payment-submit:disabled { background: var(--surface-dark-3); color: var(--text-primary-dark); cursor: not-allowed; }
.checkout-note { font-size: 14px; line-height: 1.6; color: var(--text-secondary-light); margin-top: var(--space-5); }
.checkout-footer { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); }
.checkout-footer a { color: inherit; text-underline-offset: 4px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 600px) { .name-fields { grid-template-columns: 1fr; gap: 0; } }
