/* Bag drawer. Palette: ivory #FCF8F3, brown #643521 / #3E2A26, pine #2F4A3C, cream #F6E6C8, gold #C9A876 */
.cart-scrim{position:fixed;inset:0;z-index:40;background:rgba(30,16,10,.38);opacity:0;pointer-events:none;transition:opacity .35s ease}
.cart-scrim.open{opacity:1;pointer-events:auto}
.cart{position:fixed;top:0;right:0;bottom:0;z-index:41;width:min(440px,100vw);background:#FCF8F3;color:#3E2A26;display:flex;flex-direction:column;
  transform:translateX(102%);transition:transform .45s cubic-bezier(.2,.7,.2,1);box-shadow:-18px 0 40px rgba(62,42,38,.16);font-family:'Cormorant Garamond',Georgia,serif}
.cart.open{transform:none}
.cart header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 14px;border-bottom:1px solid #EADCCB}
.cart header h2{margin:0;font-weight:400;line-height:1}
.cart header .sc{font-family:'Great Vibes',cursive;font-size:44px;color:#643521}
.cart header .cp{font-size:22px;letter-spacing:.12em;color:#2F4A3C;margin-left:6px;font-weight:500}
.cart .x{width:40px;height:40px;border-radius:999px;border:1px solid #EADCCB;background:#fff;color:#3E2A26;cursor:pointer;font-size:20px;line-height:1}
.cart .lines{flex:1;overflow-y:auto;padding:6px 24px}
.cart .empty{padding:48px 0;text-align:center;font-size:20px;color:#7D6158}
.cart .line{padding:16px 0;border-bottom:1px solid #EADCCB;display:grid;grid-template-columns:1fr auto;gap:6px 12px}
.cart .line h3{margin:0;font-size:20px;font-weight:600;line-height:1.2}
.cart .line .sz{font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.06em;color:#7D6158}
.cart .line .lt{font-size:19px;font-weight:600;color:#643521;text-align:right}
.cart .opts{grid-column:1/-1;display:grid;gap:6px}
.cart .opts label{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:8px;font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.06em;color:#6E5248}
.cart select{width:100%;min-height:38px;border:1px solid #D9C6B0;border-radius:8px;background:#fff;color:#3E2A26;font:16px 'Cormorant Garamond',Georgia,serif;padding:4px 8px}
.cart select.need{border-color:#B07A2A;background:#FFF8EC}
.cart .qrow{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.cart .qty{display:inline-flex;align-items:center;border:1px solid #D9C6B0;border-radius:999px;overflow:hidden;background:#fff}
.cart .qty button{width:38px;height:36px;border:0;background:none;color:#3E2A26;font-size:18px;cursor:pointer}
.cart .qty button:disabled{opacity:.35;cursor:default}
.cart .qty span{min-width:30px;text-align:center;font-family:Montserrat,sans-serif;font-size:13px}
.cart .rm{border:0;background:none;color:#7D6158;font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;cursor:pointer;padding:8px 0}
.cart footer{padding:16px 24px 22px;border-top:1px solid #EADCCB;background:#FCF8F3}
.cart .sum{display:flex;justify-content:space-between;align-items:baseline;font-size:22px;font-weight:600}
.cart .sum b{color:#643521}
.cart .note{margin:6px 0 0;font-family:Montserrat,sans-serif;font-size:11px;line-height:1.55;letter-spacing:.03em;color:#6E5248}
.cart .note.warn{color:#8A5A12}
.cart .err{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:#FBEFE6;border:1px solid #E9C9AE;color:#6B2E14;font-family:Montserrat,sans-serif;font-size:12px;line-height:1.5;display:none}
.cart .err.show{display:block}
.cart .go{margin-top:14px;width:100%;min-height:52px;border-radius:999px;border:1px solid #C9A876;background:#F6E6C8;color:#4A2616;cursor:pointer;
  font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;transition:background .2s}
.cart .go:hover:not(:disabled){background:#F1DBB3}
.cart .go:disabled{opacity:.55;cursor:default}
.cart .secure{margin-top:10px;text-align:center;font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8C7166}
.cart-toast{position:fixed;left:50%;bottom:24px;z-index:45;transform:translate(-50%,20px);opacity:0;transition:all .4s ease;background:#2F4A3C;color:#F6E6C8;
  padding:12px 20px;border-radius:999px;font-family:Montserrat,sans-serif;font-size:12px;letter-spacing:.06em;max-width:calc(100vw - 32px);text-align:center}
.cart-toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:480px){.cart header,.cart .lines,.cart footer{padding-left:16px;padding-right:16px}}

/* stock */
.cart .stock{margin-top:4px;font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.04em;color:#8A5E00}
.cart .stock.red{color:#A3301B;font-weight:600}
.cart .stock.bad{color:#8A3B12;font-weight:600}
/* low stock: yellow at 20 or fewer, red at 10 or fewer (Jake, Oct 24) */
.card .low,.pdp-info .low{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:5px 11px;border-radius:999px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em}
.pdp-info .low{margin:14px 0 -4px}
.card .low::before,.pdp-info .low::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.low.warn{background:#FFF4D6;border:1px solid #EBCB7A;color:#8A5E00}
.low.red{background:#FBE9E5;border:1px solid #E7B4A8;color:#A3301B}
.add.out,.add:disabled{cursor:default;opacity:.55;background:#fff}

/* pickup day and time (same look as the option pickers) */
.cart .pickup{padding:16px 0 18px;display:grid;gap:8px}
.cart .pickup[hidden]{display:none}
.cart .pickup h4{margin:0 0 2px;display:flex;align-items:center;gap:12px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#2F4A3C}
.cart .pickup h4::after{content:"";flex:1;height:1px;background:#EADCCB}
.cart .pickup label{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:8px;font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.06em;color:#6E5248}
.cart .pickup label.pn{align-items:start}
.cart .pickup label.pn textarea{width:100%;border:1px solid #D9C6B0;border-radius:8px;background:#fff;color:#3E2A26;font:16px 'Cormorant Garamond',Georgia,serif;padding:6px 8px;resize:vertical}
.cart .pickup .pnote{margin:0;font-family:Montserrat,sans-serif;font-size:11px;line-height:1.55;letter-spacing:.03em;color:#6E5248}

/* pickup calendar (replaces the day dropdown) */
.cart .cal{width:100%;max-width:300px;justify-self:center;border:1px solid #EADCCB;border-radius:12px;background:#fff;padding:8px 8px 6px;font-family:Montserrat,sans-serif}
.cart .cal.need{border-color:#D9B98A}
.cart .cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.cart .cal-head b{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;font-weight:600;color:#3E2A26}
.cart .cal-nav{width:32px;height:32px;border-radius:999px;border:1px solid #EADCCB;background:#FCF8F3;color:#3E2A26;font-size:18px;line-height:1;cursor:pointer}
.cart .cal-nav:disabled{opacity:.3;cursor:default}
.cart .cal-dow,.cart .cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.cart .cal-dow span{text-align:center;font-size:10px;font-weight:600;letter-spacing:.1em;color:#8C7166;padding:2px 0}
.cart .cd{position:relative;display:grid;place-items:center;height:32px;border-radius:8px;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:#B9A79B;border:1px solid transparent;padding:0;font-family:inherit}
.cart .cd.blank{visibility:hidden}
.cart .cd.open{background:#F6E6C8;color:#4A2616;border-color:#E6CFA4;font-weight:600;cursor:pointer;transition:background .15s}
.cart .cd.open:hover{background:#F1DBB3}
.cart .cd.shut{color:#BDAFA5;background:#F4EFEA}
.cart .cd.shut::before,.cart .cd.shut::after{content:"";position:absolute;left:28%;right:28%;top:50%;height:1px;background:#C9BBB0}
.cart .cd.shut::before{transform:rotate(45deg)}.cart .cd.shut::after{transform:rotate(-45deg)}
.cart .cd.today{box-shadow:inset 0 0 0 1.5px #8C7166}
.cart .cd.sel{background:#2F4A3C;border-color:#2F4A3C;color:#F6E6C8}
.cart .cd:focus-visible,.cart .cal-nav:focus-visible{outline:2px solid #2F4A3C;outline-offset:2px}
.cart .cal-key{display:flex;flex-wrap:wrap;gap:4px 9px;justify-content:center;margin-top:8px;font-size:10px;letter-spacing:.06em;color:#8C7166}
.cart .cal-key span{display:inline-flex;align-items:center;gap:5px}
.cart .cal-key span+span::before{content:"·";margin-right:9px;color:#C9BBB0}
.cart .cal-key i{width:10px;height:10px;border-radius:3px;display:inline-block}
.cart .cal-key .k-open{background:#F6E6C8;border:1px solid #E6CFA4}
.cart .cal-key .k-shut{background:#F4EFEA linear-gradient(45deg,transparent 46%,#C9BBB0 46%,#C9BBB0 54%,transparent 54%);border:1px solid #E6DCD3}
.cart .cal-pick{text-align:center;margin:2px 0 0;font-size:18px;font-weight:600;color:#2F4A3C}
.cart .cal-pick.need{font-family:Montserrat,sans-serif;font-size:11px;font-weight:500;letter-spacing:.03em;color:#8A5A12}

.cart .times-h{margin:14px 0 6px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#6E5248}
.cart .times-h.need{color:#8A5A12}
.cart .times{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.cart .tbtn{padding:10px 6px;border:1px solid #D9C7AE;border-radius:10px;background:#fff;font:inherit;font-size:16px;color:#36231B;cursor:pointer}
.cart .tbtn:hover:not(:disabled){border-color:#5A4B44}
.cart .tbtn.on{background:#36231B;border-color:#36231B;color:#F6E6C8}
.cart .tbtn:disabled{color:#B9AEA6;background:#F7F2EC;text-decoration:line-through;cursor:not-allowed}
.cart .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* chosen options in the bag (picked on the product page) */
.cart .chosen{display:grid;grid-template-columns:72px 1fr;gap:8px;font-size:16px;color:#3E2A26}
.cart .chosen span{font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.06em;color:#6E5248;align-self:center}
