.esign-purchase-shell #ts-selected-price del { display:block; font-size:15px; font-weight:400; color:#65758a; }
.esign-purchase-shell .payment-totals { max-width:680px; margin:24px 0; }
.esign-purchase-shell .payment-totals > div { display:flex; justify-content:space-between; gap:24px; padding:12px 0; border-bottom:1px solid #e2e7ef; }
.esign-purchase-shell .payment-totals dd { margin:0; white-space:nowrap; font-weight:700; }
.esign-purchase-shell .payment-totals .payment-total { font-size:22px; color:#ffda63; padding:16px; border-top:2px solid var(--ayy-gold-500); }
.esign-purchase-shell #ts-result h2 { font-size:24px; }
.esign-purchase-shell #payment-availability { max-width:700px; line-height:1.6; }
.esign-purchase-shell button:disabled { cursor:not-allowed; opacity:.65; }
.esign-purchase-shell .campaign-code { margin:24px 0; padding:20px; border:1px solid #e2e7ef; border-radius:12px; }
.esign-purchase-shell .campaign-input { display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }
.esign-purchase-shell #campaign-code { min-width:0; max-width:100%; padding:12px; border:1px solid var(--ayy-border-input); border-radius:8px; }
.esign-purchase-shell #campaign-message { margin-bottom:0; }
.esign-purchase-shell #checkout-error { color:#b8092d; }
.esign-purchase-shell [hidden] { display:none !important; }
@media(max-width:600px) {
 .esign-purchase-shell .payment-totals > div { gap:10px; font-size:14px; }
 .esign-purchase-shell .payment-totals .payment-total { font-size:18px; }
 .esign-purchase-shell #campaign-code { flex:1 1 100%; width:100%; }
}

.esign-purchase-shell .esign-selection-photo { object-fit:contain; }

.purchase-currency{max-width:420px;margin:18px 0}.purchase-currency select{width:100%}#payment-frame iframe{width:100%;height:760px;border:0;margin-top:24px;background:#fff}#payment-reference{font-size:.85rem;overflow-wrap:anywhere}#payment-field-errors:not(:empty){padding:16px;border-left:3px solid #cc0033;background:#fff3f5;margin-bottom:16px}#api-catalog-message{color:var(--text-secondary)}@media(max-width:620px){#payment-frame iframe{height:820px}}

/* Shared, native radio choices for signature and invoice types. */
.esign-purchase-shell .purchase-type { margin: 4px 0 24px; }
.esign-purchase-shell #ts-form .purchase-type-title { margin: 0 0 20px; color: var(--text-primary, #071535); font: 700 20px/1.4 var(--ayy-font-sans); letter-spacing: -.02em; }
.esign-purchase-shell .purchase-type-title > span { color: #9f7031; font-size: 14px; }
.esign-purchase-shell .purchase-type-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.esign-purchase-shell #ts-form .purchase-type-card { position: relative; display: block; margin: 0; cursor: pointer; }
.esign-purchase-shell #ts-form .purchase-type-card > input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.esign-purchase-shell .purchase-type-content { display: flex; min-height: 132px; height: 100%; padding: 20px 16px; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border: 2px solid var(--ayy-border-input); border-radius: 13px; background: #fff; text-align: center; transition: border-color .18s, background-color .18s, box-shadow .18s; }
.esign-purchase-shell .purchase-type-content svg { width: 32px; height: 32px; margin-bottom: 3px; fill: #9f7031; }
.esign-purchase-shell .purchase-type-content strong { color: #15253e; font: 700 17px/1.4 var(--ayy-font-sans); }
.esign-purchase-shell .purchase-type-content small { color: #68788b; font: 400 13px/1.5 var(--ayy-font-sans); }
.esign-purchase-shell .purchase-type-card:hover .purchase-type-content { border-color: #bb8a45; }
.esign-purchase-shell .purchase-type-card > input:checked + .purchase-type-content { border-color: var(--ayy-gold-600); background: #fffaf2; box-shadow: 0 3px 12px rgb(159 112 49 / 8%); }
.esign-purchase-shell .purchase-type-card > input:focus-visible + .purchase-type-content { outline: 3px solid var(--ayy-gold-500); outline-offset: 3px; }
.esign-purchase-shell #ts-form input[readonly] { background: #f3f5f8; color: var(--ayy-text-muted); }
.esign-purchase-shell .invoice-type-note { margin: -6px 0 20px; font-size: 14px; line-height: 1.6; }
@media (max-width: 480px) {
    .esign-purchase-shell .purchase-type-options { grid-template-columns: 1fr; gap: 12px; }
    .esign-purchase-shell .purchase-type-content { min-height: 120px; padding: 16px; }
}

/* Make a confirmed campaign and its previous price easy to scan. */
.esign-purchase-shell .esign-selection #ts-selected-quantity.has-campaign {
    align-self: center; justify-self: stretch; padding: 9px 12px;
    border: 1px solid var(--ayy-gold-200, #f5d8a5); border-radius: 10px;
    background: var(--ayy-gold-50, #fff9ee); color: var(--ayy-gold-600, #c88516);
    font: 700 18px/1.5 var(--ayy-font-sans); text-align: center; overflow-wrap: anywhere;
}
.esign-purchase-shell #campaign-message.campaign-applied {
    margin: 18px 0 0; padding: 14px 18px; border-radius: 10px;
    border: 1px solid var(--ayy-gold-200, #f5d8a5); background: var(--ayy-gold-50, #fff9ee);
    color: var(--ayy-gold-600, #c88516); font: 700 20px/1.5 var(--ayy-font-sans);
    text-align: center; overflow-wrap: anywhere;
}
.esign-purchase-shell #ts-selected-price.esign-discount-price del {
    padding: 3px 9px; border-radius: 6px; background: var(--ayy-gold-50, #fff9ee);
    color: #52617a; font: 700 19px/1.4 var(--ayy-font-sans);
    text-decoration-color: var(--ayy-gold-600, #c88516); text-decoration-thickness: 2px;
}
@media (max-width: 600px) {
    .esign-purchase-shell .esign-selection #ts-selected-quantity.has-campaign { font-size: 15px; padding: 8px; }
    .esign-purchase-shell #campaign-message.campaign-applied { font-size: 17px; padding: 12px; }
    .esign-purchase-shell #ts-selected-price.esign-discount-price del { font-size: 17px; }
}

.esign-purchase-shell #payment-availability { padding: 14px 18px; border: 1px solid var(--ayy-gold-200, #f5d8a5); border-radius: 10px; background: var(--ayy-gold-50, #fff9ee); font-weight: 600; }
.esign-purchase-shell #payment-availability.payment-notice-error { color: #9d1230; background: #fff2f4; border-color: #f4c1ca; }
.esign-purchase-shell #payment-frame { scroll-margin-top: 120px; }

.purchase-draft-tools,.payment-session-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:0 0 20px; padding:16px 20px; border:1px solid #e2e7ef; border-radius:12px; background:#fff; }
.purchase-draft-tools p { flex:1; min-width:180px; margin:0; font-size:13px; line-height:1.6; color:#52617a; }
.payment-session-actions small { color:#52617a; }
.security-word-control { position:relative; }
.esign-purchase-shell #ts-form .security-word-control input { padding-right:54px; width:100%; margin-top:0; }
#security-word-toggle { position:absolute; top:50%; right:7px; transform:translateY(-50%); width:40px; height:40px; padding:9px; display:grid; place-items:center; background:transparent; border:0; border-radius:8px; color:#9f7031; cursor:pointer; }
#security-word-toggle svg { width:22px; height:22px; }
#security-word-toggle:focus-visible { outline:2px solid var(--ayy-gold-500); }
#tckn-feedback { color:#a81535; font-size:12px; line-height:1.5; }
.security-word-field { display:flex; flex-direction:column; gap:7px; }

#security-word::-ms-reveal, #security-word::-ms-clear { display:none; }

#payment-expired-actions { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }
#payment-expired-actions p { flex-basis:100%; margin:0 0 4px; color:#52617a; font-size:14px; line-height:1.6; }

.esign-purchase-shell #ts-form .invoice-use-shipping { grid-column:1 / -1; display:flex; align-items:center; gap:10px; margin:0; padding:12px 14px; border:1px solid #eadcc6; border-radius:10px; background:#fffaf2; color:var(--ayy-navy-900, #080c46); font-size:14px; font-weight:600; cursor:pointer; }
.esign-purchase-shell #ts-form .invoice-use-shipping input { width:18px; height:18px; flex:0 0 18px; margin:0; padding:0; accent-color:var(--ayy-gold-600); cursor:pointer; }
.esign-purchase-shell #ts-form .invoice-use-shipping input:focus-visible { outline:2px solid var(--ayy-gold-500); outline-offset:3px; }

.purchase-privacy { margin:24px 0 18px; padding:20px; border:1px solid #e4d4b9; border-radius:12px; background:#fffdf8; }
.purchase-privacy summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; cursor:pointer; color:#080c46; font-weight:700; font-size:16px; }
.purchase-privacy summary span { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 18px; box-sizing:border-box; border:1px solid #bd8a3d; border-radius:9px; background:linear-gradient(135deg, #ffe5a6, #e5b961); color:#080c46; font-size:15px; font-weight:700; line-height:1.4; text-decoration:none; box-shadow:0 3px 10px rgba(167,120,54,.16); }
.purchase-privacy summary span::after { content:""; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.purchase-privacy summary:hover span,.purchase-privacy summary:focus-visible span { background:linear-gradient(135deg, #ffdda0, #dca94e); border-color:#92652b; }
.purchase-privacy details[open] summary span::after { transform:translateY(2px) rotate(225deg); }
@media(max-width:600px) { .purchase-privacy summary { gap:12px; } .purchase-privacy summary span { width:100%; } }
.purchase-privacy-text { max-height:320px; max-height:min(320px, 50vh); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:14px; border:1px solid #eadcc6; border-radius:8px; background:#fff; margin-top:16px; font-size:14px; line-height:1.7; color:#40536e; overflow-wrap:anywhere; }
.purchase-privacy-text p { margin:0 0 12px; }
.purchase-privacy-text a { color:#80551f; text-decoration:underline; }
.esign-purchase-shell #ts-form .purchase-privacy-choice { display:flex; align-items:flex-start; gap:12px; margin-top:18px; color:#080c46; font-weight:600; font-size:14px; line-height:1.6; cursor:pointer; }
.esign-purchase-shell #ts-form .purchase-privacy-choice input { flex:0 0 20px; width:20px; height:20px; margin:1px 0 0; padding:0; accent-color:var(--ayy-gold-600); }
.purchase-privacy-text:focus-visible,.purchase-privacy input:focus-visible,.purchase-privacy summary:focus-visible { outline:2px solid var(--ayy-gold-600); outline-offset:4px; }
#privacy-help { margin:8px 0 0; color:#52617a; font-size:12px; }
#privacy-error { margin:10px 0 0; color:#a81535; font-size:13px; }
.esign-purchase-shell #payment-open:disabled,.esign-purchase-shell #payment-renew:disabled { opacity:.5; cursor:not-allowed; box-shadow:none; }
@media(max-width:600px) { .purchase-privacy { padding:16px; } }

.purchase-privacy-choice:has(input:disabled) { cursor:not-allowed; }
