:root{--stage-height:0px}body{padding-top:var(--stage-height)}nav{top:var(--stage-height)}#stage-banner{position:fixed;inset:0 0 auto;z-index:3000;background:#1a1a2e;color:white;padding:12px 24px;display:flex;align-items:center;gap:20px;font:12px/1.6 Arial,sans-serif}#stage-banner span{flex:1}#stage-banner button{padding:8px 12px;background:white;border:0;border-radius:4px;color:#1a1a2e}.pay-modal{top:var(--stage-height);padding:16px}.preview-photo-fallback{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:6px;border:1px dashed #aaa;border-radius:8px;background:#eeeae4;font-size:11px}.lad-bars .lad-bar{background:rgba(255,255,255,.2)}.lad-bars .stage-selected{background:var(--red)}#page-thanks .btn-ghost{margin:16px}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #1e40af;outline-offset:3px}@media(max-width:700px){#stage-banner{padding:8px 12px;gap:4px;flex-wrap:wrap;font-size:10px}#stage-banner strong{width:100%}.pay-modal{padding:10px}.pay-inner{padding:20px 16px}.pay-head h3{font-size:1.25rem}}
:root #stage-banner span { min-width: 0; }
@media(max-width:700px){:root #stage-banner span{flex:1 0 100%}:root #stage-banner button{flex:1}}
#payChallengeRefresh{display:inline-flex;align-items:center;margin:.25rem 0 1rem;padding:.25rem 0;background:none;border:0;border-radius:4px;color:var(--blue);font:inherit;font-size:.82rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}#payChallengeRefresh:hover{color:var(--text)}.receipt-checked{margin:.6rem 0 0;font-size:.85rem;color:var(--text-sec)}
#payModal.pm-transfer .pay-fields,#payModal.pm-transfer #payChallenge,#payModal.pm-transfer #payGo,#payModal:not(.pm-transfer) #payTransferGo{display:none!important}.pay-plan.is-disabled{opacity:.5;cursor:not-allowed}.pay-plan.is-disabled input{cursor:not-allowed}.pay-card-soon{margin:.1rem 0 -.25rem;font-size:.82rem;font-weight:600;color:var(--text-sec)}.pay-transfer [hidden],.pay-plans [hidden]{display:none!important}.pay-transfer{padding-top:.25rem;overflow-wrap:anywhere}.pt-back{margin:0 0 .75rem;padding:.25rem 0;background:none;border:0;color:var(--blue);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.pt-back:hover{color:var(--text)}.pt-title{font-family:'DM Serif Display',serif;font-size:1.35rem;font-weight:400;line-height:1.2;margin:0 0 .9rem}.pt-title:focus{outline:none}.pt-list{margin:0 0 1.25rem;border:1.5px solid var(--border);border-radius:12px;overflow:hidden}.pt-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem;padding:.7rem 1rem;border-top:1px solid var(--border)}.pt-row:first-child{border-top:0}.pt-row-amount{background:var(--red-light)}.pt-row dt{font-size:.8rem;color:var(--text-sec)}.pt-row dd{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;margin:0;font-size:.95rem;font-weight:600;text-align:right;min-width:0}.pt-value{font-variant-numeric:tabular-nums;letter-spacing:.02em}.pt-row-amount .pt-value{font-size:1.1rem}.pt-copy{padding:.3rem .7rem;border:1.5px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.pt-copy:hover{border-color:var(--text)}.pt-copy.is-copied{border-color:var(--teal);color:var(--teal)}.pt-sub{margin:0 0 .5rem;font-size:.85rem;font-weight:700}.pt-steps{margin:0 0 1rem;padding-left:1.25rem;display:grid;gap:.45rem;font-size:.85rem;line-height:1.6;color:var(--text)}.pt-steps a,.pt-note a,.receipt-help a{color:var(--red);font-weight:600}.pt-note{margin:0 0 .75rem;padding:.75rem .9rem;background:var(--bg-warm);border-radius:10px;font-size:.82rem;line-height:1.6;color:var(--text-sec)}.pt-contact{margin:0;font-size:.82rem;color:var(--text-sec)}.receipt-help{margin:.6rem 0 0;font-size:.85rem;line-height:1.6;color:var(--text-sec);overflow-wrap:anywhere}
/* Consent banner, footer and privacy links (analytics loads only after Accept). The bar sits ABOVE the checkout and apply
   popups (z-index) and those popups end where the bar begins, so no popup button can ever be under it. */
.vca-footer{padding:1.5rem 1rem 2rem;text-align:center;font-size:.78rem;color:#57534E;background:#FAF9F6;border-top:1px solid #E7E5E4}
.vca-footer a,.vca-linkbtn{display:inline-block;padding:.5rem .35rem;color:#57534E;text-decoration:underline;background:none;border:0;font:inherit;cursor:pointer}
.vca-footer a:hover,.vca-linkbtn:hover{color:#1A1A2E}
.vca-privacy-link{color:inherit;text-decoration:underline}
.vca-privacy-note .vca-privacy-link{color:var(--blue,#1E40AF)}
.vca-consent{position:fixed;left:0;right:0;bottom:0;z-index:2200;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom));background:#fff;color:#1A1A2E;border-top:1px solid #E7E5E4;box-shadow:0 -8px 30px rgba(0,0,0,.14);font-size:.8rem;line-height:1.5}
.vca-consent[hidden]{display:none}
.vca-consent-text{flex:1 1 320px;min-width:0}
.vca-consent-text p{margin:0}
.vca-consent-meta{margin-top:.15rem!important;color:#57534E}
.vca-consent-actions{display:flex;gap:.6rem;flex:0 0 auto}
.vca-btn{min-width:6.5rem;min-height:44px;padding:.5rem 1.1rem;background:#fff;color:#1A1A2E;border:1.5px solid #1A1A2E;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}
.vca-btn:hover{background:#F3F0EB}
.vca-btn:focus-visible,.vca-linkbtn:focus-visible,.vca-privacy-link:focus-visible{outline:2px solid #1E40AF;outline-offset:2px}
.vca-btn.vca-close{min-width:44px;padding:.5rem;font-size:1.3rem;line-height:1}
.vca-btn.vca-close[hidden]{display:none}
html.vca-consent-open .pay-modal,html.vca-consent-open .apply-modal{bottom:var(--vca-consent-h,0px)}
html.vca-consent-open body{padding-bottom:var(--vca-consent-h,0px)}
@media(max-width:600px){.vca-consent{padding-left:.9rem;padding-right:.9rem}.vca-consent-actions{flex:1 1 100%}.vca-btn{flex:1 1 0;min-width:0}.vca-btn.vca-close{flex:0 0 44px}}

.pay-code{margin:.25rem 0 .6rem}.pay-code[hidden]{display:none}.pay-code label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.3rem}
.pay-code-row{display:flex;gap:.5rem}.pay-code-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.04em}
.pay-code-row button,#payCodeRemove{min-height:44px;padding:0 1rem;border:1.5px solid var(--border);border-radius:10px;background:#fff;font:inherit;font-weight:700;cursor:pointer}
.pay-code-row button:disabled{opacity:.5;cursor:not-allowed}
#payCodeApplied{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.7rem .9rem;border:1.5px solid var(--teal);border-radius:10px;font-size:.9rem}
#payCodeAppliedLabel{flex:1 1 13rem}#payCodeRemove{padding:0 .8rem}#payCodeApplied[hidden]{display:none}#payCodeApplied b{font-weight:800}
#payCodeMsg{margin:.35rem 0 0;font-size:.8rem;color:var(--text-sec);min-height:1.1em}#payCodeMsg.is-error{color:#b91c1c}
