/* Friday Funded checkout — strict, transaction-first finish. */
#purchaseModal.purchase-checkout-modal {
  --checkout-bg: #07080a !important;
  --checkout-surface: #0e1013 !important;
  --checkout-surface-raised: #121419 !important;
  --checkout-border: #292c32 !important;
  --checkout-border-soft: #202329 !important;
  --checkout-text: #f2f3f4 !important;
  --checkout-muted: #8f949d !important;
  --checkout-accent: #e23c47 !important;
  --checkout-accent-2: #e23c47 !important;
  --checkout-success: #35ba87 !important;
  background: rgba(2, 3, 4, 0.92) !important;
  backdrop-filter: none !important;
}

#purchaseModal.purchase-checkout-modal .purchase-checkout-sheet {
  border-color: #292c32 !important;
  border-radius: 12px !important;
  background: var(--checkout-bg) !important;
  box-shadow: none !important;
}

#purchaseModal.purchase-checkout-modal .purchase-modal-head {
  min-height: 56px !important;
  padding: 10px 54px 10px 16px !important;
  border-bottom-color: var(--checkout-border-soft) !important;
  background: #090a0c !important;
}

#purchaseModal.purchase-checkout-modal .purchase-modal-head h3 {
  font-size: 17px !important;
  font-weight: 720 !important;
  letter-spacing: -0.025em !important;
}

#purchaseModal.purchase-checkout-modal .modal-close-icon {
  right: 14px !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-color: #30333a !important;
  border-radius: 6px !important;
  background: #111318 !important;
  box-shadow: none !important;
}

#purchaseModal.purchase-checkout-modal .modal-close-icon > img {
  width: 18px !important;
  height: 18px !important;
}

#purchaseModal.purchase-checkout-modal .stepper {
  min-height: 100px !important;
  gap: 10px !important;
  padding: 10px 16px 12px !important;
  border-bottom-color: var(--checkout-border-soft) !important;
  background: #090a0c !important;
}

#purchaseModal .purchase-stepper-summary {
  padding: 0 !important;
}

#purchaseModal .purchase-stepper-summary > div {
  gap: 2px !important;
}

#purchaseModal .purchase-stepper-summary > div > span {
  color: #b7bbc2 !important;
  font-size: 8px !important;
  font-weight: 720 !important;
  letter-spacing: 0.08em !important;
}

#purchaseModal .purchase-stepper-summary > div > strong {
  font-size: 15px !important;
  font-weight: 740 !important;
  letter-spacing: -0.02em !important;
}

#purchaseModal .purchase-stepper-summary > div > small {
  color: #7f858e !important;
  font-size: 9px !important;
}

#purchaseModal .purchase-stepper-price {
  font-size: 15px !important;
  font-weight: 740 !important;
  letter-spacing: -0.025em !important;
}

#purchaseModal .purchase-step-tabs {
  gap: 7px !important;
}

#purchaseModal .purchase-step-tab {
  min-height: 40px !important;
  grid-template-columns: 21px minmax(0, 1fr) !important;
  gap: 6px !important;
  padding: 6px 8px !important;
  border-color: #2b2e34 !important;
  border-radius: 6px !important;
  background: #0e1013 !important;
}

#purchaseModal .purchase-step-tab > span {
  width: 21px !important;
  height: 21px !important;
  border-color: #3a3e46 !important;
  border-radius: 4px !important;
  background: transparent !important;
  font-size: 9px !important;
}

#purchaseModal .purchase-step-tab > strong {
  font-size: 9px !important;
  font-weight: 720 !important;
}

#purchaseModal .purchase-step-tab.is-active {
  border-color: #8f3038 !important;
  background: #171013 !important;
}

#purchaseModal .purchase-step-tab.is-active > span {
  border-color: var(--checkout-accent) !important;
  background: var(--checkout-accent) !important;
}

#purchaseModal .purchase-step-tab.is-complete > span {
  border-color: #277658 !important;
  background: #15382d !important;
}

#purchaseModal.purchase-checkout-modal #purchaseBody {
  padding: 14px 16px 20px !important;
}

#purchaseModal .purchase-step-content {
  gap: 12px !important;
}

#purchaseModal .purchase-checkout-section,
#purchaseModal .purchase-product-ticket,
#purchaseModal .purchase-order-ticket,
#purchaseModal .purchase-payment-card,
#purchaseModal .purchase-review-details,
#purchaseModal .purchase-config-total,
#purchaseModal .purchase-included-ticket,
#purchaseModal .purchase-clock-ticket {
  border-color: var(--checkout-border) !important;
  border-radius: 8px !important;
  background: var(--checkout-surface) !important;
  box-shadow: none !important;
}

#purchaseModal .purchase-select-step .purchase-program-section {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#purchaseModal .purchase-checkout-section {
  gap: 10px !important;
  padding: 14px !important;
}

#purchaseModal .purchase-checkout-section-head .micro-label,
#purchaseModal .purchase-product-ticket .micro-label,
#purchaseModal .purchase-order-ticket .micro-label,
#purchaseModal .purchase-included-ticket .micro-label,
#purchaseModal .purchase-clock-ticket .micro-label,
#purchaseModal .purchase-addon-copy small {
  color: #a9aeb6 !important;
  font-size: 8px !important;
  font-weight: 720 !important;
  letter-spacing: 0.08em !important;
}

#purchaseModal .purchase-checkout-section-head h4 {
  font-size: 15px !important;
  font-weight: 740 !important;
  letter-spacing: -0.02em !important;
}

#purchaseModal .purchase-checkout-section-head > span {
  color: #7f858e !important;
  font-size: 9px !important;
}

#purchaseModal .purchase-included-ticket {
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  padding: 11px 12px !important;
}

#purchaseModal .purchase-included-mark {
  width: 30px !important;
  height: 30px !important;
  border: 1px solid #277658 !important;
  border-radius: 6px !important;
  background: #10271f !important;
}

#purchaseModal .purchase-included-ticket > div > strong {
  font-size: 10px !important;
  font-weight: 680 !important;
}

#purchaseModal .purchase-included-ticket > strong {
  font-size: 12px !important;
  font-weight: 740 !important;
}

#purchaseModal .purchase-addon-list {
  gap: 8px !important;
}

#purchaseModal .purchase-addon-option {
  min-height: 82px !important;
  grid-template-columns: 40px minmax(0, 1fr) 56px !important;
  gap: 10px !important;
  padding: 10px 11px !important;
  border-color: var(--checkout-border) !important;
  border-radius: 7px !important;
  background: #121419 !important;
  box-shadow: none !important;
}

#purchaseModal .purchase-addon-icon {
  width: 40px !important;
  height: 40px !important;
  border: 1px solid #30343b !important;
  border-radius: 6px !important;
  background: #1a1d22 !important;
  font-size: 10px !important;
}

#purchaseModal .purchase-addon-copy > strong {
  font-size: 12px !important;
  font-weight: 740 !important;
}

#purchaseModal .purchase-addon-copy > span,
#purchaseModal .purchase-addon-copy > em {
  font-size: 8.5px !important;
}

#purchaseModal .purchase-addon-side {
  gap: 7px !important;
}

#purchaseModal .purchase-addon-side > strong {
  font-size: 10px !important;
  font-weight: 720 !important;
}

#purchaseModal .purchase-addon-side > i {
  width: 24px !important;
  height: 24px !important;
  border-color: #3b3f47 !important;
  border-radius: 5px !important;
  background: transparent !important;
}

#purchaseModal .purchase-addon-option.is-active {
  border-color: #8f3038 !important;
  background: #171013 !important;
}

#purchaseModal .purchase-addon-option.is-active .purchase-addon-icon,
#purchaseModal .purchase-addon-option.is-active .purchase-addon-side > i {
  border-color: #a63842 !important;
  border-radius: 5px !important;
  background: #74262d !important;
}

#purchaseModal .purchase-addon-option.is-disabled {
  opacity: 0.48 !important;
}

#purchaseModal .purchase-config-total {
  min-height: 46px !important;
  padding: 9px 12px !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-order-ticket {
  border-radius: 8px !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-order-head {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  padding: 12px !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-order-ticket .purchase-product-mark {
  width: 34px !important;
  height: 34px !important;
  border-radius: 6px !important;
  background: #191c21 !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-order-ticket h4 {
  font-size: 14px !important;
  font-weight: 740 !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-order-lines > div {
  min-height: 32px !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-order-lines .is-bonus {
  margin: 0 !important;
  padding-inline: 0 !important;
  border-color: var(--checkout-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-order-total {
  padding-block: 12px !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-order-total > strong {
  font-size: 23px !important;
  font-weight: 760 !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-order-meta {
  background: #090a0c !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-payment-card {
  padding: 12px !important;
  border-radius: 8px !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-payment-security {
  display: none !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-payment-methods {
  border-color: var(--checkout-border) !important;
  border-radius: 7px !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-payment-method {
  min-height: 60px !important;
  padding: 9px 10px !important;
  background: #111318 !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-payment-method-brand {
  width: 42px !important;
  height: 34px !important;
  border-radius: 6px !important;
  background: #1a1d22 !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-payment-method-indicator {
  width: 20px !important;
  height: 20px !important;
  border-width: 1px !important;
  border-radius: 5px !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-payment-method-indicator::after {
  width: 8px !important;
  height: 8px !important;
  border-radius: 2px !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-payment-provider-note {
  padding: 9px 10px !important;
  border: 1px solid var(--checkout-border-soft) !important;
  border-radius: 6px !important;
  background: #090a0c !important;
}

#purchaseModal[data-purchase-step="3"] .purchase-review-details,
#purchaseModal[data-purchase-step="3"] .purchase-checkout-drawer > summary {
  border-radius: 7px !important;
}

#purchaseModal .purchase-confidence-note,
#purchaseModal .purchase-legal-note {
  grid-template-columns: minmax(0, 1fr) !important;
  padding: 9px 10px !important;
  border-color: var(--checkout-border-soft) !important;
  border-radius: 6px !important;
  background: #090a0c !important;
}

#purchaseModal .purchase-confidence-note > span,
#purchaseModal .purchase-legal-note > span {
  display: none !important;
}

#purchaseModal .purchase-checkout-footer {
  min-height: 72px !important;
  gap: 7px 10px !important;
  padding: 9px 14px max(9px, env(safe-area-inset-bottom)) !important;
  border-top-color: var(--checkout-border) !important;
  background: #0d0f12 !important;
  box-shadow: none !important;
}

#purchaseModal .purchase-action-summary {
  min-width: 68px !important;
}

#purchaseModal .purchase-action-summary > span {
  color: #8f949d !important;
  font-size: 8px !important;
  font-weight: 720 !important;
}

#purchaseModal .purchase-action-summary > strong {
  font-size: 18px !important;
  font-weight: 760 !important;
}

#purchaseModal.purchase-checkout-modal .modal-actions .button {
  min-height: 48px !important;
  border-radius: 7px !important;
  font-weight: 740 !important;
  box-shadow: none !important;
}

#purchaseModal.purchase-checkout-modal .modal-actions .button-secondary {
  border-color: #30343a !important;
  background: #121419 !important;
}

#purchaseModal.purchase-checkout-modal .modal-actions .purchase-cta-continue {
  padding: 8px 9px 8px 15px !important;
  border-color: #e6e7e8 !important;
  border-radius: 7px !important;
  background: #e6e7e8 !important;
  color: #0a0b0d !important;
  box-shadow: none !important;
}

#purchaseModal.purchase-checkout-modal[data-purchase-step="3"] .modal-actions .purchase-cta-final {
  min-height: 48px !important;
  padding: 8px 9px 8px 15px !important;
  border-color: #e23c47 !important;
  border-radius: 7px !important;
  background: #e23c47 !important;
  box-shadow: none !important;
}

#purchaseModal .purchase-cta-icon,
#purchaseModal[data-purchase-step="3"] .purchase-cta-final .purchase-cta-icon {
  width: 32px !important;
  height: 32px !important;
  flex-basis: 32px !important;
  border-radius: 5px !important;
  background: #111318 !important;
}

#purchaseModal .purchase-footer-note {
  display: none !important;
}

#purchaseModal :is(button, input, summary, a):focus-visible {
  outline-color: #e7e8ea !important;
}

@media (max-width: 559px) {
  #purchaseModal.purchase-checkout-modal .purchase-checkout-sheet {
    border-radius: 0 !important;
  }

  #purchaseModal.purchase-checkout-modal #purchaseBody {
    padding: 13px 14px 18px !important;
  }
}

@media (max-width: 359px) {
  #purchaseModal.purchase-checkout-modal .stepper {
    padding-inline: 10px !important;
  }

  #purchaseModal.purchase-checkout-modal #purchaseBody {
    padding-inline: 10px !important;
  }

  #purchaseModal .purchase-addon-option {
    grid-template-columns: 38px minmax(0, 1fr) 50px !important;
    padding-inline: 9px !important;
  }

  #purchaseModal .purchase-checkout-footer {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 6px 8px !important;
    padding-inline: 10px !important;
  }

  #purchaseModal .purchase-action-summary {
    min-width: 56px !important;
  }

  #purchaseModal .purchase-action-summary > strong {
    font-size: 16px !important;
  }

  #purchaseModal.purchase-checkout-modal .modal-actions {
    gap: 5px !important;
  }

  #purchaseModal.purchase-checkout-modal .modal-actions .button {
    min-width: 50px !important;
  }

  #purchaseModal.purchase-checkout-modal .modal-actions .purchase-cta-continue,
  #purchaseModal.purchase-checkout-modal .modal-actions .purchase-cta-final {
    padding: 7px 7px 7px 10px !important;
    font-size: 11px !important;
  }

  #purchaseModal .purchase-cta-icon,
  #purchaseModal[data-purchase-step="3"] .purchase-cta-final .purchase-cta-icon {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
  }
}
