.hp-order [hidden] { display: none !important; }
.hp-order input, .hp-order select, .hp-order textarea, .hp-order button { font: inherit; }
.hp-order input:not([type="radio"]):not([type="checkbox"]), .hp-order select, .hp-order textarea { width: 100%; max-width: 100%; border: 1px solid #89939b; border-radius: 4px; padding: 10px 12px; background: var(--white); color: var(--ink); }
.hp-order input[type="file"] { font-size: 14px; }
.hp-order textarea { resize: vertical; }
.hp-order button { cursor: pointer; }
.hp-order button:disabled { cursor: not-allowed; opacity: .55; }
.hp-order button.order-checkout-busy:disabled { cursor: progress; opacity: 1; }
.order-checkout-busy { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
#order-checkout-progress.order-checkout-busy { display: flex; justify-content: flex-start; }
.order-spinner { display: inline-block; width: 1em; height: 1em; flex: 0 0 1em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: order-spin .8s linear infinite; }
@keyframes order-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .order-spinner { animation: none; } }
.hp-order h2 { border: 0; padding: 0; font-size: 24px; }
.hp-order h3 { font-size: 18px; }
.order-nav { margin-left: auto; display: flex; gap: 24px; font-size: 13px; }
.order-nav a { text-decoration: none; }
.order-main { max-width: 900px; padding-top: 48px; padding-bottom: 72px; }
.order-intro { margin-bottom: 30px; }
.order-intro h1 { font-size: clamp(29px, 4vw, 42px); }
.order-intro > p:last-child { margin: 14px 0 0; color: var(--ink-2); }
.order-eyebrow { color: var(--indigo); font-weight: 700; font-size: 13px; margin-bottom: 12px; }
.order-card { background: white; border: 1px solid var(--rule); border-radius: 5px; overflow: hidden; margin-top: 22px; }
.order-steps { list-style: none; display: flex; gap: 12px; padding: 18px 30px; margin: 0; background: #eaf0f5; border-bottom: 1px solid var(--rule); }
.order-steps li { flex: 1; display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-2); }
.order-steps span { display: inline-grid; place-items: center; width: 24px; height: 24px; border: 1px solid #8796a3; border-radius: 50%; font-size: 11px; flex-shrink: 0; }
.order-steps [aria-current="step"] { font-weight: 700; color: var(--indigo); }
.order-steps [aria-current="step"] span { background: var(--indigo); color: white; border-color: var(--indigo); }
.order-step { padding: 30px; }
.order-step > h2 { margin-bottom: 24px; }
.order-label { display: block; margin: 20px 0 8px; font-size: 14px; font-weight: 700; }
.order-note { font-size: 12px; color: var(--ink-2); margin: 8px 0 14px; }
.order-note:last-child { margin-bottom: 0; }
.order-optional { font-size: 12px; color: var(--ink-2); font-weight: 400; }
.order-check { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; margin: 14px 0; }
.order-check input { flex-shrink: 0; margin: 6px 0 0; width: 17px; height: 17px; accent-color: var(--indigo); }
.order-notice, .order-message, .order-error { padding: 12px 16px; font-size: 14px; background: #eaf0f5; border-left: 3px solid var(--indigo); }
.order-notice[data-ready="false"] { background: var(--check-bg); color: var(--check); border-color: var(--check); }
.order-error { background: #fff1ef; color: #7b211d; border-color: #9b2c27; }
.order-link-button { padding: 6px 0; border: 0; background: transparent; color: var(--indigo); text-decoration: underline; text-underline-offset: 3px; font-size: 13px !important; }
.order-main-button { margin-top: 12px; }
.order-datasets { margin-top: 24px; }
.order-dataset { padding: 24px; margin-top: 18px; border: 1px solid var(--rule); background: var(--paper); }
.order-dataset:first-child { margin-top: 0; }
.order-dataset h3 { color: var(--indigo); margin-bottom: 16px; }
.order-method { display: flex; gap: 22px; margin-top: 20px; }
.order-method label { display: flex; gap: 8px; align-items: center; font-size: 14px; }
.order-method input { accent-color: var(--indigo); }
.order-details { margin: 16px 0; font-size: 13px; }
.order-details summary { cursor: pointer; color: var(--indigo); padding: 4px 0; }
.order-details p { margin: 10px 0 0; }
.order-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 16px 0 10px; }
.order-field-grid label { font-size: 13px; }
.order-field-grid select { display: block; margin-top: 7px; }
.order-count { font-size: 14px; color: var(--indigo); margin: 14px 0 0; }
.order-data-preview { list-style: none; padding: 0; margin: 10px 0 0; }
.order-data-preview li { display: grid; grid-template-columns: 5.5em minmax(0, 1fr); gap: 12px; border-top: 1px solid var(--rule); padding: 10px 0; overflow-wrap: anywhere; white-space: pre-wrap; font-size: 13px; }
.order-data-preview .order-row-id { color: var(--ink-2); font-variant-numeric: tabular-nums; }
.order-dataset-limit { margin-top: 18px; }
.order-file-limits { font-size: 12px; margin-bottom: 0; }
.order-confirm-summary { padding: 20px; border: 1px solid var(--rule); background: var(--paper); }
.order-confirm-summary h3 { color: var(--indigo); }
.order-confirm-price { margin: 10px 0; font-size: 16px; }
.order-confirm-price strong { font-size: 34px; font-variant-numeric: tabular-nums; }
.order-confirm-summary ul { font-size: 14px; padding-left: 20px; margin: 12px 0; }
.order-confirm-summary p:last-child { margin-bottom: 0; }
.order-confirm-terms { border-bottom: 1px solid var(--rule); margin: 20px 0; padding-bottom: 10px; font-size: 13px; }
.order-receipt-box { border: 1px solid #aab9c5; background: #f0f4f7; padding: 20px; margin: 24px 0; }
.order-receipt-box h3 { font-size: 17px; margin-bottom: 8px; }
.order-receipt-box > p { font-size: 13px; }
.order-receipt-box .btn { font-size: 14px; }
.order-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.order-actions .order-main-button { margin-top: 0; }
.order-history { margin-top: 46px; }
.order-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.order-result { padding: 24px; border: 1px solid var(--rule); background: white; margin-bottom: 16px; }
.order-result h3 { font-size: 18px; margin-bottom: 8px; }
.order-result-meta { font-size: 12px; color: var(--ink-2); overflow-wrap: anywhere; }
.order-result-status { font-size: 14px; margin-bottom: 14px; }
.order-result-files { display: flex; gap: 10px; flex-wrap: wrap; padding: 0; margin: 16px 0; list-style: none; }
.order-result-files .btn { font-size: 13px; padding: 8px 12px; }
.order-additional-files { border-top: 1px solid var(--rule); padding-top: 8px; }
.order-additional-files .order-result-files { margin-bottom: 0; }
.order-result-actions { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-top: 16px; }
.order-result-actions .btn { font-size: 14px; }
.order-support-form { margin-top: 14px; border-top: 1px solid var(--rule); padding-top: 14px; }
.order-support-form .order-label { margin-top: 0; }
.order-support-form .btn { margin-top: 10px; font-size: 13px; padding: 9px 14px; }
.order-result-code { font-size: 11px; color: var(--ink-2); }
.order-footer-links { display: flex; gap: 12px 24px; flex-wrap: wrap; margin-top: 18px; font-size: 12px; }
.order-footer-links a { color: white; }
@media (max-width: 600px) {
  .order-main { padding-top: 28px; padding-bottom: 44px; }
  .order-nav { gap: 14px; font-size: 12px; }
  .order-steps { padding: 14px 16px; gap: 6px; }
  .order-steps li { gap: 5px; font-size: 11px; }
  .order-steps span { width: 21px; height: 21px; }
  .order-step { padding: 22px 18px; }
  .order-dataset { padding: 18px 14px; }
  .order-field-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .order-confirm-summary, .order-receipt-box, .order-result { padding: 18px; }
  .order-actions { align-items: stretch; flex-direction: column; }
  .order-main-button { width: 100%; text-align: center; }
  .order-section-heading h2 { font-size: 22px; }
}
