.ryze-payment-page {
  --ryze-ink: #111827;
  --ryze-muted: #687286;
  --ryze-blue: #244d79;
  --ryze-blue-dark: #163b61;
  --ryze-blue-soft: #e8f1f8;
  --ryze-gold: #c49640;
  --ryze-canvas: #f7f4ed;
  --ryze-surface: #fff;
  --ryze-border: #cbd4df;
  background:
    linear-gradient(rgba(36, 77, 121, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36, 77, 121, .045) 1px, transparent 1px),
    linear-gradient(145deg, #edf4fa 0, #fff 42rem);
  background-size: 4rem 4rem, 4rem 4rem, auto;
  color: var(--ryze-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0;
  overflow-x: clip;
}

.ryze-payment-page *, .ryze-payment-page *::before, .ryze-payment-page *::after { box-sizing: border-box; }
.ryze-payment-skip { background: #fff; left: -9999px; padding: .8rem; position: fixed; top: 1rem; z-index: 10000; }
.ryze-payment-skip:focus { left: 1rem; }
.ryze-payment-header { align-items: center; background: rgba(255,255,255,.9); border-bottom: 1px solid rgba(203,212,223,.8); display: flex; justify-content: space-between; margin: 0 auto; max-width: 100%; padding: 1rem clamp(1rem, 4vw, 3rem); }
.ryze-payment-brand { align-items: center; color: var(--ryze-ink); display: inline-flex; gap: .65rem; text-decoration: none; }
.ryze-payment-brand span { align-items: center; background: var(--ryze-blue); border-radius: .45rem; color: #fff; display: inline-flex; font-weight: 900; height: 2rem; justify-content: center; width: 2rem; }
.ryze-payment-header > span { color: var(--ryze-muted); font-size: .85rem; font-weight: 750; }
.ryze-payment-main { min-height: calc(100svh - 4.125rem); padding: clamp(2rem, 6vw, 4.5rem) clamp(.875rem, 4vw, 3rem); }
.ryze-payment-shell { display: grid; gap: 1.5rem; margin: 0 auto; min-width: 0; width: min(100%, 64rem); }
.ryze-payment-heading { display: grid; gap: .8rem; text-align: center; }
.ryze-payment-heading p { color: var(--ryze-blue); font-size: .78rem; font-weight: 850; letter-spacing: .15em; margin: 0; text-transform: uppercase; }
.ryze-payment-heading h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: 1; margin: 0; text-wrap: balance; }
.ryze-payment-heading span { color: var(--ryze-muted); font-size: clamp(1rem, 2vw, 1.16rem); line-height: 1.55; margin: 0 auto; max-width: 62ch; }
.ryze-payment-card { background: var(--ryze-surface); border: 1px solid var(--ryze-border); border-radius: 1.25rem; box-shadow: 0 1.5rem 4rem rgba(36,77,121,.12); min-width: 0; padding: clamp(1rem, 4vw, 2.5rem); }
.ryze-payment-card #edd_checkout_wrap, .ryze-payment-card #edd_checkout_form_wrap, .ryze-payment-card #edd_purchase_form { min-width: 0; width: 100%; }
.ryze-payment-card #edd_checkout_cart_form { margin: 0 0 2rem; }
.ryze-payment-card #edd_checkout_cart { border: 0; border-collapse: separate; border-spacing: 0; margin: 0; table-layout: fixed; width: 100%; }
.ryze-payment-card #edd_checkout_cart th { background: var(--ryze-blue-soft); border: 0; color: var(--ryze-blue-dark); font-size: .74rem; font-weight: 850; letter-spacing: .08em; padding: .8rem; text-align: left; text-transform: uppercase; }
.ryze-payment-card #edd_checkout_cart th:first-child { border-radius: .65rem 0 0 .65rem; }
.ryze-payment-card #edd_checkout_cart th:last-child { border-radius: 0 .65rem .65rem 0; text-align: right; }
.ryze-payment-card #edd_checkout_cart td { border-bottom: 1px solid var(--ryze-border); line-height: 1.45; overflow-wrap: anywhere; padding: 1rem .8rem; vertical-align: top; }
.ryze-payment-card #edd_checkout_cart td:last-child { text-align: right; }
.ryze-payment-card .edd_checkout_cart_item_title { font-weight: 800; }
.ryze-payment-card .edd_cart_amount, .ryze-payment-card .edd_cart_total { font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 800; }
.ryze-payment-card .edd_cart_item_image { display: none; }
.ryze-payment-card fieldset { border: 0; border-top: 1px solid var(--ryze-border); margin: 1.5rem 0 0; min-width: 0; padding: 1.5rem 0 0; }
.ryze-payment-card legend { color: var(--ryze-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 3vw, 1.85rem); font-weight: 800; padding: 0 .5rem 0 0; }
.ryze-payment-card label { color: var(--ryze-ink); display: block; font-size: .92rem; font-weight: 750; margin-bottom: .4rem; }
.ryze-payment-card input[type="text"], .ryze-payment-card input[type="email"], .ryze-payment-card input[type="password"], .ryze-payment-card input[type="tel"], .ryze-payment-card select, .ryze-payment-card textarea { background: #fff; border: 1px solid #aebbc9; border-radius: .65rem; color: var(--ryze-ink); font: inherit; min-height: 3rem; padding: .7rem .8rem; width: 100%; }
.ryze-payment-card input:focus, .ryze-payment-card select:focus, .ryze-payment-card textarea:focus { border-color: var(--ryze-blue); box-shadow: 0 0 0 3px rgba(36,77,121,.18); outline: 0; }
.ryze-payment-card .edd-description, .ryze-payment-card .edd-payment-icons, .ryze-payment-card .edd-gateway-option { color: var(--ryze-muted); font-size: .85rem; line-height: 1.45; }
.ryze-payment-card #edd-discount-code-wrap, .ryze-payment-card #edd-email-wrap, .ryze-payment-card #edd-first-name-wrap, .ryze-payment-card #edd-last-name-wrap, .ryze-payment-card #edd-card-name-wrap, .ryze-payment-card #edd-card-address-wrap, .ryze-payment-card #edd-card-address-2-wrap, .ryze-payment-card #edd-card-city-wrap, .ryze-payment-card #edd-card-state-wrap, .ryze-payment-card #edd-card-zip-wrap, .ryze-payment-card #edd-card-country-wrap { margin-bottom: 1rem; }
.ryze-payment-card input[type="checkbox"], .ryze-payment-card input[type="radio"] { accent-color: var(--ryze-blue); height: 1.15rem; margin-right: .45rem; width: 1.15rem; }
.ryze-payment-card #edd-purchase-button, .ryze-payment-card .edd-submit, .ryze-payment-card input.edd-submit, .ryze-payment-card button.edd-submit { appearance: none; background: var(--ryze-blue); border: 0; border-radius: .75rem; color: #fff; cursor: pointer; display: block; font: inherit; font-size: 1.05rem; font-weight: 850; min-height: 3.25rem; padding: .9rem 1.25rem; text-align: center; width: 100%; }
.ryze-payment-card #edd-purchase-button:hover, .ryze-payment-card #edd-purchase-button:focus-visible, .ryze-payment-card .edd-submit:hover, .ryze-payment-card .edd-submit:focus-visible { background: var(--ryze-blue-dark); }
.ryze-payment-card .edd_errors, .ryze-payment-card .edd-alert { background: #fff7e7; border: 1px solid #c8851d; border-radius: .65rem; color: #6a3e00; list-style-position: inside; margin: 0 0 1rem; padding: .85rem 1rem; }
.ryze-payment-trust { color: var(--ryze-muted); display: grid; font-size: .88rem; gap: .5rem; line-height: 1.45; text-align: center; }
.ryze-payment-trust p { margin: 0; }
.ryze-payment-trust p:last-child { align-items: center; display: flex; flex-wrap: wrap; gap: .4rem .65rem; justify-content: center; }
.ryze-payment-trust a { color: var(--ryze-blue-dark); font-weight: 750; text-underline-offset: 3px; }
.ryze-payment-page :focus-visible { outline: 3px solid #a84d00; outline-offset: 3px; }

@media (max-width: 42rem) {
  .ryze-payment-header > span { display: none; }
  .ryze-payment-main { padding-left: .75rem; padding-right: .75rem; }
  .ryze-payment-card { border-radius: 1rem; padding: 1rem; }
  .ryze-payment-card #edd_checkout_cart thead { display: none; }
  .ryze-payment-card #edd_checkout_cart, .ryze-payment-card #edd_checkout_cart tbody, .ryze-payment-card #edd_checkout_cart tr, .ryze-payment-card #edd_checkout_cart td { display: block; width: 100%; }
  .ryze-payment-card #edd_checkout_cart tr { border-bottom: 1px solid var(--ryze-border); display: grid; gap: .35rem; padding: .9rem 0; }
  .ryze-payment-card #edd_checkout_cart td { border: 0; padding: 0; text-align: left; }
  .ryze-payment-card #edd_checkout_cart td:last-child { text-align: left; }
  .ryze-payment-card .edd_cart_total { font-size: 1.15rem; }
  .ryze-payment-card fieldset { margin-top: 1.25rem; padding-top: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ryze-payment-page *, .ryze-payment-page *::before, .ryze-payment-page *::after { scroll-behavior: auto !important; transition: none !important; }
}
