.tb-site-header .tb-bag-link { display:inline-flex; align-items:center; gap:.28rem; padding:.32rem .42rem; border:1px solid var(--tb-line,#ddd0c3); border-radius:999px; min-height:38px; }
.tb-bag-link svg { width:20px; height:20px; flex:none; }
.tb-cart-count { min-width:1.25rem; text-align:center; font-size:.78rem; font-weight:800; }
.tb-cart-drawer {
  position:fixed; inset:0 0 0 auto; margin:0; width:min(100%,430px); max-width:100%;
  height:100%; max-height:100%; padding:clamp(1rem,4vw,1.6rem);
  border:0; color:var(--tb-ink,#28221e); background:var(--tb-paper,#fffaf5);
  box-shadow:-12px 0 45px #281a1440; overflow:auto;
}
.tb-cart-drawer[open] { display:flex; flex-direction:column; gap:1rem; animation:tb-cart-enter .2s ease-out; }
.tb-cart-drawer::backdrop { background:#29191482; }
.tb-cart-drawer-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:.8rem; border-bottom:1px solid var(--tb-line,#ddd0c3); }
.tb-cart-drawer-heading h2 { margin:0; font-size:2rem; }
.tb-cart-drawer-heading button { border:1px solid var(--tb-line,#ddd0c3); border-radius:100%; width:42px; height:42px; font-size:1.45rem; background:transparent; cursor:pointer; }
.tb-cart-drawer .woocommerce-mini-cart { list-style:none; padding:0; margin:0; }
.tb-cart-drawer .woocommerce-mini-cart-item { position:relative; min-height:82px; padding:.65rem 2.5rem .65rem 0; border-bottom:1px solid var(--tb-line,#ddd0c3); }
.tb-cart-drawer .woocommerce-mini-cart-item a:not(.remove) { color:inherit; font-weight:700; }
.tb-cart-drawer .woocommerce-mini-cart-item img { float:left; width:60px; height:53px; object-fit:cover; margin:0 .65rem .3rem 0; border-radius:.4rem; }
.tb-cart-drawer .woocommerce-mini-cart-item .remove { position:absolute; inset:.7rem .2rem auto auto; text-align:center; width:30px; height:30px; font-size:1.15rem; line-height:28px; border:1px solid var(--tb-line,#ddd0c3); border-radius:100%; text-decoration:none; }
.tb-cart-drawer .quantity { display:block; font-size:.87rem; }
.tb-cart-drawer .woocommerce-mini-cart__total { display:flex; justify-content:space-between; margin:1rem 0 .65rem; }
.tb-cart-drawer .woocommerce-mini-cart__buttons { display:flex; flex-wrap:wrap; gap:.5rem; }
.tb-cart-drawer .woocommerce-mini-cart__buttons a { color:var(--tb-wine,#812f22); background:transparent; border:1px solid currentColor; border-radius:.45rem; padding:.55rem .8rem; font-weight:750; text-decoration:none; }
.tb-cart-drawer .woocommerce-mini-cart__buttons .checkout { color:#fff9ec; background:var(--tb-wine,#812f22); border-color:var(--tb-wine,#812f22); }
.tb-cart-continue { font-weight:650; }
.tb-menu-card-image { display:grid; place-items:center; aspect-ratio:1.65; background:#f1e2d5; }
.tb-menu-card-image svg { width:2.6rem; color:var(--tb-wine,#812f22); opacity:.7; }
.tb-menu-card-copy .tb-menu-action { gap:.48rem; flex-wrap:wrap; }
.tb-quick-add > span { margin-right:.23em; font-size:1.12em; }
.tb-quick-add.loading { opacity:.62; }
.tb-menu-card .added_to_cart { font-size:.84rem; }
.tb-menu-section { scroll-margin-top:1rem; }
@keyframes tb-cart-enter { from { transform:translateX(100%); } to { transform:none; } }
@media(max-width:420px) {
  .tb-site-header .tb-bag-link { padding:.26rem .35rem; }
  .tb-bag-link .tb-bag-label { display:none; }
}
@media(prefers-reduced-motion:reduce) { .tb-cart-drawer[open] { animation:none; } }

.tb-cart-back { margin-bottom:1rem; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
  padding:clamp(.8rem,2.3vw,1.35rem); border:1px solid var(--tb-line,#ddd0c3);
  border-radius:.75rem; background:var(--tb-paper,#fffaf5);
}
.woocommerce-checkout #order_review_heading { margin-bottom:.45rem; font-size:1.75rem; }
.woocommerce-checkout .woocommerce-checkout-review-order-table { margin-bottom:1rem; }
.woocommerce-checkout .tb-pickup-checkout {
  margin:.7rem 0; padding:.8rem; border:1px solid var(--tb-line,#ddd0c3);
  border-radius:.55rem; background:#f4e6da;
}
.woocommerce-checkout .tb-pickup-checkout h3 { margin:0 0 .6rem; }
.woocommerce-checkout .tb-pickup-checkout label { display:block; font-weight:750; font-size:.9rem; }
.woocommerce-checkout .tb-pickup-checkout p { font-size:.85rem; margin:.55rem 0 0; }
.woocommerce-checkout #place_order { width:100%; margin-top:.55rem; }
@media(min-width:920px) {
  .woocommerce-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.76fr); grid-template-rows:auto 1fr; align-items:start; column-gap:2rem; }
  .woocommerce-checkout form.checkout > #customer_details { grid-column:1; grid-row:1/span 2; }
  .woocommerce-checkout form.checkout > #customer_details > div { width:100%; float:none; }
  .woocommerce-checkout form.checkout > #order_review_heading { grid-column:2; grid-row:1; }
  .woocommerce-checkout form.checkout > #order_review { grid-column:2; grid-row:2; min-width:0; }
}
