:root { font-family: 'Open Sans','Segoe UI',Arial,sans-serif; color: #2b2740; background: #f8f7fb; font-synthesis: none; }
body{background:#faf9f6}.review-spec{border-block:1px solid #dedbd6;padding:18px 0;margin-bottom:24px}.review-spec h2{font-size:18px}.review-spec>p{white-space:pre-line;font-size:14px;line-height:1.65}.review-product img{object-fit:contain}.checkout-header>a{flex-shrink:0}.checkout-header>span{font-size:12px}.checkout-footer{line-height:1.6}
@media print{.checkout-header,.demo-banner,.checkout-steps,.back-link,.checkout-footer,button,a,.summary-provider,[data-stage=payment],[data-stage=success]{display:none!important}.checkout-grid{display:block!important}.order-column,.order-summary{position:static!important}.order-summary{border:1px solid #aaa!important;break-inside:avoid}.review-product img{max-height:230px}.checkout-main{padding:0!important}body{background:white!important}.price-note{display:block!important}}
* { box-sizing: border-box; } body { margin: 0; } [hidden] { display: none !important; }
a { color: #332483; text-underline-offset: 4px; } button,select,input { font: inherit; } button,a,summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #8170cf; outline-offset: 4px; } h1:focus { outline: none; }
.review-price-mobile{display:none}@media(max-width:760px){.review-price-mobile{display:block;font-size:13px;line-height:1.6;padding:12px 0;border-top:1px solid #dedbd6}.review-price-mobile strong{font-size:17px}}
.checkout-header { max-width: 1120px; margin: auto; display: flex; align-items: center; justify-content: space-between; padding: 24px 32px; gap: 16px; font-size: 14px; }
.checkout-header img { display: block; }.checkout-header b,.demo-inline { background: #ebe7f8; border-radius: 4px; padding: 4px 6px; color: #493b7e; font-size: 10px; letter-spacing: .07em; margin-left: 8px; }
.demo-banner { background: #ece8f6; text-align: center; padding: 13px 24px; font-size: 13px; line-height: 1.6; }
.checkout-main { max-width: 1120px; padding: 30px 32px 70px; margin: auto; }
.back-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; text-decoration: none; }
.checkout-steps { list-style: none; display: flex; gap: 30px; padding: 18px 0 30px; margin: 0; font-size: 13px; color: #6b6780; }
.checkout-steps li { display: flex; align-items: center; gap: 9px; }.checkout-steps li span { display: grid; place-items: center; border: 1px solid #d5cfe6; border-radius: 50%; width: 28px; height: 28px; }
.checkout-steps [aria-current] { color: #332483; font-weight: 700; }.checkout-steps [aria-current] span { background: #332483; color: #f9f7fe; border-color: #332483; }
.checkout-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.85fr); gap: 64px; align-items: start; }
.checkout-panels { min-width: 0; }h1 { font-size: clamp(32px,3.7vw,48px); line-height: 1.08; letter-spacing: -.045em; margin: 12px 0 18px; }h2 { font-size: 22px; letter-spacing: -.025em; margin: 10px 0; }.intro { font-size: 16px; line-height: 1.65; color: #6b6780; margin-bottom: 28px; max-width: 55ch; }.intro strong { color: #2b2740; }
.eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .1em; color: #6b6780; }.review-product { display: flex; gap: 20px; align-items: center; border-top: 1px solid #ded9e9; border-bottom: 1px solid #ded9e9; padding: 22px 0; }.review-product img { flex: none; object-fit: contain; border-radius: 8px; }.review-product small { font-size: 11px; color: #6b6780; line-height: 1.5; display: block; }
.selected-finish { display: flex; align-items: center; gap: 9px; font-size: 13px; overflow-wrap: anywhere; }.selected-finish i { width: 20px; height: 20px; border-radius: 50%; border: 1px solid #c6bfd5; flex: none; }
.details-list { padding: 20px 0; }.details-list div { display: flex; flex-direction: column; gap: 5px; margin-bottom: 17px; font-size: 14px; }.details-list span { line-height: 1.55; color: #6b6780; }.price-note { font-size: 12px; line-height: 1.65; color: #6b6780; margin: 0 0 24px; }
.primary { display: flex; justify-content: center; align-items: center; gap: 20px; width: 100%; min-height: 54px; padding: 14px 18px; border: 0; background: #332483; color: #f9f7fe; border-radius: 9px; font-weight: 700; font-size: 15px; text-decoration: none; cursor: pointer; transition: transform .2s,background .2s; }.primary:hover { background: #443392; }.primary:active { transform: scale(.985); }
.micro { color: #6b6780; font-size: 11px; line-height: 1.65; }.checkout-panels .micro { text-align: center; }.text-button { border: 0; background: transparent; color: #332483; min-height: 44px; padding: 10px 0; font-size: 13px; cursor: pointer; }
.order-summary { padding: 28px; background: #fefdfd; border: 1px solid #e2ddec; border-radius: 14px; position: sticky; top: 24px; }.order-summary dl { margin: 26px 0 16px; }.order-summary dl div { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 14px 0; font-size: 13px; line-height: 1.5; }.order-summary dd { margin: 0; white-space: nowrap; font-weight: 700; }.order-summary .deposit-line { border-top: 1px solid #e2ddec; border-bottom: 1px solid #e2ddec; color: #332483; }.deposit-line dd { font-size: 24px; }.summary-provider { padding-top: 18px; border-top: 1px solid #e2ddec; display: flex; justify-content: space-between; font-size: 11px; color: #6b6780; }.summary-provider strong { font-size: 15px; color: #1c2430; }
.provider { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 30px; }.sumup-word { font-size: 31px; letter-spacing: -.06em; font-weight: 800; color: #18222e; }.provider > :last-child { font-size: 9px; letter-spacing: .07em; color: #6b6780; }
.methods { padding: 0; border: 0; margin: 24px 0; }.methods legend { font-size: 13px; font-weight: 700; margin-bottom: 12px; }.methods label { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 14px; border: 1px solid #ded9e9; margin-bottom: 8px; border-radius: 8px; cursor: pointer; font-size: 14px; background: #fefdfd; }.methods label:has(input:checked) { border-color: #332483; box-shadow: 0 0 0 1px #332483; }.methods input { accent-color: #332483; width: 18px; height: 18px; margin: 0; }.methods small { margin-left: auto; font-size: 10px; color: #6b6780; }
.sample-card { background: #f0edf5; border: 1px solid #ded9e9; border-radius: 12px; padding: 22px; }.sample-card > div { margin-bottom: 18px; }.sample-card span { display: block; font-size: 11px; color: #6b6780; margin-bottom: 7px; }.sample-card strong { font-size: 16px; font-weight: 600; letter-spacing: .025em; }.sample-row { display: flex; gap: 60px; }.sample-card p { font-size: 11px; color: #6b6780; margin: 0; }.wallet-note { background: #f0edf5; border-radius: 10px; padding: 20px; font-size: 14px; line-height: 1.65; }.wallet-note p { margin-bottom: 0; }
.demo-options { display: flex; align-items: center; gap: 14px; justify-content: space-between; margin: 24px 0; font-size: 12px; }.demo-options select { padding: 10px; border-radius: 6px; border: 1px solid #c9c2da; background: #fefdfd; min-height: 44px; max-width: 100%; font-size: 14px; }.payment-error { background: #fbe9ea; color: #832d38; border-radius: 8px; padding: 16px; line-height: 1.6; font-size: 14px; }
.success-mark { width: 56px; height: 56px; border-radius: 50%; background: #dfefe6; color: #286146; font-size: 29px; display: grid; place-items: center; margin: 12px 0 24px; }.demo-receipt { display: grid; grid-template-columns: 1fr auto; gap: 16px; background: #f0edf5; border-radius: 12px; padding: 22px; margin: 24px 0 30px; font-size: 13px; }.demo-receipt strong { color: #332483; font-size: 22px; }.demo-receipt b { font-size: 12px; text-align: right; }.next-steps { padding-left: 22px; margin: 24px 0; }.next-steps li { padding-left: 8px; margin-bottom: 18px; font-size: 14px; }.next-steps span { display: block; margin-top: 6px; line-height: 1.6; color: #6b6780; }.checkout-footer { text-align: center; padding: 24px; color: #6b6780; font-size: 11px; line-height: 1.7; border-top: 1px solid #e2ddec; }
@media(max-width:760px) { .checkout-header { padding: 16px 20px; }.checkout-header img { width: 72px; }.checkout-header > span { font-size: 12px; }.checkout-main { padding: 18px 20px calc(36px + env(safe-area-inset-bottom)); }.checkout-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }.order-summary { position: static; padding: 22px; }.checkout-steps { gap: 18px; font-size: 11px; padding-bottom: 24px; }.checkout-steps li { gap: 6px; }.checkout-steps li span { width: 24px; height: 24px; }.demo-banner { font-size: 11px; padding: 10px 20px; }.review-product { gap: 14px; }.review-product img { width: 90px; height: 130px; }.review-product h2 { font-size: 20px; }.demo-options { align-items: stretch; flex-direction: column; gap: 8px; }.methods small { font-size: 9px; }.methods label { gap: 9px; font-size: 13px; }.primary { min-height: 56px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
