.purchase-page{min-height:100dvh}.purchase-page .site-header{height:72px}.purchase-page .header-buy{font-size:11px}.purchase-shell{max-width:1120px;margin:auto;padding:25px 22px 35px}.purchase-steps{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:34px;color:#726870}.purchase-steps>*{display:flex;align-items:center;gap:6px;min-height:30px}.purchase-steps b{font-size:10px;width:23px;height:23px;display:grid;place-items:center;border:1px solid #b7ada8;border-radius:50%;font-weight:500}.purchase-steps .current{color:var(--ink);font-weight:700}.purchase-steps .current b{background:var(--ink);color:var(--cream);border-color:var(--ink)}.purchase-intro h1,.checkout-heading h1{font-size:44px;line-height:.98}.purchase-intro .eyebrow{font-size:10px}.order-product{display:grid;grid-template-columns:44% 1fr;gap:18px;align-items:center;margin-top:24px}.order-product img{width:100%;mix-blend-mode:multiply}.order-product h2{font-size:30px}.order-product p{font-size:12px;margin-top:9px}.order-product span{display:block;font-size:11px;line-height:1.6;margin:8px 0}.order-product strong{font-size:24px;font-weight:500;letter-spacing:-.04em}.order-format{font-size:12px;line-height:1.65;color:#62565d;margin-top:12px}.order-options{border-top:1px solid var(--ink);margin-top:28px;padding-top:28px}.order-options>.eyebrow{margin-bottom:12px}.order-options h2{font-size:34px}.christmas-option{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--ink);padding:16px;margin-top:20px;background:#faf7ef;cursor:pointer}.christmas-option:has(input:checked){background:var(--lime);box-shadow:3px 3px 0 var(--ink)}.christmas-option input{width:21px;height:21px;flex-shrink:0;accent-color:var(--ink);margin:2px 0 0}.christmas-option strong{display:flex;gap:8px;justify-content:space-between;font-size:13px;line-height:1.5}.christmas-option strong b{white-space:nowrap}.christmas-option small{display:block;font-size:12px;line-height:1.65;margin:9px 0}.christmas-option em{font:600 11px var(--body);letter-spacing:0}.order-totals{margin-top:27px}.order-totals>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:12px 0}.order-totals>div[hidden]{display:none}.order-totals b{font-weight:500;white-space:nowrap}.order-totals .order-total{align-items:center;border-top:1px solid var(--line);padding:17px 0 10px;font-size:15px}.order-total strong{font-size:32px;line-height:1;font-weight:500;letter-spacing:-.04em}.payment-note{text-align:center;font-size:11px;line-height:1.7;color:#645b62;margin:15px 0 0}.purchase-assurance{border-top:1px solid var(--line);margin-top:32px;padding-top:23px;display:grid;gap:9px;font-size:12px}.purchase-footer{padding:26px 22px;gap:12px;margin-top:auto}.purchase-footer>div{max-width:340px}.purchase-footer>a:last-child{font-size:11px}.checkout-shell{max-width:1060px}.checkout-heading{margin:0 0 28px}.checkout-heading>p{font-size:14px;margin-top:18px}.checkout-status{text-align:center;background:#fcfaf5;border:1px solid var(--line);padding:45px 20px;min-height:240px}.checkout-status h2{font-size:26px;line-height:1.2;margin:18px 0 8px}.checkout-status p{font-size:13px}.checkout-spinner{display:block;margin:auto;width:28px;height:28px;border:2px solid #ddd4ca;border-top-color:var(--orange);border-radius:50%;animation:spin .9s linear infinite}.checkout-error{padding:28px;border:1px solid var(--ink);background:#fcfaf5}.checkout-error h2{font-size:35px}.checkout-error p{font-size:14px;margin:20px 0}.checkout-error>a{font-size:13px;text-align:center;display:block;padding:16px 0 0;min-height:44px}.test-mode-note{font-size:11px;line-height:1.6;text-align:center;padding:11px;background:var(--lime);margin-bottom:18px}.checkout-status[hidden],.checkout-error[hidden],.test-mode-note[hidden]{display:none}#embedded-checkout{min-width:0;width:100%}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:768px){.purchase-shell{padding:35px 40px 60px}.purchase-steps{max-width:460px;margin:0 auto 48px;font-size:13px}.purchase-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px}.purchase-intro h1{font-size:54px}.order-product{grid-template-columns:47% 1fr;margin-top:30px}.order-product h2{font-size:35px}.order-product p{font-size:14px}.order-product span{font-size:12px}.order-format{font-size:13px}.order-options{margin:0;padding:0;border:0}.order-options h2{font-size:42px}.christmas-option{padding:20px}.christmas-option strong{font-size:14px}.christmas-option small{font-size:13px}.order-totals>div{font-size:13px}.purchase-assurance{display:flex;justify-content:center;gap:27px;margin-top:55px}.purchase-footer{padding:30px 5%}.checkout-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.checkout-heading h1{font-size:57px}.checkout-heading>p{font-size:15px;text-align:right}}
@media(max-width:359px){.purchase-shell{padding-left:16px;padding-right:16px}.purchase-steps{font-size:10px}.purchase-intro h1{font-size:39px}.christmas-option{padding:12px}.christmas-option strong{font-size:12px}}

.mobile-order-total{display:none}@media(max-width:767px){.purchase-page:has(.order-continue){padding-bottom:85px}.order-continue{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:20px;background:var(--cream);padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--ink);box-shadow:0 -5px 20px #241b2210}.order-continue .button{font-size:13px;min-height:50px;padding:12px 16px}.mobile-order-total{display:block;flex:0 0 74px}.mobile-order-total small{display:block;font-size:10px}.mobile-order-total strong{font-size:25px;line-height:1.1;font-weight:500;letter-spacing:-.04em}.purchase-steps{margin-bottom:24px}.purchase-intro h1{font-size:40px}.order-product{margin-top:17px;grid-template-columns:38% 1fr}.order-product h2{font-size:27px}.order-options{margin-top:20px;padding-top:22px}.order-options h2{font-size:31px}}

/* Give the desktop order card its own interior space and keep prices clear of the edge. */
@media (min-width:768px){
  .purchase-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px)}
  .purchase-intro,.order-options{min-width:0}
  .order-options{margin:0;padding:clamp(22px,2.4vw,32px);border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
  .order-product{grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:20px}
  .order-total strong{font-size:clamp(32px,3.1vw,42px);white-space:nowrap}
  .order-totals>div{align-items:baseline}
}
@media (min-width:768px) and (max-width:1023px){
  .purchase-layout{grid-template-columns:minmax(0,1fr);max-width:680px;margin:auto;gap:32px}
  .order-product{grid-template-columns:minmax(0,34%) minmax(0,1fr)}
}
/* Draw payment progress and assurance checks in CSS instead of text glyphs. */
.purchase-steps .step-check:after,.purchase-assurance>span:before,.paid-note .check-mark{content:"";display:inline-block;width:6px;height:10px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);}
.purchase-steps .step-check:after{margin-top:-3px;}
.purchase-assurance>span:before{margin:0 9px 1px 1px;color:var(--red);}
