/* PlanOpt Orders: order page. Sits on the standard content column (the page's Kadence row); palette, type and
   buttons follow STYLE-RULES (Manrope 400/600/700, #1A202C / #2D3748, tint #D8EEFC, primary #FFFF00). */
.po-order { color: #2D3748; font-size: 16px; line-height: 1.6; }
.po-order h2 { margin: 0 0 24px; font-size: 36px; line-height: 1.3; font-weight: 700; color: #1A202C; text-wrap: balance; letter-spacing: normal; text-transform: none; }
.po-order__section + .po-order__section, .po-order__form { margin-top: 48px; }
.po-order__form .po-order__section { margin-top: 0; }
.po-order__banner, .po-order__notice, .po-order__alert { margin: 0 0 24px; padding: 12px 16px; border-radius: 4px; border-left: 4px solid #0A335F; background: #D8EEFC; color: #1A202C; }
.po-order__alert { border-left-color: #B42318; background: #FFFFFF; border: 1px solid #B42318; border-left-width: 4px; }
.po-order__summary { padding: 24px; background: #D8EEFC; border-radius: 10px; color: #1A202C; }
.po-order__product { margin: 0 0 16px; font-size: 18px; font-weight: 700; }
.po-order__dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 0; }
.po-order__dl div { min-width: 0; }
.po-order__dl dt { margin: 0; font-size: 14px; font-weight: 600; color: #2D3748; }
.po-order__dl dd { margin: 0; font-size: 16px; font-weight: 600; color: #1A202C; }
.po-order__code { white-space: nowrap; }
.po-order__total { margin-top: 24px; padding-top: 16px; border-top: 1px solid #FFFFFF; }
.po-order .po-order__line { display: flex; justify-content: space-between; gap: 16px; margin: 0 0 4px; }
.po-order .po-order__line--total { margin-top: 8px; font-size: 28px; font-weight: 700; line-height: 1.3; }
.po-order .po-order__tax { margin: 4px 0 0; padding-left: 0; font-size: 16px; color: #2D3748; text-align: left; } /* 0.10.43: USD/tax note, same left-edge rule as .po-price-note */
.po-order__change { margin: 16px 0 0; }
.po-order__dlline { margin: 0 0 4px; }
.po-order__next { margin: 24px 0 0; }
.po-order__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.po-order__field label, .po-order__check label { display: block; margin: 0 0 4px; font-size: 16px; font-weight: 600; color: #1A202C; }
.po-order__check label { display: inline; font-weight: 400; color: #2D3748; }
.po-order__opt { font-weight: 400; color: #2D3748; }
.po-order__hint { margin: 0 0 4px; font-size: 14px; color: #2D3748; }
.po-order__field input { box-sizing: border-box; width: 100%; min-height: 48px; padding: 8px 12px; font: inherit; font-size: 16px; color: #1A202C; background: #FFFFFF; border: 1px solid #2D3748; border-radius: 4px; }
.po-order__field input:focus-visible, .po-order__check input:focus-visible { outline: 2px solid #215387; outline-offset: 2px; }
.po-order__field--error input { border-color: #B42318; border-width: 2px; }
.po-order .po-order__error { margin: 4px 0 0; font-size: 14px; font-weight: 600; color: #B42318; }
.po-order__promo { display: flex; align-items: flex-end; gap: 16px; margin-top: 24px; max-width: calc(50% - 12px); }
.po-order__promo .po-order__field { flex: 1 1 auto; min-width: 0; }
.po-order__promo .po-order__field--error + .po-order__apply { align-self: center; }
.po-order__terms { margin-top: 32px; padding-top: 24px; border-top: 1px solid #E2E8F0; }
.po-order__check { display: flex; gap: 12px; align-items: flex-start; margin: 0; }
.po-order__check input { width: 20px; height: 20px; margin: 3px 0 0; flex: 0 0 auto; accent-color: #0A335F; }
.po-order__actions { display: flex; justify-content: center; gap: 16px; margin-top: 32px; }
.po-order .po-order__secure { margin: 16px 0 0; text-align: center; }
.po-order__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 767px) {
	.po-order h2 { font-size: 28px; }
	.po-order__summary { padding: 16px; }
	.po-order__dl, .po-order__grid { grid-template-columns: 1fr; }
	.po-order__promo { max-width: none; }
	.po-order__actions { flex-direction: column; }
	.po-order__actions .po-btn { width: 100%; }
	.po-order .po-order__line--total { font-size: 24px; }
}
.po-order__checkwrap + .po-order__checkwrap { margin-top: 16px; }
.po-order .po-order__oneoff { margin: 16px 0 0; font-size: 16px; font-weight: 600; color: #1A202C; }
.po-order .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* 0.1.0 dev fixes (Oct 8): theme paragraph/form margins won over the base rules */
.po-order .po-order__form { margin-top: 48px; }
.po-order p.po-order__hint { margin: 0 0 8px; }
.po-order .po-order__apply { flex: 0 0 auto; white-space: nowrap; }
.po-order .po-order__promo + .po-order__field { margin-top: 24px; max-width: calc(50% - 12px); }
@media (max-width: 767px) { .po-order .po-order__promo + .po-order__field { max-width: none; } }
.po-order .po-order__terms { margin-top: 32px; }
/* 0.2.0 client area (/account/) */
.po-account__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; align-items: start; }
.po-order .po-account__cols .po-order__section, .po-order .po-account__cols .po-order__form { margin-top: 0; }
.po-order .po-account__cols .po-order__field + .po-order__field { margin-top: 16px; }
.po-order .po-account__cols .po-order__check { margin-top: 16px; }
.po-order .po-account__col h2 + p, .po-order .po-account__col .po-order__notice { margin: 0 0 24px; }
.po-order .po-account__hello { margin: 0 0 32px; }
/* 0.10.40: Sign out at the right end of the row; wraps to its own right-aligned line when it does not fit; long emails wrap */
.po-order .po-account__hello { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; column-gap: 24px; row-gap: 4px; }
.po-order .po-account__hello-main { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.po-order .po-account__hello strong { overflow-wrap: anywhere; }
.po-order .po-account__signout { margin-left: auto; white-space: nowrap; }
.po-account__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.po-order .po-account__license { display: flex; flex-direction: column; margin: 0; padding: 24px; background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 10px; text-align: left; }
.po-account__license--soon { border-color: #0A335F; box-shadow: inset 4px 0 0 #0A335F; }
.po-order .po-account__status { display: inline-block; align-self: flex-start; margin: 0 0 16px; padding: 4px 12px; border-radius: 4px; font-size: 14px; font-weight: 600; background: #D8EEFC; color: #1A202C; }
.po-account__status--expired, .po-account__status--refunded { background: #EDF2F7; }
.po-account__license .po-order__dl { margin-bottom: 24px; }
.po-account__actions { display: flex; flex-direction: column; gap: 16px; margin-top: auto; }
/* 0.10.30 (Pixel): Desktop installer note under the License file field; cards stay flex columns, buttons at the bottom */
.po-order .po-account__license .po-order__dl.po-account__dl--note { margin-bottom: 0; }
.po-order__dl .po-account__filefield { grid-column: 1 / -1; }
.po-order .po-account__filenote { margin: 8px 0 24px; font-size: 14px; font-weight: 400; line-height: 1.5; color: #2D3748; }
.po-account__actions .po-btn { width: 100%; }
.po-order .po-account__note { font-size: 14px; color: #2D3748; }
.po-order .po-account__more { margin: 32px 0 0; text-align: left; } /* V1-06 */
.po-account__tablewrap { overflow-x: auto; }
.po-account__table { width: 100%; border-collapse: collapse; font-size: 16px; }
.po-account__table th, .po-account__table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid #E2E8F0; vertical-align: top; }
.po-account__table th { font-weight: 600; color: #1A202C; background: #D8EEFC; }
.po-order .po-account__list { margin: 0; padding-left: 20px; }
.po-order .po-account__list li + li { margin-top: 8px; }
@media (max-width: 1024px) { .po-account__grid { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
	.po-account__cols { grid-template-columns: 1fr; gap: 48px; }
	.po-order .po-account__license { padding: 16px; }
	.po-account__table th, .po-account__table td { padding: 8px; }
}
@media (max-width: 767px) {
	.po-account__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.po-account__table, .po-account__table tbody, .po-account__table tr, .po-account__table td { display: block; width: 100%; box-sizing: border-box; }
	.po-account__table tr { padding: 12px 0; border-bottom: 1px solid #E2E8F0; }
	.po-account__table td { display: flex; justify-content: space-between; gap: 16px; padding: 4px 0; border: 0; text-align: right; }
	.po-account__table td::before { content: attr(data-label); font-weight: 600; color: #1A202C; text-align: left; }
}
/* 0.3.0 Pixel Phase 2 review (Oct 9) */
.po-order p.po-order__hint { margin: 8px 0 0; }                                   /* P2-03 hint below input */
.po-order .po-order__apply { min-height: 48px; padding: 0 24px; }                 /* P2-04 field-inline button */
.po-order .po-order__field input:focus { border-color: #2D3748; box-shadow: none; } /* P2-05 */
.po-order .po-order__field--error input, .po-order .po-order__field--error input:focus { border-color: #B42318; border-width: 2px; }
.po-order__actions { justify-content: flex-start; }                               /* P2-06 */
.po-order .po-order__secure { text-align: left; }
@media (max-width: 1024px) { .po-account__cols { grid-template-columns: 1fr; } }  /* P2-07 */
.po-order h2 { line-height: 1.5; }                                                /* P2-10 */
.po-order .po-order__product { font-size: var(--global-kb-font-size-md, 20px); } /* P2-11 */
.po-order .po-account__status--expired, .po-order .po-account__status--refunded { background: #E2E8F0; } /* P2-12 */
.po-account .po-order__form .po-order__field + .po-order__field { margin-top: 16px; }
.po-order .po-account__narrow .po-order__form { margin-top: 24px; }
.po-order__promo { align-items: flex-start; }
.po-order .po-order__promo .po-order__apply { margin-top: 29.6px; align-self: flex-start; } /* label 25.6 + 4px gap: tops align with the 48px input */
.po-order .po-account__signin .po-order__form, .po-order .po-account__signin > p { max-width: 480px; } /* V1-07 single-form pages */
.po-order p.po-account__forgot { margin: 16px 0 0; }
@media (min-width: 768px) { .po-account__table td { white-space: nowrap; } } /* V1-05 */
/* 0.4.0 Dark first section (Muhammad, Oct 10): the page row is a navy band (row class po-band-dark, #0A335F);
   .po-band-alt sections are full-bleed #D8EEFC bands, so sections alternate navy / tint / navy. */
.po-band-dark .po-order { color: #FFFFFF; }
.po-band-dark .po-order h2:not(.po-band-alt h2) { color: #FFFFFF; }
.po-band-dark .po-order :is(.po-order__secure, .po-account__hello, .po-account__list, .po-account__signin > p):not(.po-band-alt *) { color: #FFFFFF; }
.po-band-dark .po-order a.po-quote-link:not(.po-band-alt *, .po-order__summary *, .po-order__notice *, .po-account__license *, .po-order__alert *) { color: #FFFFFF; font-weight: 600; text-decoration: none; }
.po-band-dark .po-order a.po-quote-link:not(.po-band-alt *, .po-order__summary *, .po-order__notice *, .po-account__license *, .po-order__alert *):is(:hover, :focus-visible) { color: #FFFF00; text-decoration: underline; text-underline-offset: 3px; outline: 2px solid #FFFF00; outline-offset: 2px; }
.po-band-dark .po-order .po-btn--secondary:not(.po-band-alt *, .po-account__license *) { border-color: #FFFFFF; color: #FFFFFF; background: transparent; }
.po-band-dark .po-order .po-btn--secondary:not(.po-band-alt *, .po-account__license *):is(:hover, :focus-visible) { border-color: #FFFF00; color: #FFFF00; }
.po-band-dark .po-order .po-btn:not(.po-band-alt *, .po-account__license *):focus-visible { outline: 2px solid #FFFF00; outline-offset: 2px; }
/* fields on navy: white inputs, white labels, yellow focus, #FF8A80 errors */
.po-band-dark .po-order :is(.po-order__field label, .po-order__check label, .po-order__opt, p.po-order__hint):not(.po-band-alt *) { color: #FFFFFF; }
.po-band-dark .po-order :is(.po-order__field input, .po-order__check input):not(.po-band-alt *):focus-visible { outline: 2px solid #FFFF00; outline-offset: 2px; }
.po-band-dark .po-order .po-order__check input:not(.po-band-alt *) { accent-color: #FFFF00; }
.po-band-dark .po-order .po-order__field--error:not(.po-band-alt *) input, .po-band-dark .po-order .po-order__field--error:not(.po-band-alt *) input:focus { border: 2px solid #FF8A80; }
.po-band-dark .po-order .po-order__error:not(.po-band-alt *) { color: #FF8A80; }
/* tint bands inside the navy row */
.po-band-dark .po-order .po-band-alt { position: relative; margin-top: 48px; padding: 48px 0; background: #D8EEFC; box-shadow: 0 0 0 100vmax #D8EEFC; clip-path: inset(0 -100vmax); color: #2D3748; }
.po-band-dark .po-order .po-band-alt + .po-order__section { margin-top: 48px; }
.po-band-dark .po-order > .po-band-alt:last-child { margin-bottom: -48px; }
.po-band-dark .po-order .po-band-alt .po-order__summary, .po-band-dark .po-order .po-band-alt .po-account__tablewrap { background: #FFFFFF; }
.po-band-dark .po-order .po-band-alt .po-account__tablewrap { border-radius: 4px; }
.po-band-dark .po-order .po-order__terms:not(.po-band-alt *) { border-top-color: rgba(255,255,255,.4); }
.po-band-dark .po-order .po-account__license, .po-band-dark .po-order .po-band-alt { color: #2D3748; }
.po-band-dark .po-order .po-account__license .po-order__product { color: #1A202C; }
.po-order .po-account__orderno{margin:4px 0 12px;font-weight:600;color:#2D3748;}

/* === After-submit states, one pattern (0.10.2, 2026-10-13) ===
   Confirmation: heading + one line, no box, left edge on the column. Error: white card, dark text, red edge (readable on navy).
   Info notice on navy: plain white text, no tinted box. */
.po-order .po-confirm { margin: 0 0 32px; padding: 0; background: none; border: 0; text-align: left; outline: none; }
.po-order .po-confirm h2 { margin: 0 0 12px; }
.po-order .po-confirm p { margin: 0; max-width: 640px; }
.po-order .po-account__signin .po-confirm + .po-order__form { margin-top: 0; }
.po-band-dark .po-order .po-confirm:not(.po-band-alt *), .po-band-dark .po-order .po-confirm:not(.po-band-alt *) :is(h2, p) { color: #FFFFFF; }
.po-band-dark .po-order p.po-order__alert.po-order__alert { color: #1A202C; background: #FFFFFF; font-weight: 500; }
.po-band-dark .po-order p.po-order__alert.po-order__alert a { color: #215387; font-weight: 600; }
.po-account .po-order__alert { max-width: 480px; box-sizing: border-box; }
.po-band-dark .po-order p.po-order__notice:not(.po-band-alt *) { padding: 0; border: 0; background: none; color: #FFFFFF; font-weight: 600; }
.po-band-dark .po-order p.po-order__notice:not(.po-band-alt *) a { color: #FFFFFF; }
body.po-fill #inner-wrap, body.po-fill #primary, body.po-fill #primary > .content-container, body.po-fill #main, body.po-fill #main > .content-wrap, body.po-fill article.entry, body.po-fill .entry-content-wrap, body.po-fill .entry-content { display: flex; flex-direction: column; flex: 1 0 auto; }
body.po-fill .entry-content > .kb-row-layout-wrap:last-of-type { flex: 1 0 auto; }
/* 0.10.3: space between the order summary card and the text after it (wire/PO and paid confirmations), all widths */
.po-order .po-order__section .po-order__summary + .po-order__next, .po-order .po-order__section .po-order__summary + .po-order__actions { margin-top: 24px; }
.po-order .po-order__section .po-order__actions + .po-order__next { margin-top: 16px; }
/* 0.10.5 Verify 1 */
.po-order .po-nowrap, .po-order .po-order__code, .po-order a[href^="mailto:"] { white-space: nowrap; }
.po-order p, .po-account p { text-wrap: pretty; }
.po-order .po-account__narrow .po-order__form, .po-order .po-account__narrow > p { max-width: 480px; }
.po-order .po-order__summary .po-order__dl { margin-bottom: 0; }
.po-order .po-order__summary .po-order__total { border-top-color: #A0AEC0; }
/* 0.10.44 /order/ confirm section (Muhammad 5:38 PM; Pixel spec ux-review/order-confirm/spec.md; Lex copy).
   Two text sizes only: body 16px/1.5 #1A202C, fine print 14px/1.5 #4A5568. Spacing top to bottom:
   Terms 16 EDU 8 reason 16 EU (note 4) 32 order line 4 delivery 24 buttons 32 divider 16 fine print (8 between). */
.po-order .po-order__terms, .po-order .po-order__terms .po-order__check label, .po-order .po-order__terms .po-order__eduwhy label,
.po-order p.po-order__orderline, .po-order p.po-order__delivery { font-size: 16px; line-height: 1.5; color: #1A202C; }
.po-order .po-order__terms .po-order__check label { font-weight: 400; margin: 0; } /* label is display:block from an older rule; its 4px bottom margin added to the 16/8px gaps */
.po-order .po-order__terms p.po-order__check { gap: 12px; margin: 0; } /* Kadence .single-content p adds 32px below a checkbox line when an error follows */
.po-order .po-order__terms .po-order__check input { width: 20px; height: 20px; margin: 2px 0 0; }
.po-order .po-order__terms a.po-quote-link, .po-order .po-order__fine a.po-quote-link, .po-order p.po-order__eunote a { font-weight: 600; color: #215387; }
.po-order .po-order__terms .po-order__checkwrap + .po-order__checkwrap { margin-top: 16px; }
.po-order .po-order__terms .po-order__checkwrap .po-order__error { margin: 4px 0 0 32px; }
.po-order .po-order__terms .po-order__eduwhy { margin: 8px 0 0 32px; }
.po-order .po-order__terms .po-order__eduwhy + .po-order__checkwrap { margin-top: 16px; }
.po-order .po-order__terms .po-order__eduwhy label { display: block; margin: 0 0 4px; font-weight: 600; }
.po-order .po-order__terms .po-order__eduwhy .po-order__opt { font-weight: 400; color: #1A202C; }
.po-order .po-order__terms .po-order__eduwhy textarea { display: block; box-sizing: border-box; width: 100%; height: 72px; min-height: 72px; margin: 0; padding: 8px 12px; font: inherit; font-size: 16px; line-height: 1.5; color: #1A202C; background: #FFFFFF; border: 1px solid #2D3748; border-radius: 4px; resize: vertical; }
.po-order .po-order__terms .po-order__eduwhy textarea:focus-visible { outline: 2px solid #215387; outline-offset: 2px; }
.po-order .po-order__terms .po-order__eduwhy.po-order__field--error textarea { border: 2px solid #B42318; }
.po-order .po-order__terms .po-order__eduwhy .po-order__error { margin: 4px 0 0; }
/* reason field shows once the Educational box is ticked (kept visible while it carries an error) */
.po-order .po-order__terms:has(#po-edu:not(:checked)) .po-order__eduwhy:not(.po-order__field--error) { display: none; }
.po-order p.po-order__fineprint { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 400; color: #4A5568; text-align: left; }
.po-order p.po-order__eunote { margin: 4px 0 0 32px; }
.po-order p.po-order__orderline { margin: 32px 0 0; font-weight: 600; }
.po-order p.po-order__delivery { margin: 4px 0 0; font-weight: 400; }
.po-order .po-order__form .po-order__orderline ~ .po-order__actions { margin-top: 24px; justify-content: flex-start; }
.po-order .po-order__fine { margin-top: 32px; padding-top: 16px; border-top: 1px solid rgba(10, 51, 95, .15); }
.po-order .po-order__fine p + p { margin-top: 8px; }
/* 0.10.44: the confirm block sits in the 720px column, left-aligned with the fields above (full width below 768px) */
.po-order .po-order__form .po-order__terms, .po-order .po-order__form .po-order__orderline, .po-order .po-order__form .po-order__delivery,
.po-order .po-order__form .po-order__orderline ~ .po-order__actions, .po-order .po-order__form .po-order__fine { max-width: 720px; box-sizing: border-box; }
/* 0.10.45 (Quinn run9): error summary (O44-1), EU box wrapper shown/hidden by country (O44-3) */
.po-order .po-order__terms .po-order__eu[hidden] { display: none; }
.po-order .po-order__terms .po-order__checkwrap + .po-order__eu, .po-order .po-order__terms .po-order__eduwhy + .po-order__eu { margin-top: 16px; }
.po-order .po-order__errsum { margin: 0 0 24px; padding: 12px 16px; background: #FFFFFF; border: 1px solid #B42318; border-left-width: 4px; border-radius: 4px; color: #1A202C; font-size: 16px; line-height: 1.5; }
.po-order .po-order__errsum:focus { outline: 2px solid #215387; outline-offset: 2px; }
.po-order .po-order__errsum p.po-order__errsum-h { margin: 0 0 4px; font-size: 16px; font-weight: 600; color: #1A202C; }
.po-order .po-order__errsum ul { margin: 0; padding-left: 20px; }
.po-order .po-order__errsum li { margin: 0; font-size: 16px; }
.po-order .po-order__errsum a { color: #B42318; font-weight: 400; text-decoration: underline; text-underline-offset: 2px; } /* 0.10.47 (Pixel): 400 */
.po-order .po-order__errsum a:hover, .po-order .po-order__errsum a:focus:hover { color: #B42318; text-decoration: none; }
/* 0.10.46 (Pixel): error summary under the "Your details" heading; focused on load, 24px clear of the top when scrolled to */
.po-order .po-order__form .po-order__errsum { max-width: 720px; box-sizing: border-box; scroll-margin-top: 24px; }
