:root{--checkout-ink:#41204f;--checkout-copper:#a85d3d;--checkout-lilac:#d9c8ed;--checkout-paper:#fbf5fa}
.checkout-page{background:var(--checkout-paper);min-height:100vh}
.checkout-header{height:151px;background:#d9c8ed;border-bottom:3px double #b57853;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px max(5.5%,calc((100vw - 1330px)/2));position:relative}
.checkout-header:after{content:'';position:absolute;left:18px;right:18px;bottom:6px;border-bottom:1px solid #bd865e80}
.checkout-header .wordmark{gap:0}.checkout-header .brand-lettering{display:block;width:275px;aspect-ratio:900/344;background-image:url('/assets/heartful-baker-emblem.webp');background-size:139.3333% 364.5349%;background-position:50.8475% 66.4835%;background-repeat:no-repeat;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(180deg,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(180deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in}.checkout-header .brand-subtitle{font-size:7px;letter-spacing:2.5px;color:#6a3d43;margin:4px 0 8px}
.checkout-back{display:inline-flex;align-items:center;gap:11px;font-size:10px;letter-spacing:.6px;color:#744331}.checkout-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.2}.checkout-back:hover{color:#aa603e}
.checkout-step{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;font-size:8px;letter-spacing:1.8px;color:#a36547}.checkout-step strong{font-size:12px;letter-spacing:2.3px;color:#4a2754;font-weight:400;margin-top:5px}
.checkout-main{max-width:1240px;margin:0 auto;padding:71px 5.5% 100px}.checkout-heading{max-width:520px;margin-bottom:57px}.checkout-heading .eyebrow{color:#a05c3d;font-size:8px;letter-spacing:2.3px;margin-bottom:17px}.checkout-heading h1{font-size:clamp(48px,5.6vw,76px);line-height:.98;color:#42204f;letter-spacing:-2.5px;margin-bottom:24px}.checkout-heading h1 em{color:#a36045}.checkout-heading>p:last-child{font-size:12px;line-height:1.9;color:#7e6387;max-width:420px}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:70px;align-items:start}.checkout-form{min-width:0}.checkout-card{background:#f7eef8;border:1px solid #c397b284;padding:32px 34px 35px;margin-bottom:19px;position:relative}.checkout-card:before{content:'';position:absolute;inset:5px;border:1px solid #c2947554;pointer-events:none}.checkout-card-heading{display:flex;align-items:flex-start;gap:20px;position:relative;padding-bottom:22px;border-bottom:1px solid #bc8c6d55;margin-bottom:25px}.checkout-card-heading>span{font:italic 27px var(--serif);color:#ad6744;line-height:1}.checkout-card-heading h2{font-size:28px;color:#4d2857;letter-spacing:-.6px}.checkout-card-heading p{font-size:10px;color:#896e8e;margin-top:5px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 16px;position:relative}.field-grid label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#704b73;letter-spacing:.4px}.field-grid label>span i{color:#a486a3;font-style:normal}.field-grid input,.field-grid select,.field-grid textarea{border:1px solid #c4a0b8;background:#fffafb;padding:12px 12px;color:#45234e;font:12px var(--sans);min-width:0;border-radius:0}.field-grid textarea{resize:vertical;line-height:1.6}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{outline:2px solid #a35f43;outline-offset:2px}.field-wide{grid-column:1/-1}.field-error{color:#a14e39;font-size:9px;min-height:0}.field-grid [aria-invalid=true]{border-color:#a14e39}.payment-choice{position:relative;display:grid;gap:10px}.payment-choice label{display:flex;gap:13px;align-items:flex-start;padding:15px 14px;border:1px solid #c49a7954;background:#fcf5fa;cursor:pointer}.payment-choice label:has(input:checked){border-color:#ac6b4c;background:#ecdbea}.payment-choice input{accent-color:#9c5d40;margin-top:3px}.payment-choice strong{display:block;font:18px var(--serif);color:#512d59}.payment-choice small{display:block;color:#826685;font-size:10px;line-height:1.7;margin-top:3px}.consent{display:flex;gap:10px;align-items:flex-start;margin-top:23px;position:relative;color:#7d6383;font-size:10px;line-height:1.7}.consent input{margin-top:3px;accent-color:#9c5d40}.consent-error{display:block;margin:8px 0 0 24px}.submit-order{width:100%;min-height:56px;font-size:10px;margin-top:5px}.checkout-disclaimer{text-align:center;font-size:9px;color:#957d9a;line-height:1.7;margin:17px auto 0;max-width:380px}
.order-summary{background:#352040;color:#f3e8f7;padding:38px 34px 34px;position:sticky;top:25px;box-shadow:0 10px 35px #3d1f4c1c}.order-summary:before{content:'';position:absolute;inset:9px;border:1px solid #bd85633d;pointer-events:none}.summary-crest{width:66px;height:66px;margin:0 auto 17px;border-radius:50%;overflow:hidden;border:1px solid #c7865f;background:#decbed}.summary-crest img{width:100%;height:100%;object-fit:contain}.order-summary>.eyebrow{text-align:center;color:#d3a080;font-size:7px;letter-spacing:2px;position:relative}.order-summary h2{text-align:center;color:#f5ecf8;font-size:39px;margin:13px 0 29px;position:relative}.order-summary h2 em{color:#dfae88}.checkout-items{position:relative}.summary-item{display:grid;grid-template-columns:60px 1fr auto;gap:13px;align-items:center;border-top:1px solid #be8b6e4d;padding:17px 0}.summary-item-image{width:60px;height:60px;object-fit:cover;background:#e1d1e6}.summary-item h3{font-size:18px;line-height:1.15;color:#f7ecf7}.summary-item p{font-size:9px;color:#c7a6bf;margin-top:5px}.summary-item>strong{font-size:11px;color:#e1b290;align-self:start;margin-top:4px}.summary-totals{border-top:1px solid #c390735d;margin-top:7px;padding-top:17px;position:relative}.summary-totals>div{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#c6a6c1;margin-bottom:10px}.summary-totals strong{font-size:12px;color:#f3c19e;font-weight:400}.summary-totals .summary-total{border-top:1px solid #c390735d;padding-top:14px;margin-top:14px;color:#f4e9f6;font-size:11px}.summary-totals .summary-total strong{font-size:22px;color:#f1c09a}.summary-note{font-size:9px;line-height:1.75;color:#b99ab5;border-bottom:1px solid #c390735d;padding:5px 0 19px;position:relative}.summary-edit{display:flex;justify-content:space-between;align-items:center;color:#dfaf8e;font-size:9px;letter-spacing:.5px;padding-top:17px;position:relative}.summary-edit span{font-size:17px}.cart-empty{text-align:center;padding:45px 20px}.checkout-empty{background:#f7eef8;border:1px solid #c397b284;padding:70px 20px;text-align:center;max-width:520px;margin:0 auto}.checkout-empty svg{width:50px;height:50px;fill:none;stroke:#ae6a49;stroke-width:1}.checkout-empty h2{font-size:38px;color:#4d2857;margin:20px 0 10px}.checkout-empty p{color:#846889;font-size:12px;margin-bottom:24px}.order-success{max-width:680px;margin:0 auto;text-align:center;background:#f7eef8;border:1px solid #c397b284;padding:64px 30px;position:relative}.success-emblem{width:130px;height:130px;margin:0 auto 25px;border:1px solid #bd815d;border-radius:50%;overflow:hidden;background:#dccbed}.success-emblem img{width:100%;height:100%;object-fit:contain}.order-success .eyebrow{color:#a05c3d;font-size:8px;letter-spacing:2.3px}.order-success h2{font-size:50px;color:#4b2756;line-height:1.05;margin:17px 0 21px}.order-success h2 em{color:#a36045}.order-success>p:not(.eyebrow){font-size:12px;color:#806287;line-height:1.9;max-width:415px;margin:0 auto 27px}.order-success>p strong{color:#96573c;font-weight:400}.checkout-footer{max-width:1240px;margin:0 auto;padding:20px 5.5% 28px;border-top:1px solid #c29a7955;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.5px;color:#846887}.checkout-footer a{color:#9b5c40}.checkout-footer span:nth-child(2){color:#a16447;font-size:7px;letter-spacing:1.3px}
@media(max-width:900px){.checkout-layout{grid-template-columns:1fr;gap:36px}.order-summary{position:relative;top:auto;grid-row:1}.checkout-form{grid-row:2}.checkout-header{padding-left:4%;padding-right:4%}.checkout-header .brand-lettering{width:240px}.checkout-main{padding-top:55px}.checkout-heading{margin-bottom:40px}}
@media(max-width:560px){.announcement{font-size:7px}.checkout-header{height:121px;padding:4px 4% 8px}.checkout-header .brand-lettering{width:190px}.checkout-header .brand-subtitle{font-size:5px;letter-spacing:1.4px}.checkout-back span{display:none}.checkout-step{font-size:6px;letter-spacing:1px}.checkout-step strong{font-size:8px;letter-spacing:1.4px}.checkout-main{padding:43px 6% 60px}.checkout-heading{margin-bottom:35px}.checkout-heading .eyebrow{font-size:7px;letter-spacing:1.7px}.checkout-heading h1{font-size:49px;letter-spacing:-1.5px}.checkout-heading>p:last-child{font-size:11px}.checkout-card{padding:27px 20px 29px}.checkout-card-heading{gap:13px}.checkout-card-heading h2{font-size:26px}.checkout-card-heading>span{font-size:23px}.field-grid{grid-template-columns:1fr;gap:16px}.field-wide{grid-column:auto}.order-summary{padding:31px 23px 27px}.order-summary h2{font-size:37px}.summary-item{grid-template-columns:52px 1fr auto;gap:10px}.summary-item-image{width:52px;height:52px}.summary-item h3{font-size:16px}.checkout-footer{padding:20px 6%;font-size:7px}.checkout-footer span:nth-child(2){display:none}.order-success{padding:50px 20px}.order-success h2{font-size:43px}.payment-choice strong{font-size:17px}}
.payment-availability{font-size:12px;line-height:1.8;color:#71566b;margin:18px 0 12px}
.payment-pending:disabled{cursor:not-allowed;opacity:.65;width:100%;margin-bottom:18px}
#welcome-discount-row{color:#7a4b32}#welcome-discount-row[hidden]{display:none}
#order-summary-text{display:block;width:100%;max-width:640px;margin:25px auto;padding:20px;border:1px solid #b88a66;background:#fffaf2;color:#422849;font:13px/1.8 var(--sans);resize:vertical;text-align:left}
#order-success .button{margin:10px}#copy-order-status{font-size:12px;margin:12px 0}

.payment-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-choice label{min-width:0;align-items:center}.payment-choice input{flex-shrink:0}.payment-choice strong{overflow-wrap:break-word}
@media(max-width:380px){.payment-choice{grid-template-columns:1fr}}
