/* One scrollable area between the title and the fixed order total. */
html.checkout-open,body.checkout-open{overflow:hidden;overscroll-behavior:none}
#checkoutModal{position:fixed;inset:0;margin:auto;width:min(640px,calc(100% - 32px));max-width:100%;height:min(820px,calc(var(--checkout-height,100dvh) - 32px));max-height:calc(var(--checkout-height,100dvh) - 32px);padding:0;border:0;border-radius:20px;overflow:hidden;background:var(--paper,#fffaf2);color:#211c16;box-sizing:border-box}
#checkoutModal .checkout-shell{height:100%;max-height:none;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;margin:0;box-sizing:border-box}
#checkoutModal .checkout-heading{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #e7ddcf;background:var(--paper,#fffaf2)}
#checkoutModal .checkout-heading p{font-size:13px;line-height:1.3;margin:0 0 3px;color:#776b5d}
#checkoutModal .checkout-heading h2{font-family:var(--sans,system-ui,sans-serif);font-size:23px;line-height:1.2;margin:0;padding:0}
#checkoutModal .modal-close{position:static;flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;font-size:30px;border:1px solid #dfd3c1;border-radius:50%;background:#fff9ef;color:#211c16;cursor:pointer;touch-action:manipulation}
#checkoutModal .checkout-body{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 18px;scroll-padding:14px;box-sizing:border-box}
#checkoutModal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
#checkoutModal label{font-size:14px;line-height:1.4;gap:5px;min-width:0;margin:0 0 12px}
#checkoutModal label small{font-size:12px;font-weight:400;color:#776b5d}
#checkoutModal input:not([type=radio]):not([type=checkbox]),#checkoutModal select,#checkoutModal textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:44px;box-sizing:border-box;font-size:16px;line-height:1.3;padding:11px 12px;border:1px solid #d9d0c4;border-radius:9px;background:#fff;color:#211c16;scroll-margin-block:16px}
#checkoutModal textarea{height:68px;min-height:68px;max-height:180px;resize:vertical}
#checkoutModal fieldset{margin:2px 0 12px;min-width:0}
#checkoutModal legend{font-size:16px;margin-bottom:8px}
#checkoutModal .radio-card{gap:10px!important;padding:10px 12px;min-height:54px;margin-bottom:8px}
#checkoutModal .radio-card b{font-size:14px}
#checkoutModal .radio-card small{font-size:12px;line-height:1.4}
#checkoutModal input[type=checkbox],#checkoutModal input[type=radio]{flex:0 0 22px;appearance:auto;width:22px;height:22px;min-width:22px;min-height:22px;margin:0;padding:0;accent-color:#d86f10}
#checkoutModal .privacy-check{display:flex!important;align-items:flex-start;gap:10px;min-height:44px;padding:7px 0;margin-bottom:3px;font-size:14px;line-height:1.5;cursor:pointer}
#checkoutModal .privacy-check>span{display:block;min-width:0;flex:1}
#checkoutModal .checkout-final{position:static;bottom:auto;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 18px;border-radius:0;border-top:1px solid #ddd1be;background:#f1e7d7;box-shadow:0 -4px 16px #4530150b}
#checkoutModal .checkout-final>div{min-width:0;flex:0 1 auto}
#checkoutModal .checkout-final span{font-size:13px;line-height:1.3}
#checkoutModal .checkout-final b{font-size:24px;line-height:1.3;overflow-wrap:anywhere}
#checkoutModal .checkout-final .btn{width:auto;flex:0 1 auto;min-width:0;min-height:48px;padding:12px 18px;font-size:16px;line-height:1.25;text-align:center;white-space:normal;touch-action:manipulation}
#checkoutModal .checkout-final .btn:disabled{opacity:.65;cursor:wait}
#checkoutModal .form-error{font-size:14px;line-height:1.4;margin:10px 0;scroll-margin:12px}
#checkoutModal [hidden]{display:none!important}
#checkoutModal :focus-visible{outline:2px solid #ad590a;outline-offset:2px}
@media(max-width:760px),(max-height:520px){
  #checkoutModal{inset:auto;top:var(--checkout-top,0px);left:var(--checkout-left,0px);width:var(--checkout-width,100%);max-width:none;height:var(--checkout-height,100dvh);max-height:var(--checkout-height,100dvh);margin:0;border-radius:0}
  #checkoutModal .checkout-heading{padding:calc(10px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}
  #checkoutModal .checkout-heading h2{font-size:22px}
  #checkoutModal .checkout-body{padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}
  #checkoutModal .form-grid{grid-template-columns:1fr;gap:0}
  #checkoutModal .checkout-final{padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:8px}
  #checkoutModal .checkout-final .btn{padding:12px 14px}
}
@media(max-height:440px) and (min-width:540px){#checkoutModal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}#checkoutModal .checkout-heading p{display:none}#checkoutModal .checkout-heading{padding-top:6px;padding-bottom:6px}}
