/* ─────────────────────────────────────────────────────────────
   Jinar — "your visit" cart: the bar at the bottom and its drawer.
   Pairs with /js/cart.js.
   ───────────────────────────────────────────────────────────── */
.jcart-bar[hidden],.jcart-drawer[hidden]{display:none !important}
body.jcart-on{padding-bottom:92px}
body.jcart-lock{overflow:hidden}

.jcart-bar{
  position:fixed;z-index:90;left:50%;bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  transform:translate(-50%,0);
  width:min(460px, calc(100% - 32px));
  display:flex;align-items:center;gap:8px;padding:7px 7px 7px 8px;
  border-radius:100px;background:#2A241A;color:#F6F1E6;
  box-shadow:0 18px 44px -14px rgba(31,26,18,.6);
}
.jcart-open{
  flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:0;
  background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;
}
.jcart-ic{
  position:relative;flex:none;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;background:rgba(246,241,230,.1);
}
.jcart-ic svg{width:22px;height:22px}
.jcart-n{
  position:absolute;top:-2px;right:-2px;min-width:19px;height:19px;padding:0 5px;border-radius:100px;
  display:grid;place-items:center;background:#D8B25A;color:#1F1A12;font-size:11px;font-weight:600;line-height:1;
}
.jcart-sum{display:flex;flex-direction:column;gap:2px;min-width:0}
.jcart-what{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,241,230,.7)}
.jcart-tot{font-size:16px;font-weight:500;white-space:nowrap}
.jcart-go{
  flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 22px;border-radius:100px;
  background:#F6F1E6;color:#1F1A12;font-size:14px;font-weight:500;text-decoration:none;
  transition:background .3s ease,color .3s ease;
}
.jcart-go span{transition:transform .3s ease}
.jcart-go:hover{background:#D8B25A}
.jcart-go:hover span{transform:translateX(3px)}
.jcart-open:focus-visible,.jcart-go:focus-visible{outline:2px solid #D8B25A;outline-offset:3px}

/* the drawer */
.jcart-drawer{
  position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px;
  background:rgba(31,26,18,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.jcart-card{
  width:min(480px,100%);max-height:calc(100svh - 40px);overflow:auto;
  background:#F6F1E6;color:#1F1A12;border-radius:28px;padding:24px 24px 22px;
}
.jcart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.jcart-kick{margin:0 0 4px;font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#8B7E62}
.jcart-head h2{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:30px;line-height:1.05}
.jcart-x{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid rgba(31,26,18,.14);background:transparent;font-size:20px;cursor:pointer;color:inherit}
.jcart-x:hover{background:#1F1A12;color:#F6F1E6}
.jcart-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(31,26,18,.1)}
.jcart-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(31,26,18,.1)}
.jcart-name{font-size:14.5px;line-height:1.35}
.jcart-name small{display:block;margin-top:2px;font-size:12px;color:#8B7E62}
.jcart-price{font-size:14px;font-weight:500;white-space:nowrap}
.jcart-rm{width:30px;height:30px;border-radius:50%;border:0;background:rgba(31,26,18,.06);color:#5A5140;font-size:16px;cursor:pointer}
.jcart-rm:hover{background:#1F1A12;color:#F6F1E6}
.jcart-total{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 4px;font-size:15px}
.jcart-total small{font-size:11px;color:#8B7E62}
.jcart-total b{font-size:20px;font-weight:500}
.jcart-note{margin:0 0 16px;font-size:12.5px;line-height:1.55;color:#5A5140}
.jcart-book{
  display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:100px;
  background:#1F1A12;color:#F6F1E6;font-size:14.5px;font-weight:500;text-decoration:none;transition:background .3s ease;
}
.jcart-book:hover{background:#A8740F}
.jcart-clear{display:block;margin:10px auto 0;padding:6px 10px;border:0;background:none;font:inherit;font-size:12.5px;color:#8B7E62;text-decoration:underline;cursor:pointer}

/* the photo copy that glides into the bag */
.jcart-ghost{
  position:fixed;z-index:95;pointer-events:none;border-radius:18px;
  background:#D8B25A center/cover no-repeat;transform-origin:center;
  box-shadow:0 14px 30px -10px rgba(31,26,18,.5);
}

/* phones: the bar sits clear of the round WhatsApp button */
@media (max-width:640px){
  .jcart-bar{left:12px;right:12px;width:auto;transform:none;padding:6px 6px 6px 6px}
  body:has(.wa) .jcart-bar{right:76px}
  body:has(.mapp) .jcart-bar{right:12px}      /* the menu page hides the WhatsApp button */
  .jcart-ic{width:40px;height:40px}
  .jcart-what{font-size:9.5px;letter-spacing:.12em}
  .jcart-tot{font-size:14.5px}
  .jcart-go{min-height:40px;padding:0 16px;font-size:13.5px}
  .jcart-drawer{place-items:end center;padding:0}
  .jcart-card{border-radius:24px 24px 0 0;max-height:86svh;padding:20px 18px calc(18px + env(safe-area-inset-bottom, 0px))}
  .jcart-head h2{font-size:26px}
}
@media (prefers-reduced-motion:reduce){ .jcart-go span{transition:none} }

/* menu page on a wide screen: lift the row of arrows / Next above the bar */
@media (min-width:821px){
  body.jcart-on .mstage{padding-bottom:96px}
}

/* guests in the drawer */
.jcart-guests{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;padding:12px 14px;border-radius:16px;background:#EDE4CF}
.jcart-guests b{display:block;font-size:14.5px;font-weight:500}
.jcart-guests small{display:block;margin-top:2px;font-size:12px;color:#5A5140}
.jcart-step{flex:none;display:flex;align-items:center;gap:4px;padding:4px;border-radius:100px;background:#F6F1E6}
.jcart-step button{width:34px;height:34px;border-radius:50%;border:0;background:transparent;font-size:18px;color:#1F1A12;cursor:pointer;transition:background .25s ease}
.jcart-step button:hover:not(:disabled){background:#1F1A12;color:#F6F1E6}
.jcart-step button:disabled{opacity:.3;cursor:default}
.jcart-gn{min-width:22px;text-align:center;font-size:15px;font-weight:500}

/* the drawer always fits the screen and scrolls inside (iPhone too) */
.jcart-drawer{height:100dvh;overscroll-behavior:contain}
.jcart-card{max-height:calc(100dvh - 40px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.jcart-bar button,.jcart-bar a,.jcart-card button{-webkit-tap-highlight-color:transparent}
@media (max-width:640px){ .jcart-card{max-height:calc(100dvh - 56px)} }
