*,*::before,*::after{box-sizing:border-box}
:root{--ink:#10243e;--blue:#0969da;--blue-dark:#064c9e;--cyan:#00a9ce;--green:#138a58;--orange:#f47b20;--muted:#5d7086;--mist:#f5f8fc;--line:#dfe8f1;--danger:#b42318;--shadow:0 18px 50px rgba(16,36,62,.1);--radius:16px}
body{margin:0;background:linear-gradient(180deg,#f4f8fc,#fff 65%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
a{color:var(--blue);text-decoration:none}img{display:block;max-width:100%}button,input,select{font:inherit}
:focus-visible{outline:3px solid rgba(0,169,206,.34);outline-offset:2px}
.checkout-top{padding:8px 20px;background:var(--ink);color:#fff;text-align:center;font-size:.76rem;font-weight:750}.checkout-top span{color:#7ce3f4}
.checkout-nav{border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(16px)}
.checkout-nav-inner{width:min(calc(100% - 40px),1140px);height:68px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.checkout-logo img{width:190px}.secure-label{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #bde5d0;border-radius:99px;background:#f0fbf5;color:#0b7145;font-size:.78rem;font-weight:750}
.checkout-page{width:min(calc(100% - 40px),1140px);margin:0 auto;padding:42px 0 90px}
.checkout-hero{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;margin-bottom:28px}
.kicker{margin:0 0 9px;color:var(--blue);font-size:.74rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.checkout-hero h1{margin:0 0 11px;font-size:clamp(2rem,4.3vw,3.35rem);line-height:1.08;letter-spacing:-.04em}.checkout-hero p{max-width:650px;margin:0;color:var(--muted)}
.assurances{display:grid;gap:6px;color:var(--muted);font-size:.77rem;font-weight:650}.assurances span::before{content:"✓";margin-right:7px;color:var(--green);font-weight:900}
.progress{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:22px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}
.progress-step{display:flex;align-items:center;gap:10px;padding:14px 15px;border-right:1px solid var(--line);color:#8a9bae}.progress-step:last-child{border:0}.progress-step.active{background:#eef6ff;color:var(--blue)}.progress-step.complete{color:var(--green)}
.progress-dot{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font-size:.76rem;font-weight:850}.progress-step.complete .progress-dot{background:var(--green);color:#fff;border-color:var(--green)}
.progress-copy strong,.progress-copy small{display:block}.progress-copy strong{font-size:.8rem}.progress-copy small{font-size:.67rem;font-weight:550}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:24px;align-items:start}
.checkout-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 9px 34px rgba(16,36,62,.06);overflow:hidden}
.checkout-section{padding:27px 29px;border-bottom:1px solid var(--line)}.checkout-section:last-child{border-bottom:0}
.section-title{display:flex;align-items:center;gap:11px;margin-bottom:20px}.section-num{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--ink);color:#fff;font-size:.78rem;font-weight:850}.section-title h2{margin:0;font-size:1.06rem}.section-title span:last-child{margin-left:auto;color:var(--muted);font-size:.7rem}
.product-list{display:grid;gap:10px}.checkout-product{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:.18s}.checkout-product.selected{border-color:#8ab9ed;background:#f4f9ff;box-shadow:0 0 0 2px rgba(9,105,218,.05)}
.checkout-product-img{display:grid;place-items:center;width:62px;height:62px;padding:5px;border-radius:9px;background:var(--mist)}.checkout-product-img img{width:100%;height:100%;object-fit:contain}
.checkout-product h3{margin:0 0 3px;font-size:.89rem}.checkout-product p{margin:0;color:var(--muted);font-size:.7rem}.checkout-product-price{margin-top:4px;color:var(--ink);font-size:.79rem;font-weight:800}
.qty{display:grid;grid-template-columns:34px 34px 34px;align-items:center;border:1px solid #c7d5e2;border-radius:9px;overflow:hidden;background:#fff}.qty button{width:34px;height:34px;border:0;background:#fff;color:var(--blue);font-size:1.15rem}.qty button:hover{background:#eef6ff}.qty output{text-align:center;font-size:.8rem;font-weight:800}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.72rem;font-weight:750}.field input,.field select{width:100%;height:48px;padding:11px 12px;border:1px solid #c7d5e2;border-radius:9px;background:#fff;color:var(--ink)}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(9,105,218,.09);outline:0}.field.invalid input{border-color:var(--danger)}
.stripe-grid{display:grid;grid-template-columns:1.65fr 1fr 1fr;gap:11px}.stripe-field{display:grid;gap:6px}.stripe-field label{font-size:.72rem;font-weight:750}.stripe-box{height:48px;padding:14px 12px;border:1px solid #c7d5e2;border-radius:9px;background:#fff}.stripe-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(9,105,218,.09)}
.payment-note{display:flex;gap:8px;margin-top:13px;color:var(--muted);font-size:.7rem}.payment-note::before{content:"●";color:var(--green)}
.summary-card{position:sticky;top:20px}.summary-head{display:flex;align-items:center;justify-content:space-between;padding:23px 24px;border-bottom:1px solid var(--line)}.summary-head h2{margin:0;font-size:1.08rem}.summary-head span{color:var(--green);font-size:.7rem;font-weight:800}
.summary-items{display:grid;gap:14px;padding:21px 24px}.summary-empty{padding:18px;border-radius:10px;background:var(--mist);color:var(--muted);text-align:center;font-size:.8rem}.summary-line{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:.79rem}.summary-line small{display:block;color:var(--muted)}.summary-line strong{white-space:nowrap}
.summary-totals{padding:19px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.total-row{display:flex;justify-content:space-between;margin:7px 0;color:var(--muted);font-size:.79rem}.total-row.discount{color:var(--green)}.total-row.grand{align-items:baseline;margin-top:16px;padding-top:15px;border-top:1px solid var(--line);color:var(--ink);font-size:1rem;font-weight:800}.total-row.grand strong{font-size:1.65rem}
.express-option{display:flex;align-items:flex-start;gap:10px;margin:0 24px 20px;padding:13px;border:1px solid var(--line);border-radius:10px;font-size:.76rem}.express-option input{margin-top:3px}.express-option small{display:block;color:var(--muted)}
.checkout-action{padding:0 24px 24px}.pay-button{display:flex;width:100%;min-height:53px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;background:var(--blue);color:#fff;font-weight:800;box-shadow:0 10px 22px rgba(9,105,218,.22)}.pay-button:hover:not(:disabled){background:var(--blue-dark)}.pay-button:disabled{background:#9aacbd;box-shadow:none;cursor:not-allowed}.pay-button.loading::after{content:"";width:17px;height:17px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.missing{min-height:38px;margin:10px 0 0;color:var(--muted);text-align:center;font-size:.71rem}.error-message{display:none;margin:14px 24px 0;padding:11px 13px;border:1px solid #f4c7c3;border-radius:9px;background:#fff4f2;color:var(--danger);font-size:.75rem}.error-message.show{display:block}
.trust-box{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 24px 23px;padding-top:19px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.64rem}.trust-box strong{display:block;color:var(--ink);font-size:.69rem}
.mobile-summary{display:none}.checkout-footer{padding:30px 20px;color:var(--muted);text-align:center;font-size:.7rem}.checkout-footer a{margin:0 7px}
@media(max-width:900px){.checkout-hero{grid-template-columns:1fr}.assurances{grid-template-columns:repeat(3,1fr)}.checkout-grid{grid-template-columns:1fr}.summary-card{position:static}.progress-copy small{display:none}}
@media(max-width:650px){.checkout-nav-inner,.checkout-page{width:min(calc(100% - 28px),1140px)}.checkout-logo img{width:155px}.secure-label{padding:7px 9px;font-size:.67rem}.checkout-page{padding-top:28px}.checkout-hero{margin-bottom:20px}.assurances{grid-template-columns:1fr}.progress-step{padding:11px 7px;justify-content:center}.progress-copy strong{display:none}.checkout-section{padding:23px 18px}.checkout-product{grid-template-columns:54px 1fr}.checkout-product-img{width:54px;height:54px}.qty{grid-column:2;width:max-content;margin-top:5px}.form-grid,.stripe-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.summary-head,.summary-items,.summary-totals,.checkout-action{padding-left:18px;padding-right:18px}.express-option,.trust-box{margin-left:18px;margin-right:18px}.trust-box{grid-template-columns:1fr}.checkout-footer{padding-bottom:100px}}
