/* v3 express sheet: whole cart, shipping choice, then Apple Pay */
.xp-ov{position:fixed;inset:0;z-index:400;background:rgba(20,13,8,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .3s}
.xp-ov.on{opacity:1;pointer-events:auto}
.xp-sh{position:fixed;z-index:401;left:50%;top:50%;width:min(560px,calc(100vw - 32px));max-height:calc(100svh - 48px);display:flex;flex-direction:column;border-radius:30px;background:#fbf8f3;box-shadow:0 60px 120px -40px rgba(20,12,6,.6);font-family:"General Sans",system-ui,-apple-system,sans-serif;color:#1d140e;translate:-50% -46%;opacity:0;visibility:hidden;transition:translate .45s cubic-bezier(.2,.9,.2,1),opacity .3s,visibility 0s .45s}
.xp-sh.on{translate:-50% -50%;opacity:1;visibility:visible;transition:translate .45s cubic-bezier(.2,.9,.2,1),opacity .3s}
.xp-grab{display:none}
.xp-hd{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 26px 6px}
.xp-hd small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#8a6a4f}
.xp-hd h3{font-size:28px;font-weight:500;letter-spacing:-.04em;margin-top:6px}
.xp-x{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:inset 0 0 0 1px rgba(10,12,16,.08)}
.xp-x svg{width:18px;height:18px}
.xp-bd{overflow-y:auto;padding:6px 26px 4px;-webkit-overflow-scrolling:touch}
.xp-l{margin-top:16px}
.xp-lbl{display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#6B6F76;margin-bottom:10px}
.xp-lbl span{letter-spacing:0;text-transform:none;font-weight:500}
.xp-its{border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px rgba(10,12,16,.07);padding:6px 14px}
.xp-it{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(10,12,16,.06)}
.xp-it:last-child{border-bottom:0}
.xp-it .ph{position:relative;width:48px;height:48px;border-radius:12px;overflow:visible}
.xp-it .ph img{width:48px;height:48px;border-radius:12px;object-fit:cover}
.xp-it .ph i{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:#1d140e;color:#fff;font:600 11px/20px "General Sans",sans-serif;text-align:center;font-style:normal}
.xp-it b{display:block;font-size:14.5px;font-weight:600}.xp-it small{font-size:12.5px;color:#6B6F76}
.xp-it em{font-style:normal;font-weight:600;font-size:14.5px}
.xp-rates{display:grid;gap:8px}
.xp-rates label{position:relative;cursor:pointer;display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px rgba(10,12,16,.08);transition:box-shadow .2s}
.xp-rates label:before{content:"";width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(10,12,16,.25);background:#fff;transition:box-shadow .2s}
.xp-rates label:has(input:checked){box-shadow:inset 0 0 0 1.5px #1d140e}
.xp-rates label:has(input:checked):before{box-shadow:inset 0 0 0 5px #1d140e}
.xp-rates input{position:absolute;opacity:0}
.xp-rates b{font-size:14.5px;font-weight:600}.xp-rates em{font-style:normal;font-weight:600}
.xp-sum{margin:18px 0 6px;padding:14px 16px;border-radius:18px;background:#f3ede4}
.xp-r{display:flex;justify-content:space-between;font-size:14px;color:#5c4a3a;margin:5px 0}
.xp-r.sv{color:#2c6b4a}
.xp-r.t{margin-top:10px;padding-top:10px;border-top:1px solid rgba(29,20,14,.1);font-size:19px;font-weight:600;color:#1d140e}
.xp-r.t small{font-size:11px;font-weight:500;color:#8a7a6a;margin-right:6px}
.xp-ft{padding:12px 26px 22px;border-top:1px solid rgba(10,12,16,.06)}
.xp-err{margin-bottom:10px;padding:12px 14px;border-radius:14px;background:#fdf1ee;color:#7a2a1d;font-size:13.5px;line-height:1.5}
.xp-pay{position:relative;min-height:54px}
#xpAp{min-height:54px;opacity:0;transition:opacity .3s}
.xp-sh.ap-on #xpAp{opacity:1}
#xpAp apple-pay-button{--apple-pay-button-width:100%;--apple-pay-button-height:54px;--apple-pay-button-border-radius:99px;display:block;width:100%}
.xp-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:99px;background:#1d140e;color:#fff;font-size:15px;font-weight:600;pointer-events:none;transition:opacity .3s}
.xp-wait span{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:xpsp .8s linear infinite}
@keyframes xpsp{to{transform:rotate(360deg)}}
.xp-sh.ap-on .xp-wait{opacity:0}
.xp-sh.ap-off .xp-wait{opacity:0}.xp-sh.ap-off .xp-pay{display:none}
.xp-sh.ap-off .xp-alt{display:flex;align-items:center;justify-content:center;height:54px;border-radius:99px;background:#1d140e;color:#fff;font-size:15.5px;font-weight:600;text-decoration:none;margin-top:0}
.xp-alt{display:block;text-align:center;margin-top:12px;font-size:13.5px;color:#6B6F76;text-decoration:underline;text-underline-offset:3px}
.xp-note{margin-top:10px;text-align:center;font-size:12px;color:#8a7a6a;line-height:1.5}
.xp-sh.loading .xp-bd{opacity:.55;pointer-events:none;transition:opacity .2s}
.xp-sh.paying .xp-pay:after{content:"Completing your order…";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:99px;background:#2c6b4a;color:#fff;font-weight:600}
#buyNow.ld,.hc-xp a.ld{opacity:.6;pointer-events:none}
@media (max-width:700px){
  .xp-sh{left:0;right:0;top:auto;bottom:0;width:100%;max-height:92svh;border-radius:28px 28px 0 0;translate:0 100%}
  .xp-sh.on{translate:0 0}
  .xp-grab{display:block;width:40px;height:5px;border-radius:3px;background:#d8d2c8;margin:10px auto 0}
  .xp-hd{padding:12px 20px 4px}.xp-hd h3{font-size:24px}.xp-bd{padding:4px 20px}.xp-ft{padding:12px 20px calc(16px + env(safe-area-inset-bottom))}
}
.xp-sh.ap-off .xp-note{display:none}
.xp-it{align-items:start}.xp-it .ph{margin-top:2px}.xp-it em{margin-top:2px}
.xp-q{display:flex;align-items:center;gap:2px;margin-top:8px}
.xp-q button{all:unset;cursor:pointer;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f3ede4;font-size:15px;font-weight:600;color:#1d140e;transition:background .15s}
.xp-q button:hover{background:#ebe3d6}
.xp-q i{min-width:26px;text-align:center;font-style:normal;font-size:13.5px;font-weight:600}
.xp-q .xp-rm{width:auto;height:auto;background:none;border-radius:0;margin-left:12px;font-size:12.5px;font-weight:500;color:#6B6F76;text-decoration:underline;text-underline-offset:3px}
.xp-q .xp-rm:hover{background:none;color:#1d140e}
