/* Client checkout. All selectors stay scoped away from the portfolio and CMS. */
.payment-page{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans)}
.payment-page *{box-sizing:border-box}.payment-page a{color:inherit;text-decoration:none}.payment-page button{font:inherit;cursor:pointer;min-height:48px}.payment-page button:disabled{opacity:.55;cursor:wait}.payment-page [hidden]{display:none!important}
.payment-layout{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);min-height:100svh}
.payment-summary{background:var(--ink);color:var(--on-ink);min-width:0}
.payment-summary-content{width:min(100%,560px);margin:0 auto;padding:56px 52px 52px}
.payment-header,.payment-brand-row{display:flex;align-items:center}.payment-header{justify-content:space-between;gap:20px}.payment-brand-row{gap:12px}.payment-brand{font-size:23px;font-weight:600;letter-spacing:-.8px;white-space:nowrap}.payment-brand>span{font-size:11px;vertical-align:super;margin-left:3px}
.payment-back{display:grid;place-items:center;width:32px;height:40px;margin-left:-8px;color:var(--on-ink-2)!important;border-radius:8px}.payment-back:hover{color:var(--on-ink)!important;background:var(--on-ink-fill)}
.payment-page svg{display:block;width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.payment-badge{flex:none;padding:6px 9px;border:1px solid var(--on-ink-line);border-radius:7px;color:var(--on-ink);font-size:10px;font-weight:500;white-space:nowrap}
.payment-summary-intro{margin-top:78px}.payment-summary-intro h1{margin:0 0 18px;font-size:16px;font-weight:400;color:var(--on-ink-2);letter-spacing:-.02em}.payment-amount{font-size:clamp(40px,4.4vw,62px);font-weight:600;letter-spacing:-.05em;line-height:1.1;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.payment-summary-intro h2{font-size:18px;line-height:1.6;font-weight:500;letter-spacing:-.02em;margin:14px 0 0;overflow-wrap:anywhere}
.payment-order{margin-top:42px;border:1px solid var(--on-ink-fill);border-radius:var(--radius-media);padding:23px}.payment-order h3{font-size:14px;font-weight:600;margin:0 0 24px}.payment-order dl,.payment-totals dl{margin:0}.payment-order dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:18px;margin-top:16px;font-size:12px;line-height:1.6}.payment-order dt{color:var(--on-ink-2)}.payment-order dd{margin:0;text-align:right;overflow-wrap:anywhere}.payment-reference{font-size:11px;font-variant-numeric:tabular-nums}.payment-order-status{font-size:11px;border-radius:5px;padding:4px 7px;background:var(--on-ink-fill);display:inline-block;line-height:1.3}
.payment-totals{margin-top:28px;font-size:13px}.payment-totals dl>div{display:flex;justify-content:space-between;gap:24px;margin-top:17px;line-height:1.5}.payment-totals dt{color:var(--on-ink-2)}.payment-totals dd{margin:0;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.payment-totals .payment-total{border-top:1px solid var(--on-ink-line);padding-top:22px;margin-top:23px;font-size:16px;font-weight:600}.payment-total dt{color:var(--on-ink)}.payment-muted{font-size:11px;line-height:1.8;color:var(--on-ink-2);margin:16px 0 0;max-width:360px}
.payment-card{min-width:0;display:flex;flex-direction:column;padding:56px 60px 30px;background:var(--bg)}
.payment-checkout-content{width:min(100%,420px);margin:auto; padding:52px 0 64px}
.payment-checkout-intro h2{margin:0;font-size:27px;font-weight:600;letter-spacing:-.045em;line-height:1.3}.payment-checkout-intro>p{font-size:13px;color:var(--ink-2);line-height:1.8;margin:14px 0 0}
.payment-methods{display:flex;align-items:flex-start;gap:14px;margin:36px 0 26px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.payment-methods>svg{margin-top:1px;flex:none}.payment-methods p{font-size:13px;margin:0;line-height:1.6}.payment-methods small{display:block;font-size:11px;color:var(--ink-2);margin-top:7px;line-height:1.7}
.payment-primary,.payment-secondary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border-radius:10px;padding:17px 14px;border:1px solid var(--ink);font-size:14px;font-weight:500;line-height:1.5}.payment-primary{background:var(--ink);color:var(--on-ink);min-height:56px;transition:background .15s}.payment-primary:hover{background:var(--ink)}.payment-primary svg{width:18px;height:18px;flex:none}.payment-secondary{background:transparent;color:var(--ink);border-color:var(--line);margin-top:20px;font-size:13px;min-height:48px}.payment-secondary:hover{background:var(--band)}
.payment-security{font-size:11px;color:var(--ink-2);text-align:center;line-height:1.7;margin:18px 0 0}
.payment-state{margin-top:28px}.payment-state h3{font-size:16px;font-weight:600;letter-spacing:-.02em;margin:0 0 10px;line-height:1.5}.payment-state>p{font-size:13px;color:var(--ink-2);line-height:1.8;margin:0}.payment-state-icon{display:none}.payment-confirmation>p:first-child{font-size:44px;font-weight:600;letter-spacing:-.045em;margin:26px 0 10px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.payment-confirmation>p:last-child{font-size:16px;font-weight:500;margin:0 0 23px;line-height:1.6;overflow-wrap:anywhere}.payment-icon-check{display:none}
.payment-layout[data-state=ready] .payment-state{display:none}
.payment-layout:is([data-state=paid],[data-state=refunded],[data-state=expired],[data-state=invalid]) .payment-checkout-intro,.payment-layout:not(:is([data-state=ready],[data-state=failed],[data-state=cancelled])) .payment-methods{display:none}
.payment-layout:is([data-state=paid],[data-state=refunded],[data-state=expired],[data-state=invalid]) .payment-state{margin:0}
.payment-layout:is([data-state=paid],[data-state=refunded]) .payment-checkout-content{text-align:center}
.payment-layout:is([data-state=paid],[data-state=refunded],[data-state=expired],[data-state=invalid],[data-state=error],[data-state=failed]) .payment-state-icon{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:48px;height:48px;margin-bottom:24px;background:var(--band);color:var(--ink-2)}
.payment-layout:is([data-state=paid],[data-state=refunded]) .payment-state-icon{margin:0 auto 24px;border-color:var(--line);background:var(--band);color:var(--success)}
.payment-layout:is([data-state=paid],[data-state=refunded]) .payment-icon-check{display:block}.payment-layout:is([data-state=paid],[data-state=refunded]) .payment-icon-info{display:none}.payment-layout[data-state=paid] .payment-state h3{font-size:24px;color:var(--success)}.payment-layout:is([data-state=failed],[data-state=error]) .payment-state h3{color:var(--danger)}.payment-layout[data-state=paid] .payment-order-status{background:var(--on-ink-fill);color:var(--on-ink-2)}
.payment-layout:is([data-state=opened],[data-state=processing],[data-state=loading]) .payment-state{border-top:1px solid var(--line);padding-top:24px}.payment-layout:is([data-state=opened],[data-state=processing],[data-state=loading]) .payment-state h3::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink-2);margin-right:9px;vertical-align:2px}
.payment-footer{width:min(100%,420px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--ink-2);font-size:10px;line-height:1.7}.payment-footer a:hover{text-decoration:underline}.payment-no-script{margin:24px;text-align:center}
.payment-page :focus-visible,.payment-admin :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.payment-admin{font-family:var(--font-sans);color:inherit;font-size:13px}.payment-admin form{display:grid;gap:12px}.payment-admin label{display:grid;gap:7px}.payment-admin input,.payment-admin select,.payment-admin button{font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:8px;padding:10px 12px;min-height:44px;box-sizing:border-box;width:100%}.payment-admin select{color-scheme:dark}.payment-admin select option{background:var(--ink);color:var(--on-ink)}.payment-admin button{cursor:pointer}.payment-admin button:disabled{opacity:.5;cursor:wait}.payment-admin .payment-admin-row{display:flex;gap:12px;align-items:center;margin:14px 0}.payment-admin .payment-admin-row>*{min-width:0;flex:1}.payment-admin-table{overflow:auto;max-height:320px;margin-top:16px}.payment-admin table{width:100%;border-collapse:collapse;font-size:11px}.payment-admin th,.payment-admin td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--on-ink-line);vertical-align:top}.payment-admin td button{min-width:85px}.payment-admin td{max-width:200px;overflow-wrap:anywhere}.payment-admin [role=status]{line-height:1.7}.payment-admin h3{font-size:15px}.payment-admin .payment-admin-link{margin:18px 0;display:grid;gap:10px}
@media(max-width:1000px) and (min-width:761px){.payment-summary-content{padding:44px 32px}.payment-card{padding:44px 36px 28px}.payment-brand{font-size:21px}.payment-summary-intro{margin-top:64px}.payment-order{padding:18px}.payment-order dl>div{grid-template-columns:95px minmax(0,1fr);gap:12px}}
@media(max-width:760px){.payment-layout{grid-template-columns:1fr;min-height:100svh}.payment-summary-content{width:100%;padding:26px 24px 28px}.payment-header{gap:14px}.payment-brand{font-size:22px}.payment-brand-row{gap:8px}.payment-badge{font-size:10px;padding:5px 8px}.payment-summary-intro{margin-top:32px}.payment-summary-intro h1{font-size:13px;margin-bottom:13px}.payment-amount{font-size:43px;letter-spacing:-.045em}.payment-summary-intro h2{font-size:16px;margin-top:9px}.payment-order{margin-top:24px;padding:17px 18px;border-radius:12px}.payment-order h3{font-size:13px;margin-bottom:17px}.payment-order dl>div{grid-template-columns:100px minmax(0,1fr);gap:14px;margin-top:13px;font-size:11px}.payment-order .payment-service-row{display:none}.payment-reference{font-size:10px}.payment-order-status{font-size:10px}.payment-totals{margin-top:18px;font-size:12px}.payment-totals dl>div{margin-top:12px;gap:18px}.payment-totals .payment-total{font-size:15px;padding-top:16px;margin-top:17px}.payment-muted{font-size:10px;margin-top:13px;line-height:1.7}.payment-card{padding:36px 24px 24px}.payment-checkout-content{padding:0;width:100%;margin:0}.payment-checkout-intro h2{font-size:24px}.payment-checkout-intro>p{font-size:12px;line-height:1.7;margin-top:10px}.payment-methods{margin:22px 0;padding:16px 0;gap:12px}.payment-methods p{font-size:12px}.payment-methods small{font-size:10px;margin-top:5px}.payment-primary{font-size:13px;min-height:54px}.payment-footer{margin-top:36px;gap:16px;font-size:10px}.payment-confirmation>p:first-child{font-size:39px}.payment-security{font-size:10px}.payment-layout[data-state=paid] .payment-checkout-content{padding:12px 0}.payment-admin .payment-admin-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.payment-primary{transition:none}}
