/* The Main Street Eatery — cart drawer. Matches the site palette. */
.mse-cart{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none}
.mse-cart.open{visibility:visible;pointer-events:auto}
.mse-cart-scrim{position:absolute;inset:0;background:rgba(18,16,14,.5);opacity:0;transition:opacity .2s}
.mse-cart.open .mse-cart-scrim{opacity:1}
.mse-cart-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);
  background:#F2EDE3;color:#12100E;
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .24s cubic-bezier(.4,0,.2,1);
  box-shadow:-8px 0 30px rgba(18,16,14,.3);overflow-y:auto;
}
.mse-cart.open .mse-cart-panel{transform:translateX(0)}
.mse-cart-panel header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;background:#0F3B34;color:#fff;border-bottom:3px solid #E8A317}
.mse-cart-panel h2{font-family:"Alfa Slab One",Georgia,serif;font-size:20px}
.mse-x{background:none;border:0;color:#fff;font-size:28px;line-height:1;cursor:pointer;opacity:.8}
.mse-x:hover{opacity:1}
.mse-lines{padding:20px 24px}
.mse-empty{opacity:.6;font-family:"Roboto Mono",monospace;font-size:14px;padding:12px 0}
.mse-line{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(18,16,14,.12)}
.mse-line-name{font-weight:700;font-size:15px}
.mse-qty{display:inline-flex;align-items:center;gap:10px}
.mse-qty button{width:26px;height:26px;border:1.5px solid rgba(18,16,14,.25);background:#fff;border-radius:3px;cursor:pointer;font-size:16px;line-height:1;color:#0F3B34}
.mse-qty button:hover{border-color:#0F3B34}
.mse-qty b{font-family:"Roboto Mono",monospace;min-width:14px;text-align:center}
.mse-line-cost{font-family:"Roboto Mono",monospace;font-weight:500;color:#0F3B34}
.mse-total{display:flex;justify-content:space-between;padding-top:16px;margin-top:6px;font-family:"Alfa Slab One",serif;font-size:20px;color:#0F3B34}
.mse-fields{padding:6px 24px 0;display:grid;gap:12px}
.mse-fields label{display:grid;gap:5px;font-family:"Roboto Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.mse-fields input{font-family:"Archivo",sans-serif;font-size:16px;padding:11px 13px;border:1.5px solid rgba(18,16,14,.2);border-radius:4px;background:#fff;color:#12100E}
.mse-fields input:focus{outline:2px solid #E8A317;outline-offset:1px;border-color:#0F3B34}
.mse-card{margin:16px 24px 0;padding:4px 0;min-height:48px}
.mse-confirmed{margin:12px 24px 0;font-family:"Roboto Mono",monospace;font-size:13px;font-weight:500;color:#0F3B34;background:rgba(15,59,52,.07);border:1px solid rgba(15,59,52,.18);border-radius:4px;padding:10px 12px}
.mse-err{margin:12px 24px 0;color:#B3391F;font-size:14px;font-weight:600}
.mse-pay{margin:16px 24px 8px;padding:15px;background:#E8A317;color:#12100E;border:0;border-radius:4px;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;box-shadow:0 3px 0 #a8730c}
.mse-pay:hover:not(:disabled){background:#f5b32c}
.mse-pay:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.mse-fine{padding:0 24px 24px;font-family:"Roboto Mono",monospace;font-size:11px;opacity:.55;line-height:1.5}
.mse-done{padding:48px 30px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}
.mse-check{width:64px;height:64px;border-radius:50%;background:#0F3B34;color:#fff;font-size:34px;display:grid;place-items:center}
.mse-done h2{font-family:"Alfa Slab One",serif;font-size:24px;color:#0F3B34}
.mse-done p{font-size:16px;opacity:.8;max-width:34ch}
.mse-done-total{font-family:"Alfa Slab One",serif;font-size:22px;color:#0F3B34;opacity:1}
.mse-receipt{font-family:"Roboto Mono",monospace;font-size:13px;color:#0F3B34;border-bottom:1px solid #0F3B34;text-decoration:none}
@media(prefers-reduced-motion:reduce){.mse-cart-panel,.mse-cart-scrim{transition:none}}
