/* Checkout only: reuse the approved typography, canvas, fields and buttons. */
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,80px);padding-top:34px}
.checkout-page h2{font:400 clamp(34px,4vw,54px)/1 var(--serif);margin:0 0 24px}
.checkout-page fieldset{border:0;padding:0;margin:24px 0;min-width:0}
.checkout-page legend{font:500 11px var(--mono);padding:0 0 18px}
.checkout-page .field input,.checkout-page .field select,.checkout-page .field textarea{font:400 16px var(--sans);min-height:44px}
.checkout-page :focus-visible{outline:2px solid var(--berry);outline-offset:4px}
.checkout-summary{border-top:1px solid var(--espresso);padding-top:24px;align-self:start;overflow-wrap:anywhere}
.checkout-item,.checkout-total{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(35,24,21,.3)}
.checkout-item strong,.checkout-item small{display:block}
.checkout-item small{margin-top:6px}
.checkout-notice{border-left:2px solid var(--berry);padding-left:16px;margin:24px 0;font-size:14px}
.checkout-page button[disabled]{opacity:.65;cursor:not-allowed}
.checkout-page [hidden]{display:none!important}
.checkout-note{white-space:pre-wrap}
.checkout-explanation,.checkout-total-notes{font:400 16px/1.6 var(--sans);color:var(--espresso);opacity:1;margin:0 0 24px}
.checkout-total-notes{margin:20px 0}
.confirmation-page{padding-top:32px}
.confirmation-preview-banner{font:400 12px/1.6 var(--mono);border-bottom:1px solid var(--espresso);padding-bottom:16px;margin:0 0 24px}
.confirmation-thanks{background:var(--berry);color:var(--vanilla);display:grid;grid-template-columns:1fr 240px;gap:36px;padding:clamp(28px,5vw,72px)}
.confirmation-copy .hand{font-size:30px;color:var(--mist)}
.confirmation-copy h1{font:400 clamp(56px,7.6vw,112px)/.9 var(--serif);letter-spacing:-.035em;margin:24px 0}
.confirmation-copy p{font:400 17px/1.65 var(--sans);max-width:52ch;margin:0}
.confirmation-keepsake{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.confirmation-candle{width:150px;height:167px;color:var(--vanilla);transform:rotate(5deg)}
.confirmation-receipt{background:var(--vanilla);color:var(--espresso);width:100%;padding:20px 16px;transform:rotate(-3deg);font:400 10px/1.6 var(--mono);border-bottom:3px double var(--espresso)}
.confirmation-receipt span,.confirmation-receipt strong{display:block}
.confirmation-receipt strong{font-size:15px;margin:9px 0 12px}
.confirmation-status{border-top:1px dashed var(--espresso);padding-top:12px}
.confirmation-highlight{background:var(--mist);font:400 22px/1.35 var(--serif);padding:20px 28px;margin:0}
.confirmation-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:36px 0;margin:0;border-bottom:1px solid var(--espresso)}
.confirmation-steps h2{font:400 28px/1.1 var(--serif);margin:0 0 14px}
.confirmation-steps h2 span{display:block;font:400 12px var(--mono);margin-bottom:18px;color:var(--berry)}
.confirmation-steps p{font:400 15px/1.65 var(--sans);margin:0}
.confirmation-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:28px}
.confirmation-bottom p{font-size:14px;line-height:1.6;margin:0}
.confirmation-bottom p a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:800px){.confirmation-thanks{grid-template-columns:1fr;gap:24px}.confirmation-keepsake{flex-direction:row;gap:24px}.confirmation-candle{width:90px;height:100px;flex-shrink:0}.confirmation-receipt{max-width:240px}.confirmation-steps{grid-template-columns:1fr;gap:24px}.confirmation-steps li+li{border-top:1px solid rgba(35,24,21,.25);padding-top:24px}.confirmation-steps h2 span{display:inline;margin-right:8px}.confirmation-bottom{align-items:flex-start;flex-direction:column}.confirmation-highlight{font-size:23px;padding:20px 24px}}
@media(max-width:400px){.confirmation-thanks{padding:26px 22px}.confirmation-keepsake{gap:12px}.confirmation-candle{width:64px}.confirmation-receipt{padding:16px 12px}}
@media(max-width:900px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{grid-row:1}}
