/* Additions to the approved reference and checkout theme. */
.checkout-card { overflow-wrap: anywhere; }
.checkout-card fieldset { border: 0; margin: 1.4rem 0; padding: 0; min-width: 0; }
.checkout-card legend { font-weight: 700; margin-bottom: 1rem; }
.checkout-card label { display: block; font-weight: 600; margin: 1rem 0 .4rem; }
.checkout-card label span, .field-help { color: var(--muted, #56645e); font-size: .9rem; }
.checkout-card input:not([type="hidden"]) { display: block; width: 100%; max-width: 100%; border: 1px solid #aebfb6; border-radius: .5rem; background: #fff; color: #1e3028; font: inherit; padding: .75rem; }
.checkout-card input:focus-visible { outline: 3px solid #397f67; outline-offset: 2px; }
.checkout-card fieldset:disabled { opacity: .65; }
.checkout-notice { padding: 1rem; background: #edf5f0; border: 1px solid #cadfd2; border-radius: .6rem; }
.checkout-error { padding: 1rem; background: #fff0ec; border: 1px solid #cf6c54; border-radius: .6rem; }
.pay-button { width: 100%; margin-top: 1.3rem; justify-content: center; }
.downloads { list-style: none; margin: 1.5rem 0; padding: 0; display: grid; gap: 1rem; }
.downloads li { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; }
.downloads span { color: var(--muted, #56645e); }
.downloads .button { overflow-wrap: anywhere; white-space: normal; }
.header-inner .brand { gap: 0; font-size: 22px; font-weight: 700; letter-spacing: -.04em; }
.header-inner .brand span { color: var(--green); }
.order-summary { min-width: 0; padding: 26px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.order-summary h2 { margin: 0 0 18px; font-size: 22px; line-height: 1.3; font-weight: 600; }
.order-summary > p { color: var(--muted); font-size: 13px; }
.order-summary .file-list { list-style: none; margin: 0; padding: 0; }
.order-summary .file-list > li { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 13px; overflow-wrap: anywhere; }
.order-summary .summary-total { display: flex; flex-direction: column; margin: 24px 0; color: var(--ink); }
.summary-total strong { font-size: 34px; line-height: 1.4; letter-spacing: -.04em; }
@media (max-width: 560px) { .header-inner { flex-wrap: wrap; gap: .75rem; } .header-inner nav { font-size: .9rem; } }

/* Archive contents: native details/summary works with keyboard and without JS. */
.order-summary .archive-help { margin: -.25rem 0 .5rem; line-height: 1.55; }
.archive-details summary { cursor: pointer; color: var(--ink); padding: .15rem 0; border-radius: .25rem; line-height: 1.5; }
.archive-details summary::marker { color: var(--green, #236654); }
.archive-details summary:hover .archive-name { color: var(--green, #236654); text-decoration: underline; text-underline-offset: .2em; }
.archive-details summary:focus-visible { outline: 3px solid #397f67; outline-offset: 4px; }
.archive-name { font-size: 14px; font-weight: 600; }
.archive-purpose { display: block; margin: .25rem 0 0 1.05rem; color: var(--muted, #56645e); font-size: 13px; }
.archive-details[open] summary { margin-bottom: .6rem; }
.archive-details .archive-contents { margin: .5rem 0 .25rem; padding-left: 1.2rem; color: var(--ink); font-size: 14px; line-height: 1.6; }
.archive-details .archive-contents > li { border: 0; padding: 0; margin: .45rem 0; font-size: inherit; }


.checkout-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.checkout-field-error{margin:.4rem 0 1rem;color:#9b2525;font-size:.92rem}
.checkout-field-error[hidden],.checkout-error[hidden]{display:none}
.checkout-card input[aria-invalid="true"]{border-color:#b23d3d}
