@charset "utf-8";/* JAVA JAY UNIVERSAL STOREFRONT 1.1.1 START */
:root {
  --jj-blue: #14b9ee;
  --jj-blue-dark: #087da8;
  --jj-orange: #ff7600;
  --jj-orange-light: #ffab29;
  --jj-green: #38ff17;
  --jj-ink: #160b08;
  --jj-brown: #32180f;
  --jj-cream: #fff5e7;
  --jj-paper: #fffaf2;
  --jj-border: #d9b995;
  --jj-shadow: 0 18px 48px rgba(20, 8, 4, .22);
}

/* Use the actual component width, not only viewport width, to choose columns. */
.vrtkitemsdiv { container-type: inline-size; container-name: javajay-menu; }
.vrtkitemsofmenudiv {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)) !important;
  gap: clamp(14px, 1.7vw, 25px) !important;
  align-items: stretch !important;
  width: 100% !important;
}
.vrtksingleitemdiv {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 17px !important;
  border: 2px solid var(--jj-blue) !important;
  background: var(--jj-paper) !important;
  box-shadow: 0 9px 24px rgba(0, 0, 0, .13) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.vrtksingleitemdiv:hover {
  transform: translateY(-5px) !important;
  border-color: var(--jj-orange) !important;
  box-shadow: 0 19px 39px rgba(0, 0, 0, .22) !important;
}
.vrtkitemleftdiv { display: flex !important; flex-direction: column !important; min-width: 0 !important; }
.vrtkitemimagediv-outer,
.vrtkitemimagediv { width: 100% !important; max-width: none !important; margin: 0 !important; }
.vrtkitemimagediv { aspect-ratio: 16 / 10; background: var(--jj-ink); overflow: hidden; }
.javajay-product-page-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  overflow: hidden !important;
  text-decoration: none !important;
}
.javajay-product-page-link img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .45s cubic-bezier(.2,.75,.2,1), filter .35s ease !important;
}
.javajay-product-page-link:hover img,
.javajay-product-page-link:focus-visible img { transform: scale(1.045) !important; filter: saturate(1.09) contrast(1.04) !important; }
.javajay-image-action {
  position: absolute;
  left: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  min-height: 33px;
  padding: 7px 12px;
  border: 1px solid var(--jj-blue);
  border-radius: 999px;
  background: rgba(15, 6, 4, .88);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 6px 18px rgba(0,0,0,.3);
  transition: background .2s ease, transform .2s ease;
}
.javajay-product-page-link:hover .javajay-image-action,
.javajay-product-page-link:focus-visible .javajay-image-action { background: var(--jj-orange); color: #111; transform: translateY(-2px); }
.vrtkiteminfodiv { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; padding: 15px 16px 13px !important; }
.vrtkitemtitle { min-height: 58px; align-items: flex-start !important; gap: 8px !important; }
.vrtkitemnamesp { display: block; flex: 1 1 auto; }
.vrtkitemnamesp a { color: #2a140d !important; font-size: clamp(16px, 1.3vw, 20px) !important; font-weight: 900 !important; line-height: 1.15 !important; text-decoration: none !important; }
.vrtkitemnamesp a:hover { color: var(--jj-orange) !important; }
.vrtkitemattributes { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }
.vrtkitemattributes img { width: 21px !important; height: 21px !important; object-fit: contain !important; }
.vrtkitemdescsp { min-height: 4.5em; margin-top: 7px !important; color: #5a3827 !important; font-size: 13px !important; line-height: 1.48 !important; display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 3; overflow: hidden !important; }
.vrtkitemvardiv { margin-top: auto !important; padding: 10px 14px 13px !important; border-top: 1px solid #e7ceb2 !important; background: #fff4e2 !important; }
.vrtksinglevar { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; align-items: center !important; gap: 8px !important; min-height: 42px !important; padding: 5px 0 !important; }
.vrtkvarfloatrdiv { display: flex !important; align-items: center !important; gap: 7px !important; }
.vrtkvarpricesp { color: #e75d00 !important; font-size: 15px !important; font-weight: 900 !important; white-space: nowrap; }
.vrtkvaraddbutton {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 2px solid #111 !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, var(--jj-blue), #1bddff) !important;
  color: #101010 !important;
  box-shadow: 0 5px 12px rgba(0, 153, 204, .25) !important;
  transition: transform .18s ease, background .18s ease !important;
}
.vrtkvaraddbutton:hover,
.vrtkvaraddbutton:focus-visible { transform: translateY(-2px) scale(1.05); background: linear-gradient(135deg, var(--jj-orange), var(--jj-orange-light)) !important; }

  .vrtkitemsofmenudiv { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

  .vrtkitemsofmenudiv { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

@media (min-width: 980px) and (max-width: 1399px) {
  .vrtkitemsofmenudiv { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (min-width: 1400px) and (max-width: 1799px) {
  .vrtkitemsofmenudiv { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (min-width: 1800px) {
  .vrtkitemsofmenudiv { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (max-width: 699px) {
  .vrtkitemsofmenudiv { grid-template-columns: 1fr !important; gap: 14px !important; }
  .vrtkitemimagediv { aspect-ratio: 4 / 3; }
  .javajay-image-action { opacity: 1; }
}
@media (min-width: 700px) and (max-width: 979px) {
  .vrtkitemsofmenudiv { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

/* The custom cart is injected by VikRestaurants itself, so no module is required. */
.javajay-cart-loaded .javajay-cart,
.javajay-cart-loaded .vrtkcartitemsmodule,
.javajay-cart-loaded .vrtkcartstart { display: none !important; }
.javajay-cart-shell { position: relative; z-index: 2147482500; font-family: inherit; }
.javajay-cart-fab {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: var(--jj-fab-bottom, max(78px, calc(env(safe-area-inset-bottom) + 66px)));
  z-index: 2147482504;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 22px;
  align-items: center;
  gap: 10px;
  width: min(330px, calc(100vw - 28px));
  min-height: 68px;
  padding: 8px 13px 8px 8px;
  border: 2px solid var(--jj-blue);
  border-radius: 999px;
  background: linear-gradient(135deg, #160b08, #3b1a0e);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 17px 48px rgba(0,0,0,.48), 0 0 0 4px rgba(255,118,0,.17);
  transition: transform .23s ease, box-shadow .23s ease, border-color .23s ease;
}
.javajay-cart-fab:hover,
.javajay-cart-fab:focus-visible { transform: translateY(-4px); border-color: var(--jj-orange); box-shadow: 0 23px 58px rgba(0,0,0,.58), 0 0 27px rgba(20,185,238,.32); }
.javajay-cart-fab-logo { width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: #000; border: 2px solid var(--jj-green); }
.javajay-cart-fab-logo img { width: 100%; height: 100%; object-fit: contain; }
.javajay-cart-fab-copy { display: flex; flex-direction: column; min-width: 0; text-align: left; }
.javajay-cart-fab-copy strong { color: #fff; font-size: 14px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.javajay-cart-fab-copy small { margin-top: 4px; color: #bceeff; font-size: 12px; font-weight: 800; }
.javajay-cart-fab-copy b { padding: 0 4px; color: var(--jj-orange); }
.javajay-cart-fab-arrow { color: var(--jj-orange); font-size: 31px; line-height: 1; }
.javajay-cart-shell.has-items .javajay-cart-fab-logo::after { content: ''; position: absolute; width: 54px; height: 54px; border: 2px solid var(--jj-green); border-radius: 50%; animation: javaJayPulse 1.9s ease infinite; pointer-events: none; }
.javajay-cart-fab.is-bumping { animation: javaJayBump .58s ease; }
.javajay-cart-shell.is-left-docked .javajay-cart-fab { right: auto; left: max(10px, env(safe-area-inset-left)); }
.javajay-cart-shell.is-open .javajay-cart-fab { opacity: 0; transform: translateY(18px) scale(.88); pointer-events: none; }
.javajay-cart-shell.is-open .javajay-cart-peek { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

.javajay-cart-peek {
  position: fixed;
  right: max(23px, env(safe-area-inset-right));
  bottom: calc(var(--jj-fab-bottom, max(78px, calc(env(safe-area-inset-bottom) + 66px))) + 80px);
  z-index: 2147482503;
  width: min(310px, calc(100vw - 36px));
  padding: 10px;
  border: 1px solid var(--jj-blue);
  border-radius: 15px;
  background: rgba(19, 8, 5, .96);
  color: #fff;
  box-shadow: 0 16px 45px rgba(0,0,0,.46);
  transform: translateY(10px) scale(.97);
  opacity: 0;
  visibility: hidden;
  transition: .24s ease;
}
.javajay-cart-shell.show-peek .javajay-cart-peek,
.javajay-cart-peek:hover,
.javajay-cart-peek:focus-within { transform: none; opacity: 1; visibility: visible; }
.javajay-cart-peek[aria-hidden="true"] { display: none; }
.javajay-cart-peek-item { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 9px; align-items: center; padding: 5px; }
.javajay-cart-peek-item + .javajay-cart-peek-item { border-top: 1px solid rgba(255,255,255,.12); }
.javajay-cart-peek-item img { width: 40px; height: 40px; object-fit: cover; border-radius: 9px; }
.javajay-cart-peek-item span { min-width: 0; display: flex; flex-direction: column; }
.javajay-cart-peek-item strong { overflow: hidden; color: #fff; font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.javajay-cart-peek-item small { margin-top: 2px; color: #94e7ff; font-size: 10px; }
.javajay-cart-shell.is-left-docked .javajay-cart-peek { right: auto; left: max(16px, env(safe-area-inset-left)); }
.javajay-cart-peek-open { width: 100%; margin-top: 6px; padding: 8px; border: 0; border-radius: 9px; background: var(--jj-orange); color: #111; font-weight: 900; cursor: pointer; }

.javajay-cart-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147482500;
  overflow: hidden;
  background:
    radial-gradient(circle at 28% 42%, rgba(20,185,238,.18), transparent 31%),
    radial-gradient(circle at 42% 68%, rgba(255,118,0,.16), transparent 33%),
    linear-gradient(135deg, rgba(0,0,0,.83), rgba(20,7,3,.72));
  backdrop-filter: blur(10px) saturate(.76);
  opacity: 0;
  transition: opacity .27s ease;
}
.javajay-cart-shell.is-open .javajay-cart-backdrop { opacity: 1; }
.javajay-cart-stage {
  position: absolute;
  inset: 0 min(500px, 38vw) 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 28px;
  color: #fff;
  text-align: center;
  pointer-events: none;
  isolation: isolate;
  opacity: 0;
  transform: scale(.94);
  transition: opacity .38s ease .08s, transform .48s cubic-bezier(.2,.8,.2,1) .08s;
}
.javajay-cart-shell.is-open .javajay-cart-stage { opacity: 1; transform: none; }
.javajay-cart-shell.is-expanded .javajay-cart-stage { inset: 0; opacity: .28; transform: scale(1.12); }
.javajay-cart-stage-glow {
  position: absolute;
  width: min(54vw, 650px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56,255,23,.13), rgba(20,185,238,.08) 35%, rgba(255,118,0,.05) 58%, transparent 72%);
  filter: blur(7px);
  z-index: -2;
  animation: javaJayStageGlow 6s ease-in-out infinite;
}
.javajay-cart-stage-logo {
  width: clamp(150px, 20vw, 285px);
  max-height: 42vh;
  object-fit: contain;
  filter: drop-shadow(0 25px 38px rgba(0,0,0,.56));
  animation: javaJayLogoFloat 5s ease-in-out infinite;
}
.javajay-cart-stage-kicker { color: var(--jj-green); font-size: clamp(9px, .8vw, 12px); font-weight: 900; letter-spacing: .22em; }
.javajay-cart-stage-title { color: var(--jj-blue); font-size: clamp(25px, 3vw, 48px); font-weight: 1000; line-height: 1; text-shadow: 0 5px 18px rgba(0,0,0,.55); }
.javajay-cart-stage-summary { display: flex; align-items: center; gap: 10px; color: #fff; font-size: clamp(15px, 1.35vw, 21px); font-weight: 800; }
.javajay-cart-stage-summary b { color: var(--jj-orange); font-size: 1.18em; }
.javajay-cart-stage-summary i { color: var(--jj-green); font-style: normal; }
.javajay-cart-stage-features { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 8px; }
.javajay-cart-stage-features b { padding: 6px 10px; border: 1px solid rgba(20,185,238,.6); border-radius: 999px; background: rgba(0,0,0,.38); color: #dff8ff; font-size: 10px; letter-spacing: .04em; }
.javajay-cart-stage small { margin-top: 8px; max-width: 430px; color: rgba(255,255,255,.68); font-size: 10px; line-height: 1.4; }
.javajay-cart-stage-beans { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.javajay-cart-stage-beans span { position: absolute; width: 24px; height: 34px; border-radius: 52% 48% 54% 46%; background: linear-gradient(145deg, #8a421d, #2b1007 68%); box-shadow: inset -4px -4px 7px rgba(0,0,0,.4), 0 8px 18px rgba(0,0,0,.28); opacity: .55; animation: javaJayBeanDrift 9s ease-in-out infinite; }
.javajay-cart-stage-beans span::after { content: ''; position: absolute; left: 48%; top: 12%; bottom: 12%; width: 2px; border-radius: 50%; background: rgba(255,190,120,.34); transform: rotate(14deg); }
.javajay-cart-stage-beans span:nth-child(1) { left: 8%; top: 17%; transform: rotate(22deg) scale(.8); }
.javajay-cart-stage-beans span:nth-child(2) { left: 18%; bottom: 13%; animation-delay: -2s; transform: rotate(-28deg) scale(1.1); }
.javajay-cart-stage-beans span:nth-child(3) { right: 10%; top: 21%; animation-delay: -4s; transform: rotate(58deg) scale(.72); }
.javajay-cart-stage-beans span:nth-child(4) { right: 19%; bottom: 18%; animation-delay: -6s; transform: rotate(8deg) scale(1.25); }
.javajay-cart-stage-beans span:nth-child(5) { left: 37%; top: 8%; animation-delay: -7s; transform: rotate(-48deg) scale(.62); }
.javajay-cart-stage-beans span:nth-child(6) { right: 37%; bottom: 7%; animation-delay: -3s; transform: rotate(35deg) scale(.68); }

.javajay-cart-drawer {
  position: fixed;
  top: 10px;
  right: 10px;
  bottom: 10px;
  z-index: 2147482502;
  display: flex;
  flex-direction: column;
  width: min(480px, calc(100vw - 20px));
  overflow: hidden;
  border: 2px solid var(--jj-blue);
  border-radius: 22px;
  background: var(--jj-cream);
  color: #2c160e;
  box-shadow: 0 35px 100px rgba(0,0,0,.7);
  transform: translateX(calc(100% + 35px));
  opacity: 0;
  outline: 0;
  transition: transform .36s cubic-bezier(.2,.8,.2,1), opacity .24s ease, box-shadow .35s ease;
  background-image: linear-gradient(rgba(255,245,231,.97), rgba(255,245,231,.97)), url('https://bistrobuddy.com/media/javajaycafe/theme/images/javajay-coffee-background.webp');
  background-size: auto, cover;
  background-position: center;
}
.javajay-cart-shell.is-open .javajay-cart-drawer { transform: none; opacity: 1; box-shadow: 0 35px 110px rgba(0,0,0,.78), 0 0 0 5px rgba(20,185,238,.12); }
.javajay-cart-shell.is-expanded .javajay-cart-drawer { left: 50%; right: auto; top: 3vh; bottom: 3vh; width: min(980px, calc(100vw - 28px)); transform: translateX(-50%); }
.javajay-cart-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; background: linear-gradient(135deg, #130806, #35170d); color: #fff; border-bottom: 4px solid var(--jj-orange); }
.javajay-cart-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.javajay-cart-brand img { width: 54px; height: 54px; object-fit: contain; border-radius: 50%; background: #000; }
.javajay-cart-brand div { min-width: 0; }
.javajay-cart-brand span { color: var(--jj-green); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.javajay-cart-brand h2 { margin: 1px 0 0 !important; color: var(--jj-blue) !important; font-size: 24px !important; line-height: 1 !important; }
.javajay-cart-head-actions { display: flex; gap: 6px; }
.javajay-cart-head-actions button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #20100a; border-radius: 50%; background: var(--jj-orange); color: #111; font-size: 17px; cursor: pointer; }
.javajay-cart-pin[aria-pressed="true"] { background: var(--jj-green); }
.javajay-cart-close { font-size: 27px !important; }
.javajay-cart-status { display: flex; align-items: center; gap: 7px; padding: 7px 15px; border-bottom: 1px solid #e0c5a6; background: #fff8ed; font-size: 10px; }
.javajay-cart-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #20c768; box-shadow: 0 0 0 4px rgba(32,199,104,.13); }
.javajay-cart-status strong { font-size: 10px; color: #246d43; }
.javajay-cart-status small { margin-left: auto; color: #8a6249; }
.javajay-cart-meter { height: 5px; background: #ddc5a9; }
.javajay-cart-meter span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--jj-orange), var(--jj-blue), var(--jj-green)); transition: width .38s ease; }
.javajay-cart-items { flex: 1 1 auto; overflow: auto; overscroll-behavior: contain; padding: 12px; }
.javajay-cart-item { display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 11px; margin-bottom: 11px; padding: 10px; border: 1px solid #e0c3a1; border-radius: 16px; background: #fff; box-shadow: 0 6px 18px rgba(58,25,9,.08); animation: javaJayItemIn .32s ease both; }
.javajay-cart-item-image { display: block; width: 86px; height: 86px; overflow: hidden; border-radius: 13px; background: #180b08; }
.javajay-cart-item-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.javajay-cart-item-image:hover img { transform: scale(1.06); }
.javajay-cart-item-main { min-width: 0; }
.javajay-cart-item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.javajay-cart-item-top div { min-width: 0; }
.javajay-cart-item-top h3 { margin: 0 !important; color: #28130c !important; font-size: 15px !important; line-height: 1.2 !important; }
.javajay-cart-item-top p { margin: 2px 0 0 !important; color: #8a5030 !important; font-size: 11px !important; font-weight: 800; }
.javajay-cart-item-top > strong { color: #e85d00; font-size: 15px; white-space: nowrap; }
.javajay-cart-modifiers { margin-top: 7px; font-size: 10px; }
.javajay-cart-modifiers summary { color: var(--jj-blue-dark); font-weight: 900; cursor: pointer; }
.javajay-cart-modifiers ul { margin: 5px 0 0 16px; padding: 0; color: #65412e; line-height: 1.35; }
.javajay-cart-note { margin-top: 6px; padding: 5px 7px; border-radius: 7px; background: #fff2c9; color: #62431d; font-size: 10px; }
.javajay-cart-note span { margin-right: 5px; color: #b44a00; font-weight: 900; text-transform: uppercase; }
.javajay-cart-item-controls { display: grid; grid-template-columns: auto minmax(0,1fr) 32px; gap: 7px; align-items: center; margin-top: 8px; }
.javajay-cart-quantity { display: grid; grid-template-columns: 28px 28px 28px; align-items: center; overflow: hidden; border: 1px solid #d0ad86; border-radius: 9px; }
.javajay-cart-quantity button { width: 28px; height: 28px; border: 0; background: #2b160f; color: #fff; font-size: 17px; cursor: pointer; }
.javajay-cart-quantity output { text-align: center; color: #2b160f; font-size: 12px; font-weight: 900; }
.javajay-cart-edit { min-height: 30px; padding: 5px 8px; border: 1px solid var(--jj-blue); border-radius: 9px; background: #e8f8ff; color: #075f80; font-size: 10px; font-weight: 900; cursor: pointer; }
.javajay-cart-remove { width: 32px; height: 32px; border: 0; border-radius: 50%; background: #35170e; color: #fff; font-size: 20px; cursor: pointer; }
.javajay-cart-empty { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 20px; text-align: center; color: #6e4832; }
.javajay-cart-empty[hidden] { display: none !important; }
.javajay-cart-empty img { width: 112px; height: 112px; object-fit: contain; margin-bottom: 12px; }
.javajay-cart-empty strong { color: #2b160f; font-size: 19px; }
.javajay-cart-empty span { max-width: 320px; margin-top: 7px; font-size: 13px; line-height: 1.45; }
.javajay-cart-shop { margin-top: 16px; padding: 10px 17px; border: 0; border-radius: 999px; background: var(--jj-orange); color: #111; font-weight: 900; cursor: pointer; }
.javajay-cart-footer { padding: 12px 14px 14px; border-top: 1px solid #d3b591; background: #f1dfc9; }
.javajay-cart-summary > div { display: flex; justify-content: space-between; gap: 12px; padding: 2px 0; font-size: 12px; }
.javajay-cart-discount-row strong { color: #168a46; }
.javajay-cart-grand { margin-top: 5px; padding-top: 7px !important; border-top: 2px solid #c8a67c; font-size: 16px !important; }
.javajay-cart-grand strong { color: #e55c00; font-size: 23px; }
.javajay-cart-footer-buttons { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; margin-top: 11px; }
.javajay-cart-footer-buttons button { min-height: 48px; border: 0; border-radius: 12px; font-weight: 900; cursor: pointer; }
.javajay-cart-continue { background: #2b160f; color: #fff; }
.javajay-cart-checkout { display: flex; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(135deg, var(--jj-orange), var(--jj-orange-light)); color: #111; box-shadow: 0 8px 18px rgba(255,118,0,.23); }
.javajay-cart-checkout:disabled { opacity: .45; cursor: not-allowed; }
.javajay-cart-clear { display: block; margin: 9px auto 0; padding: 4px 8px; border: 0; background: transparent; color: #87583e; font-size: 10px; text-decoration: underline; cursor: pointer; }
.javajay-cart-toast { position: fixed; right: 25px; bottom: 105px; z-index: 2147482506; max-width: 300px; padding: 11px 15px; border: 1px solid var(--jj-green); border-radius: 12px; background: #160b08; color: #fff; font-size: 12px; font-weight: 900; box-shadow: 0 15px 38px rgba(0,0,0,.44); transform: translateY(14px); opacity: 0; pointer-events: none; transition: .22s ease; }
.javajay-cart-toast.is-visible { transform: none; opacity: 1; }
.javajay-cart-shell.is-busy .javajay-cart-status-dot { background: var(--jj-orange); animation: javaJayPulse 1s infinite; }
body.javajay-cart-open { overflow: hidden !important; }

@media (min-width: 1000px) {
  body.javajay-cart-pinned { padding-right: min(500px, 38vw) !important; transition: padding-right .3s ease; }
  .javajay-cart-shell.is-pinned .javajay-cart-backdrop { display: none !important; }
  .javajay-cart-shell.is-pinned .javajay-cart-drawer { top: 9px; bottom: 9px; }
}
@media (max-width: 699px) {
  .javajay-cart-fab { width: auto; min-width: 68px; grid-template-columns: 48px auto; right: auto; left: max(9px, env(safe-area-inset-left)); bottom: var(--jj-fab-bottom, max(96px, calc(env(safe-area-inset-bottom) + 82px))); padding-right: 10px; }
  .javajay-cart-shell.is-left-docked .javajay-cart-fab { left: max(9px, env(safe-area-inset-left)); }
  .javajay-cart-shell:not(.is-left-docked) .javajay-cart-fab { left: auto; right: max(9px, env(safe-area-inset-right)); }
  .javajay-cart-stage { inset: 0; opacity: .18; padding: 14px; }
  .javajay-cart-stage-logo { width: min(52vw, 210px); }
  .javajay-cart-stage-kicker, .javajay-cart-stage-title, .javajay-cart-stage-summary, .javajay-cart-stage-features, .javajay-cart-stage small { display: none; }
  .javajay-cart-fab-copy strong { display: none; }
  .javajay-cart-fab-copy small { max-width: 115px; font-size: 10px; }
  .javajay-cart-fab-arrow { display: none; }
  .javajay-cart-peek { display: none !important; }
  .javajay-cart-drawer { top: 5px; right: 5px; bottom: 5px; width: calc(100vw - 10px); border-radius: 17px; }
  .javajay-cart-expand,
  .javajay-cart-pin { display: none !important; }
  .javajay-cart-brand img { width: 46px; height: 46px; }
  .javajay-cart-brand h2 { font-size: 20px !important; }
  .javajay-cart-item { grid-template-columns: 70px minmax(0,1fr); padding: 8px; }
  .javajay-cart-item-image { width: 70px; height: 70px; }
  .javajay-cart-item-controls { grid-template-columns: auto 1fr 31px; }
  .javajay-cart-footer-buttons { grid-template-columns: 1fr; }
  .javajay-cart-continue { order: 2; }
  .javajay-cart-toast { right: 12px; left: 12px; bottom: 92px; max-width: none; text-align: center; }
}
@media (max-width: 420px) {
  .javajay-cart-item { grid-template-columns: 58px minmax(0,1fr); gap: 8px; }
  .javajay-cart-item-image { width: 58px; height: 58px; }
  .javajay-cart-item-controls { grid-template-columns: auto 31px; }
  .javajay-cart-edit { grid-column: 1 / -1; grid-row: 2; }
}
@keyframes javaJayLogoFloat { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-12px) rotate(1deg); } }
@keyframes javaJayStageGlow { 0%,100% { transform: scale(.94); opacity: .68; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes javaJayBeanDrift { 0%,100% { margin-top: 0; } 50% { margin-top: -18px; } }
@media (prefers-reduced-motion: reduce) {
  .javajay-cart-fab,
  .javajay-cart-peek,
  .javajay-cart-drawer,
  .javajay-cart-backdrop,
  .javajay-cart-stage,
  .javajay-cart-stage-logo,
  .javajay-cart-stage-glow,
  .javajay-cart-stage-beans span,
  .javajay-cart-item,
  .javajay-product-page-link img,
  .vrtksingleitemdiv { animation: none !important; transition: none !important; }
}
@keyframes javaJayPulse { 0%,100% { opacity: .25; transform: scale(.9); } 50% { opacity: 1; transform: scale(1.1); } }
@keyframes javaJayBump { 0%,100% { transform: none; } 42% { transform: scale(1.07) rotate(-1deg); } }
@keyframes javaJayItemIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* JAVA JAY UNIVERSAL STOREFRONT 1.1.1 END */

/* Java Jay 1.1.1 performance stabilization: pause decorative motion while the cart is closed. */
.javajay-cart-shell:not(.is-open) .javajay-cart-stage *,
.javajay-cart-shell:not(.is-open) .javajay-cart-stage-beans span,
.javajay-cart-shell:not(.is-open) .javajay-loyalty-mini::before {
  animation-play-state: paused !important;
}

/* JAVA JAY STOREFRONT VISUAL RESTORE + SMART ORDER UX 1.1.7 START */
:root {
  --jj-toolbar-height: 82px;
  --jj-card-min: 286px;
}

/* Restore a readable catalog: four columns maximum, natural-height cards and no stretched white voids. */
.vrtkitemsdiv { container-type: inline-size; container-name: javajay-menu-115; }
.vrtkitemsdiv .vrtkitemsofmenudiv {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  align-items: start !important;
  gap: clamp(16px, 1.45vw, 26px) !important;
  width: 100% !important;
}
.vrtkitemsdiv .vrtksingleitemdiv {
  grid-template-rows: auto auto !important;
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(155deg,#fffdf7,#fff3df) !important;
  box-shadow: 0 12px 29px rgba(0,0,0,.2), inset 0 0 0 1px rgba(255,118,0,.08) !important;
}
.vrtkitemsdiv .vrtkitemleftdiv { min-height: 0 !important; }
.vrtkitemsdiv .vrtkitemimagediv { aspect-ratio: 4 / 3 !important; }
.vrtkitemsdiv .vrtkiteminfodiv { flex: 0 0 auto !important; padding: 14px 15px 12px !important; }
.vrtkitemsdiv .vrtkitemtitle { min-height: 0 !important; margin-bottom: 6px !important; }
.vrtkitemsdiv .vrtkitemnamesp a { font-size: clamp(16px, 1.08vw, 19px) !important; }
.vrtkitemsdiv .vrtkitemdescsp { min-height: 0 !important; margin-top: 5px !important; -webkit-line-clamp: 2 !important; }
.vrtkitemsdiv .vrtkitemvardiv {
  margin-top: 0 !important;
  padding: 10px 12px 12px !important;
  border-top: 2px solid rgba(20,185,238,.22) !important;
  background: linear-gradient(180deg,#fff7ea,#ffedd2) !important;
}
.vrtkitemsdiv .vrtksinglevar {
  display: grid !important;
  grid-template-columns: minmax(72px,1fr) minmax(118px,max-content) !important;
  gap: 9px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 6px 7px !important;
  border-radius: 12px !important;
  border: 1px solid transparent !important;
}
.vrtkitemsdiv .vrtksinglevar + .vrtksinglevar { margin-top: 4px !important; }
.vrtkitemsdiv .vrtksinglevar:hover { border-color: rgba(20,185,238,.55) !important; background: rgba(255,255,255,.7) !important; }
.vrtkitemsdiv .vrtkvarnamesp {
  min-width: 0 !important;
  color: #32180f !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere !important;
}
.vrtkitemsdiv .vrtkvarfloatrdiv {
  display: grid !important;
  grid-template-columns: minmax(64px,max-content) 42px !important;
  grid-template-areas: "old add" "price add" !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 1px 9px !important;
  min-width: 118px !important;
}
.vrtkitemsdiv .vrtk-itemprice-stroke { grid-area: old !important; justify-self: end !important; font-size: 11px !important; line-height: 1 !important; opacity: .72; }
.vrtkitemsdiv .vrtkvarpricesp { grid-area: price !important; justify-self: end !important; color: #e85e00 !important; font-size: 16px !important; line-height: 1.05 !important; }
.vrtkitemsdiv .vrtkvaraddbuttondiv { grid-area: add !important; align-self: center !important; }
.vrtkitemsdiv .vrtkvaraddbutton {
  width: 42px !important; height: 42px !important; min-width: 42px !important;
  border-radius: 12px !important; box-shadow: 0 6px 14px rgba(0,153,204,.28) !important;
}
.vrtkitemsdiv .vrtkvaraddbutton i { font-size: 17px !important; }
  
  
  
@media (min-width:1800px) { .vrtkitemsdiv .vrtkitemsofmenudiv { grid-template-columns: repeat(4,minmax(0,1fr)) !important; } }

/* Guaranteed server-rendered smart menu. JS enhances it but is not required for visibility. */
.javajay-smart-menu {
  position: sticky;
  top: var(--javajay-smart-top,8px);
  z-index: 118;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 18px 0 28px !important;
  padding: 15px !important;
  box-sizing: border-box !important;
  border: 2px solid var(--jj-blue) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg,rgba(15,7,5,.98),rgba(57,24,12,.98)) !important;
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,118,0,.17) !important;
  backdrop-filter: blur(14px);
}
.javajay-smart-brand { display:grid; grid-template-columns:58px minmax(0,1fr); gap:12px; align-items:center; margin-bottom:12px; }
.javajay-smart-brand img { width:58px; height:58px; object-fit:contain; border-radius:50%; background:#000; border:2px solid var(--jj-green); }
.javajay-smart-brand div { display:flex; flex-direction:column; min-width:0; }
.javajay-smart-brand span { color:var(--jj-green); font-size:10px; font-weight:1000; letter-spacing:.16em; }
.javajay-smart-brand strong { color:var(--jj-blue); font-size:clamp(18px,1.45vw,25px); line-height:1.05; }
.javajay-smart-brand small { margin-top:4px; color:#f6dfcb; font-size:12px; }
.javajay-smart-menu-top { display:grid; grid-template-columns:minmax(260px,1fr) auto auto auto; gap:10px; align-items:center; }
.javajay-smart-search { position:relative; min-width:0; margin:0 !important; }
.javajay-smart-search input {
  display:block !important; width:100% !important; min-height:50px !important; box-sizing:border-box !important;
  padding:10px 46px 10px 44px !important; border:2px solid rgba(20,185,238,.72) !important;
  border-radius:999px !important; background:#fffaf2 !important; color:#2a140d !important; font-size:16px !important; font-weight:800 !important;
}
.javajay-smart-search input:focus { border-color:var(--jj-orange) !important; outline:4px solid rgba(255,118,0,.18) !important; }
.javajay-smart-search-icon { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#087da8; font-size:20px; pointer-events:none; }
.javajay-smart-clear { position:absolute; right:7px; top:50%; transform:translateY(-50%); width:35px; height:35px; border:0; border-radius:50%; background:#2a140d; color:#fff; cursor:pointer; }
.javajay-smart-toggle,.javajay-density-toggle,.javajay-smart-cart {
  min-height:48px; padding:9px 14px; border:2px solid var(--jj-blue); border-radius:999px;
  background:#160b08; color:#fff; font-weight:1000; white-space:nowrap; cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.javajay-smart-toggle:hover,.javajay-density-toggle:hover,.javajay-smart-cart:hover { transform:translateY(-2px); border-color:var(--jj-orange); }
.javajay-smart-toggle[aria-pressed="true"] { background:linear-gradient(135deg,var(--jj-orange),#ffab29); color:#17100c; border-color:#000; }
.javajay-smart-cart { background:linear-gradient(135deg,var(--jj-blue),var(--jj-green)); color:#07100d; border-color:#fff; }
.javajay-smart-cart-count { display:inline-grid; place-items:center; min-width:24px; height:24px; margin-left:5px; padding:0 6px; border-radius:999px; background:#160b08; color:#fff; }
.javajay-smart-meta { display:flex; justify-content:space-between; gap:12px; margin:10px 8px 0; color:#dff7ff; font-size:12px; font-weight:800; }
.javajay-category-rail,.javajay-recent-rail { display:flex !important; gap:8px; overflow-x:auto; scrollbar-width:thin; padding:11px 2px 2px; scroll-snap-type:x proximity; }
.javajay-category-chip,.javajay-recent-chip {
  flex:0 0 auto; min-height:39px; padding:8px 13px; border:1px solid rgba(20,185,238,.72); border-radius:999px;
  background:rgba(255,255,255,.08); color:#fff; font-size:12px; font-weight:900; text-decoration:none; cursor:pointer;
}
.javajay-category-chip:hover,.javajay-recent-chip:hover,.javajay-category-chip.is-active { background:var(--jj-blue); color:#061016; border-color:#fff; transform:translateY(-1px); }
.javajay-recent-rail:empty { display:none !important; }
.javajay-no-results { display:none; margin-top:12px; padding:15px; border-radius:14px; background:#fff4e2; color:#32180f; font-weight:900; text-align:center; }
.javajay-smart-menu.has-no-results .javajay-no-results { display:block; }
.vrtk-menu-outer.javajay-section-hidden,.vrtksingleitemdiv.javajay-card-hidden { display:none !important; }
.javajay-card-favorite {
  position:absolute; top:10px; right:10px; z-index:8; width:42px; height:42px; display:grid; place-items:center;
  border:2px solid var(--jj-blue); border-radius:50%; background:rgba(12,5,3,.9); color:#fff; font-size:23px; cursor:pointer;
  box-shadow:0 7px 18px rgba(0,0,0,.35);
}
.javajay-card-favorite:hover { transform:scale(1.08) rotate(-6deg); border-color:var(--jj-orange); }
.javajay-card-favorite[aria-pressed="true"] { color:var(--jj-orange); background:#fff7e8; border-color:var(--jj-orange); }
.javajay-density-compact .vrtkitemdescsp { display:none !important; }
.javajay-density-compact .vrtkitemimagediv { aspect-ratio:16/9 !important; }
.javajay-density-compact .vrtkiteminfodiv { padding:10px 12px 8px !important; }

/* Restore the full, easy-to-read shopping-cart toolbar. */
.javajay-cart-fab {
  left:50% !important; right:auto !important;
  width:min(720px,calc(100vw - 34px)) !important;
  min-height:var(--jj-toolbar-height) !important;
  grid-template-columns:58px minmax(0,1fr) auto !important;
  gap:13px !important; padding:9px 12px 9px 9px !important;
  border-width:3px !important; border-color:var(--jj-blue) !important;
  border-radius:22px !important;
  background:linear-gradient(115deg,#110705,#35160c 58%,#180b08) !important;
  transform:translateX(-50%) !important;
  box-shadow:0 20px 55px rgba(0,0,0,.58),0 0 0 4px rgba(255,118,0,.2) !important;
}
.javajay-cart-fab:hover,.javajay-cart-fab:focus-visible { transform:translateX(-50%) translateY(-4px) !important; }
.javajay-cart-fab-logo { width:58px !important; height:58px !important; }
.javajay-cart-fab-copy strong { font-size:16px !important; }
.javajay-cart-fab-copy small { font-size:13px !important; }
.javajay-cart-fab-last { display:block; margin-top:3px; color:#f3d7c2; font-size:11px; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.javajay-cart-fab-cta { display:grid; grid-template-columns:auto 24px; align-items:center; gap:8px; min-height:52px; padding:0 15px; border-radius:15px; background:linear-gradient(135deg,var(--jj-orange),#ffad31); color:#111; font-weight:1000; box-shadow:0 8px 20px rgba(255,118,0,.28); }
.javajay-cart-fab-cta i { font-size:28px; font-style:normal; line-height:1; }
.javajay-cart-fab-arrow { display:none !important; }
.javajay-cart-shell.is-left-docked .javajay-cart-fab { left:50% !important; right:auto !important; }
.javajay-cart-peek { right:50% !important; left:auto !important; transform:translate(50%,10px) scale(.97) !important; }
.javajay-cart-shell.show-peek .javajay-cart-peek,.javajay-cart-peek:hover,.javajay-cart-peek:focus-within { transform:translate(50%,0) !important; }
.javajay-cart-shell.is-left-docked .javajay-cart-peek { left:auto !important; right:50% !important; }

/* Product-detail page: remove the giant empty right side and use the whole canvas. */
.vrtk-itemdet-page .vrtk-itemdet-product { overflow:visible !important; }
.vrtk-itemdet-page .vrtk-itemdet-prod-body {
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr) !important;
  align-items:start !important;
  gap:clamp(22px,2.4vw,42px) !important;
}
.vrtk-itemdet-page .tk-left,.vrtk-itemdet-page .tk-right { width:auto !important; max-width:none !important; min-width:0 !important; float:none !important; margin:0 !important; }
.vrtk-itemdet-page .tk-image { width:100% !important; max-width:760px !important; margin:0 auto 18px !important; border-radius:18px; overflow:hidden; border:2px solid var(--jj-blue); box-shadow:0 16px 35px rgba(0,0,0,.22); }
.vrtk-itemdet-page .tk-image img { width:100% !important; height:auto !important; aspect-ratio:4/3 !important; object-fit:cover !important; }
.vrtk-itemdet-page .tk-right { position:relative !important; }
.vrtk-itemdet-page .tk-cart-summary { position:sticky !important; top:18px !important; z-index:30; border:2px solid var(--jj-blue) !important; border-radius:20px !important; overflow:hidden; box-shadow:0 18px 42px rgba(0,0,0,.28) !important; }
.vrtk-itemdet-page .tk-description { margin-top:18px !important; padding:16px !important; border:1px solid rgba(20,185,238,.35); border-radius:16px; background:#fff7e8; }
.vrtk-itemdet-page .tk-variations,.vrtk-itemdet-page .tk-toppings-groups { display:grid; gap:12px; }
.vrtk-itemdet-page .tk-topping-wrapper { padding:14px !important; border:1px solid rgba(20,185,238,.28) !important; border-radius:16px !important; background:rgba(255,255,255,.72) !important; }
.javajay-detail-tools {
  display:flex !important; flex-wrap:wrap; gap:9px; align-items:center; margin:0 0 18px !important; padding:12px !important;
  border:2px solid var(--jj-blue) !important; border-radius:18px !important; background:linear-gradient(135deg,rgba(15,7,5,.97),rgba(56,24,12,.97)) !important;
}
.javajay-detail-tools a,.javajay-detail-tools button { min-height:43px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:9px 14px; border:2px solid var(--jj-blue); border-radius:999px; background:#fff7e8; color:#2a140d; font-weight:900; text-decoration:none; cursor:pointer; }
.javajay-detail-tools .javajay-live-price { margin-left:auto; }
.javajay-customization-status { margin-bottom:14px; padding:14px; border:2px solid rgba(56,255,23,.55); border-radius:17px; background:linear-gradient(145deg,#160b08,#3a190f); color:#fff; }
.javajay-customization-status strong { color:var(--jj-blue); font-size:16px; }
.javajay-customization-status p { margin:4px 0 0; color:#f5ddca; font-size:12px; }
.javajay-customization-progress { height:7px; margin-top:10px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.15); }
.javajay-customization-progress span { display:block; width:12%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--jj-orange),var(--jj-green)); transition:width .25s ease; }
.javajay-selection-list { margin:9px 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:6px; }
.javajay-selection-list li { padding:5px 8px; border:1px solid rgba(20,185,238,.52); border-radius:999px; color:#dff8ff; font-size:10px; }
#vrtk-item-addbutton,.tk-ordernow a,.vrtkgotopaybutton { min-height:58px !important; font-size:15px !important; border-radius:16px !important; }
.tk-add-cart { display:grid !important; grid-template-columns:auto minmax(180px,1fr) !important; gap:10px !important; }
.tk-ordernow a { display:flex !important; align-items:center; justify-content:center; }

@media (max-width:1050px) {
  .javajay-smart-menu { position:relative; top:auto; }
  .javajay-smart-menu-top { grid-template-columns:1fr 1fr; }
  .javajay-smart-search { grid-column:1/-1; }
  .javajay-smart-cart { grid-column:1/-1; }
  .vrtk-itemdet-page .vrtk-itemdet-prod-body { grid-template-columns:1fr !important; }
  .vrtk-itemdet-page .tk-cart-summary { position:relative !important; top:auto !important; }
}
@media (max-width:700px) {
  :root { --jj-toolbar-height:70px; }
  .javajay-smart-menu { margin:14px 0 22px !important; padding:12px !important; border-radius:16px !important; }
  .javajay-smart-brand { grid-template-columns:48px minmax(0,1fr); }
  .javajay-smart-brand img { width:48px; height:48px; }
  .javajay-smart-brand small { display:none; }
  .javajay-smart-menu-top { grid-template-columns:1fr 1fr; }
  .javajay-smart-search,.javajay-smart-cart { grid-column:1/-1; }
  .javajay-smart-toggle,.javajay-density-toggle,.javajay-smart-cart { width:100%; }
  .javajay-smart-meta { flex-direction:column; gap:3px; }
  .javajay-cart-fab {
    left:8px !important; right:8px !important; width:auto !important; min-width:0 !important;
    grid-template-columns:48px minmax(0,1fr) auto !important; gap:9px !important;
    min-height:70px !important; padding:7px !important; border-radius:18px !important;
    transform:none !important;
  }
  .javajay-cart-fab:hover,.javajay-cart-fab:focus-visible { transform:translateY(-3px) !important; }
  .javajay-cart-shell.is-left-docked .javajay-cart-fab { left:8px !important; right:8px !important; }
  .javajay-cart-fab-logo { width:48px !important; height:48px !important; }
  .javajay-cart-fab-copy strong { display:block !important; font-size:13px !important; }
  .javajay-cart-fab-copy small { font-size:11px !important; }
  .javajay-cart-fab-last { display:none; }
  .javajay-cart-fab-cta { min-height:46px; padding:0 10px; font-size:11px; }
  .javajay-cart-fab-cta i { display:none; }
  .javajay-cart-peek { display:none !important; }
  .javajay-detail-tools > * { flex:1 1 calc(50% - 9px); }
  .javajay-detail-tools .javajay-live-price { flex:1 1 100%; margin-left:0; text-align:center; }
  .tk-add-cart { grid-template-columns:auto 1fr !important; }
}
@media (max-width:460px) {
  .javajay-cart-fab-cta b { font-size:0; }
  .javajay-cart-fab-cta b::after { content:"Cart"; font-size:11px; }
  .vrtkitemsdiv .vrtksinglevar { grid-template-columns:minmax(62px,1fr) minmax(112px,max-content) !important; padding-inline:4px !important; }
}
@keyframes javaJayToolbarBump { 0%,100%{transform:translateX(-50%)} 42%{transform:translateX(-50%) scale(1.035) translateY(-3px)} }
.javajay-cart-fab.is-bumping { animation:javaJayToolbarBump .58s ease !important; }
@media (max-width:700px) {
  @keyframes javaJayToolbarBumpMobile { 0%,100%{transform:none} 42%{transform:scale(1.025) translateY(-3px)} }
  .javajay-cart-fab.is-bumping { animation:javaJayToolbarBumpMobile .58s ease !important; }
}
@media (prefers-reduced-motion:reduce) {
  .javajay-card-favorite,.javajay-category-chip,.javajay-recent-chip,#vrtk-item-addbutton,.tk-ordernow a,.vrtkgotopaybutton,.javajay-cart-fab { animation:none !important; transition:none !important; }
}
/* JAVA JAY STOREFRONT VISUAL RESTORE + SMART ORDER UX 1.1.7 END */

/* JAVA JAY SAFE-LIFT TOOLBAR + COMMUNITY INTEGRATION 1.1.7 START */
.javajay-cart-fab{
  bottom:var(--jj-fab-bottom,max(112px,calc(env(safe-area-inset-bottom) + 96px))) !important;
}
.javajay-cart-peek{
  bottom:calc(var(--jj-fab-bottom,max(112px,calc(env(safe-area-inset-bottom) + 96px))) + 80px) !important;
}
.javajay-cart-toast{
  bottom:calc(var(--jj-fab-bottom,max(112px,calc(env(safe-area-inset-bottom) + 96px))) + 84px) !important;
}
.javajay-community-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:10px 13px;border-bottom:1px solid #dfc39d;background:linear-gradient(135deg,#fff7e9,#e9f9ff)}
.javajay-community-links.is-compact{padding:8px 10px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.javajay-community-link{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;gap:0 8px;align-items:center;min-width:0;padding:8px 10px;border:1px solid rgba(20,185,238,.42);border-radius:12px;background:rgba(255,255,255,.86);color:#2b160f !important;text-decoration:none !important;box-shadow:0 5px 15px rgba(65,25,4,.06);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.javajay-community-link:hover,.javajay-community-link:focus-visible{transform:translateY(-2px);border-color:var(--jj-orange);box-shadow:0 10px 24px rgba(65,25,4,.12)}
.javajay-community-link>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#180b08;color:var(--jj-green);font-size:16px}
.javajay-community-link b{overflow:hidden;color:#1e100a;font-size:10px;white-space:nowrap;text-overflow:ellipsis}
.javajay-community-link small{overflow:hidden;color:#7a4c31;font-size:8px;white-space:nowrap;text-overflow:ellipsis}
.javajay-smart-menu .javajay-community-links{margin-top:9px;border:1px solid rgba(20,185,238,.38);border-radius:14px;background:rgba(14,7,4,.72)}
.javajay-smart-menu .javajay-community-link{background:rgba(255,247,235,.96)}
.javajay-detail-community{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.javajay-detail-community a{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid var(--jj-green);border-radius:999px;background:#160b08;color:#fff !important;font-size:10px;font-weight:900;text-decoration:none !important}
.vrtkitemimagediv{position:relative}
.javajay-community-proof{position:absolute;left:7px;bottom:7px;z-index:8;display:inline-flex;align-items:center;max-width:calc(100% - 14px);padding:4px 7px;border:1px solid var(--jj-green);border-radius:999px;background:rgba(11,5,3,.9);color:#fff;font-size:8px;font-weight:900;letter-spacing:.02em;box-shadow:0 4px 12px rgba(0,0,0,.35);pointer-events:none}
.javajay-es-stream-card{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid #14b9ee;border-radius:16px;background:linear-gradient(135deg,#160b08,#3a170d);color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.25)}
.javajay-es-stream-card img{width:84px;height:84px;object-fit:contain;border-radius:50%;background:#000}
.javajay-es-stream-card strong{color:#14b9ee;font-size:17px}.javajay-es-stream-card p{margin:5px 0;color:#fff}.javajay-es-stream-card a{display:inline-flex;margin-top:6px;padding:7px 11px;border-radius:999px;background:#ff7600;color:#111 !important;font-weight:900;text-decoration:none !important}
@media(max-width:699px){
 .javajay-cart-fab{bottom:var(--jj-fab-bottom,max(132px,calc(env(safe-area-inset-bottom) + 112px))) !important;left:max(10px,env(safe-area-inset-left)) !important;right:max(10px,env(safe-area-inset-right)) !important;width:auto !important;grid-template-columns:48px minmax(0,1fr) auto !important;padding-right:8px !important}
 .javajay-cart-fab-copy strong{display:block !important;font-size:12px !important}.javajay-cart-fab-copy em{display:none !important}.javajay-cart-fab-cta{display:inline-flex !important;padding:7px 10px !important}
 .javajay-community-links,.javajay-community-links.is-compact{grid-template-columns:1fr}.javajay-community-link small{white-space:normal;line-height:1.25}
 .javajay-detail-community{width:100%;margin-left:0}.javajay-detail-community a{flex:1 1 130px;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.javajay-community-link{transition:none}.javajay-community-link:hover{transform:none}}
/* JAVA JAY SAFE-LIFT TOOLBAR + COMMUNITY INTEGRATION 1.1.7 END */



/* JAVA JAY STABLE CART DOCK + CLICK TARGET REPAIR 1.1.7 START */
.javajay-cart-shell{
  --jj-fab-bottom:max(148px,calc(env(safe-area-inset-bottom) + 118px));
}
.javajay-cart-fab,
.javajay-cart-shell.is-left-docked .javajay-cart-fab{
  left:50% !important;
  right:auto !important;
  bottom:var(--jj-fab-bottom) !important;
  width:min(760px,calc(100vw - 36px)) !important;
  min-width:0 !important;
  grid-template-columns:58px minmax(0,1fr) auto !important;
  transform:translateX(-50%) !important;
  will-change:auto !important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease !important;
}
.javajay-cart-fab:hover,
.javajay-cart-fab:focus-visible,
.javajay-cart-fab.is-bumping{
  transform:translateX(-50%) !important;
}
.javajay-cart-fab:hover,
.javajay-cart-fab:focus-visible{
  border-color:var(--jj-orange) !important;
  box-shadow:0 21px 54px rgba(0,0,0,.58),0 0 0 5px rgba(20,185,238,.18),0 0 28px rgba(255,118,0,.24) !important;
}
.javajay-cart-fab.is-bumping,
.javajay-cart-shell.cart-just-updated .javajay-cart-fab{
  animation:javaJayStableToolbarGlow .9s ease !important;
}
.javajay-cart-fab-cta{
  min-width:150px !important;
  justify-content:center !important;
  white-space:nowrap !important;
}
.javajay-cart-peek{
  display:none !important;
}
.javajay-cart-toast{
  left:50% !important;
  right:auto !important;
  bottom:calc(var(--jj-fab-bottom) + 94px) !important;
  transform:translateX(-50%) !important;
}
@keyframes javaJayStableToolbarGlow{
  0%,100%{box-shadow:0 17px 48px rgba(0,0,0,.48),0 0 0 4px rgba(255,118,0,.17)}
  45%{box-shadow:0 23px 60px rgba(0,0,0,.6),0 0 0 8px rgba(56,255,23,.2),0 0 34px rgba(20,185,238,.34)}
}
@media(max-width:700px){
  .javajay-cart-shell{
    --jj-fab-bottom:max(154px,calc(env(safe-area-inset-bottom) + 126px));
  }
  .javajay-cart-fab,
  .javajay-cart-shell.is-left-docked .javajay-cart-fab{
    left:max(10px,env(safe-area-inset-left)) !important;
    right:max(10px,env(safe-area-inset-right)) !important;
    width:auto !important;
    grid-template-columns:48px minmax(0,1fr) auto !important;
    transform:none !important;
  }
  .javajay-cart-fab:hover,
  .javajay-cart-fab:focus-visible,
  .javajay-cart-fab.is-bumping{
    transform:none !important;
  }
  .javajay-cart-fab-cta{
    min-width:112px !important;
  }
  .javajay-cart-fab-cta b{
    font-size:0 !important;
  }
  .javajay-cart-fab-cta b::after{
    content:"Full Order";
    font-size:11px;
  }
  .javajay-cart-toast{
    left:12px !important;
    right:12px !important;
    width:auto !important;
    transform:none !important;
  }
}
@media(max-width:410px){
  .javajay-cart-fab-cta{min-width:88px !important;padding-inline:8px !important;}
  .javajay-cart-fab-copy small{font-size:10px !important;}
}
@media(prefers-reduced-motion:reduce){
  .javajay-cart-fab,.javajay-cart-fab.is-bumping,.javajay-cart-shell.cart-just-updated .javajay-cart-fab{animation:none !important;transition:none !important;}
}
/* JAVA JAY STABLE CART DOCK + CLICK TARGET REPAIR 1.1.7 END */

/* JAVA JAY 1.2.1 CART VIEWPORT CONTAINMENT START */
html.javajay-cart-loaded,
html.javajay-cart-loaded body {
  overflow-x: clip !important;
}
.javajay-cart-drawer {
  pointer-events: none;
  visibility: hidden;
}
.javajay-cart-shell.is-open .javajay-cart-drawer {
  pointer-events: auto;
  visibility: visible;
}
@supports not (overflow: clip) {
  html.javajay-cart-loaded,
  html.javajay-cart-loaded body { overflow-x: hidden !important; }
}
/* JAVA JAY 1.2.1 CART VIEWPORT CONTAINMENT END */

/* JAVA JAY CUSTOMER VALUE STAGE 1.3.1 START */
.javajay-cart-stage-benefits{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:8px;width:min(620px,90vw);margin-top:10px}
.javajay-cart-stage-benefits>b{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(20,185,238,.48);border-radius:14px;background:linear-gradient(145deg,rgba(0,0,0,.56),rgba(42,20,13,.62));color:#fff;text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.javajay-cart-stage-benefits>b>i{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(145deg,#0d2b38,#111);color:#42ff2c;font-size:16px;font-style:normal;border:1px solid rgba(66,255,44,.34)}
.javajay-cart-stage-benefits>b>span{font-size:10px;font-weight:1000;line-height:1.15}.javajay-cart-stage-benefits>b>span>small{display:block!important;margin:3px 0 0!important;color:#b9cfdd!important;font-size:8px!important;line-height:1.25!important;font-weight:700!important}
.javajay-cart-shell.is-expanded .javajay-cart-stage-benefits{opacity:.55}
@media(max-width:850px){.javajay-cart-stage-benefits{grid-template-columns:1fr;width:min(380px,86vw)}.javajay-cart-stage-benefits>b{padding:8px}.javajay-cart-stage-benefits>b:nth-child(3){display:none}}
@media(max-width:700px){.javajay-cart-stage-benefits{display:none}}
@media(prefers-reduced-motion:reduce){.javajay-cart-stage-benefits>b{transition:none!important}}
/* JAVA JAY CUSTOMER VALUE STAGE 1.3.1 END */
/* JAVA JAY CHECKOUT + CANOPY QUEST EXPERIENCE 1.1.1 */
:root{--jj-ink:#173249;--jj-blue:#79a5dc;--jj-blue-deep:#2d6598;--jj-orange:#ef7724;--jj-green:#90bd56;--jj-cream:#fffaf1;--jj-brown:#51351e;--jj-shadow:0 18px 55px rgba(22,49,72,.16)}
.javajay-checkout-experience body{background:radial-gradient(circle at 12% 10%,rgba(121,165,220,.18),transparent 34%),radial-gradient(circle at 88% 28%,rgba(239,119,36,.13),transparent 32%),#f7f9fc}
.javajay-checkout-shell{width:min(1440px,calc(100% - 28px));margin:22px auto 80px;color:var(--jj-ink);font-family:inherit}
.javajay-checkout-hero{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:26px;align-items:center;overflow:hidden;padding:28px 34px;border-radius:30px;background:linear-gradient(135deg,#eaf3ff 0%,#fffaf2 48%,#f0f8e7 100%);border:1px solid rgba(45,101,152,.16);box-shadow:var(--jj-shadow)}
.javajay-checkout-hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(45,101,152,.11) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,#000,transparent 75%);pointer-events:none}
.javajay-checkout-hero-art{position:relative;width:164px;height:164px;display:grid;place-items:center}.javajay-checkout-hero-art img{position:relative;z-index:2;width:138px;height:138px;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(23,50,73,.18));animation:jjFloat 5s ease-in-out infinite}.javajay-orbit{position:absolute;border:2px dashed rgba(239,119,36,.38);border-radius:50%;animation:jjSpin 18s linear infinite}.javajay-orbit.one{inset:4px}.javajay-orbit.two{inset:25px;border-color:rgba(45,101,152,.3);animation-direction:reverse;animation-duration:12s}
.javajay-eyebrow{display:block;font-size:.72rem;font-weight:900;letter-spacing:.15em;color:var(--jj-orange);text-transform:uppercase}.javajay-checkout-hero h1{margin:5px 0 8px;font-size:clamp(1.65rem,3vw,3rem);line-height:1.05;color:var(--jj-ink)}.javajay-checkout-hero p{max-width:820px;margin:0;color:#506578;font-size:1rem}.javajay-checkout-steps{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.javajay-checkout-steps span{padding:7px 11px;border-radius:999px;background:#fff;border:1px solid rgba(45,101,152,.16);font-size:.78rem;font-weight:800}.javajay-checkout-steps .done{background:#eef8e4;color:#527c27}.javajay-checkout-steps .active{background:var(--jj-blue-deep);color:#fff;box-shadow:0 6px 16px rgba(45,101,152,.25)}
.javajay-state-saved{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;padding:13px 16px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(144,189,86,.35);box-shadow:0 10px 25px rgba(22,49,72,.09);min-width:190px}.javajay-state-saved i{grid-row:1/3;width:12px;height:12px;border-radius:50%;background:#72bd42;box-shadow:0 0 0 6px rgba(114,189,66,.13);animation:jjPulse 2s infinite}.javajay-state-saved strong,.javajay-state-saved small{display:block}.javajay-state-saved small{color:#647789}
.javajay-checkout-grid{display:grid;grid-template-columns:minmax(340px,.86fr) minmax(520px,1.5fr);gap:24px;align-items:start;margin-top:24px}.javajay-checkout-summary,.javajay-checkout-flow{min-width:0}.javajay-checkout-summary{position:sticky;top:110px}.javajay-checkout-summary #vrtkconfcartitemsdiv,.javajay-checkout-flow>form,.javajay-loyalty-panel{background:rgba(255,255,255,.96);border:1px solid rgba(45,101,152,.13);border-radius:25px;box-shadow:0 14px 38px rgba(22,49,72,.1);padding:22px;margin:0 0 20px}
.javajay-checkout-flow #vrtkconfirmform,.javajay-checkout-flow #vrpayform{width:100%;max-width:none}.javajay-checkout-flow input:not([type="radio"]):not([type="checkbox"]),.javajay-checkout-flow textarea,.javajay-checkout-flow select{max-width:100%;border-radius:12px!important;min-height:46px}.javajay-checkout-flow input[type="radio"],.javajay-checkout-flow input[type="checkbox"]{width:auto!important;min-width:16px!important;height:16px!important;min-height:16px!important;margin:0 7px 0 0!important;vertical-align:middle}.javajay-checkout-flow input:focus,.javajay-checkout-flow textarea:focus,.javajay-checkout-flow select:focus{outline:3px solid rgba(121,165,220,.25)!important;border-color:var(--jj-blue-deep)!important}
.javajay-checkout-flow .vrtkdeliverytitlediv{display:flex;align-items:center;gap:10px;margin:8px 0 15px;padding:10px 13px;border-radius:14px;background:linear-gradient(90deg,rgba(121,165,220,.17),transparent);color:var(--jj-ink);font-size:1.05rem}.javajay-checkout-flow .vrtkdeliverytitlediv>span{font-size:1.25rem}
.javajay-service-choice{display:inline-flex!important;position:relative;margin:5px!important}.javajay-service-choice input{position:absolute!important;opacity:0!important;pointer-events:none}.javajay-service-choice label{display:flex!important;align-items:center!important;justify-content:center!important;min-width:150px;min-height:54px;padding:12px 18px!important;border:2px solid #d7e3ed!important;border-radius:16px!important;background:#fff!important;color:var(--jj-ink)!important;font-weight:900!important;cursor:pointer;transition:.22s ease}.javajay-service-choice input:checked+label{border-color:var(--jj-orange)!important;background:linear-gradient(135deg,#fff6ed,#fff)!important;box-shadow:0 9px 22px rgba(239,119,36,.16);transform:translateY(-2px)}
.javajay-payment-card{position:relative;border:2px solid #e1eaf2!important;border-radius:18px!important;margin:10px 0!important;padding:14px!important;transition:.22s ease;background:#fff}.javajay-payment-card:has(input:checked){border-color:var(--jj-blue-deep)!important;box-shadow:0 10px 25px rgba(45,101,152,.13);transform:translateY(-2px)}.javajay-payment-card label{font-weight:900;cursor:pointer}
.javajay-tip-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px;width:100%;margin-top:12px;padding-top:12px;border-top:1px dashed #d5e0e9}.javajay-tip-presets>span{width:100%;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#65798a}.javajay-tip-presets button{border:1px solid #cfdae4;border-radius:999px;background:#fff;color:var(--jj-ink);font-weight:900;padding:8px 12px;cursor:pointer;transition:.2s ease}.javajay-tip-presets button:hover,.javajay-tip-presets button.active{background:var(--jj-orange);border-color:var(--jj-orange);color:#fff;transform:translateY(-2px);box-shadow:0 7px 16px rgba(239,119,36,.22)}.javajay-tip-presets small{width:100%;color:#718394}
.javajay-loyalty-panel,.javajay-loyalty-mini{position:relative;overflow:hidden;background:linear-gradient(145deg,#19364e 0%,#295f8d 56%,#4e7840 130%)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important}.javajay-loyalty-panel:before,.javajay-loyalty-mini:before{content:"";position:absolute;inset:-60%;background:conic-gradient(from 0deg,transparent,rgba(239,119,36,.15),transparent,rgba(144,189,86,.14),transparent);animation:jjSpin 30s linear infinite;pointer-events:none}.javajay-loyalty-panel>* ,.javajay-loyalty-mini>*{position:relative;z-index:1}.javajay-loyalty-head{display:flex;align-items:center;gap:15px}.javajay-loyalty-emblem{position:relative;flex:0 0 78px;height:78px;border-radius:24px;background:rgba(255,255,255,.12);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.javajay-loyalty-emblem img{width:64px;height:64px;object-fit:contain}.javajay-loyalty-emblem span{position:absolute;right:-12px;bottom:-7px;padding:4px 7px;border-radius:9px;background:var(--jj-orange);font-size:.55rem;line-height:1;font-weight:1000;letter-spacing:.08em}.javajay-loyalty-head h3{margin:3px 0;color:#fff;font-size:1.4rem}.javajay-loyalty-head p{margin:0;color:#dceaf6}.javajay-loyalty-head .javajay-eyebrow{color:#ffb47f}
.javajay-loyalty-progress{height:12px;margin:18px 0 10px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden}.javajay-loyalty-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--jj-orange),#ffd178,var(--jj-green));box-shadow:0 0 18px rgba(255,209,120,.5);transition:width .7s cubic-bezier(.2,.8,.2,1)}.javajay-loyalty-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.javajay-loyalty-metrics span{padding:9px;border-radius:12px;background:rgba(255,255,255,.09);font-size:.72rem;color:#dceaf6}.javajay-loyalty-metrics b{display:block;font-size:1rem;color:#fff}.javajay-achievements{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.javajay-achievement{padding:6px 9px;border-radius:999px;background:rgba(144,189,86,.18);border:1px solid rgba(190,236,135,.25);font-size:.72rem;font-weight:800}.javajay-loyalty-actions{margin-top:13px}.javajay-loyalty-actions button{width:100%;border:0;border-radius:13px;background:linear-gradient(135deg,var(--jj-orange),#ff9b4e);color:#fff;font-weight:1000;padding:12px 15px;cursor:pointer;box-shadow:0 10px 22px rgba(239,119,36,.25);transition:.2s}.javajay-loyalty-actions button:hover{transform:translateY(-2px) scale(1.01)}.javajay-loyalty-actions>span{font-size:.8rem;color:#dceaf6}.javajay-fan-note{display:block;margin-top:12px;color:#bcd0df;line-height:1.35}.javajay-loyalty-mini{padding:14px;border-radius:17px;margin-bottom:14px}.javajay-loyalty-mini .javajay-loyalty-emblem{flex-basis:58px;height:58px}.javajay-loyalty-mini .javajay-loyalty-emblem img{width:48px;height:48px}.javajay-loyalty-mini .javajay-loyalty-head h3{font-size:1.05rem}.javajay-loyalty-mini .javajay-loyalty-metrics{grid-template-columns:1fr 1fr}.javajay-loyalty-mini .javajay-loyalty-metrics span:last-child{display:none}.javajay-loyalty-mini .javajay-fan-note{display:none}
.javajay-reward-won{display:grid;gap:6px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#fff8dc,#fff);color:var(--jj-ink);box-shadow:0 10px 30px rgba(0,0,0,.12)}.javajay-reward-won strong{font-size:1.15rem;color:#547d2e}.javajay-reward-won button{border:0;border-radius:9px;background:var(--jj-ink);color:#fff;padding:6px 10px;font-weight:900;cursor:pointer}
.javajay-payment-launch{padding:18px;border-radius:18px;background:linear-gradient(135deg,#edf5ff,#fff);border:1px solid #c9dced;text-align:center}.javajay-payment-launch .btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:10px 22px;border-radius:13px;background:var(--jj-blue-deep);color:#fff!important;font-weight:900;text-decoration:none}
.javajay-rise-in{opacity:0;transform:translateY(16px);animation:jjRise .55s ease forwards;animation-delay:var(--javajay-delay,0ms)}
@keyframes jjRise{to{opacity:1;transform:none}}@keyframes jjFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}@keyframes jjSpin{to{transform:rotate(360deg)}}@keyframes jjPulse{50%{box-shadow:0 0 0 11px rgba(114,189,66,0)}}
@media(max-width:1050px){.javajay-checkout-grid{grid-template-columns:1fr}.javajay-checkout-summary{position:relative;top:auto}.javajay-checkout-hero{grid-template-columns:120px 1fr}.javajay-checkout-hero-art{width:110px;height:110px}.javajay-checkout-hero-art img{width:96px;height:96px}.javajay-state-saved{grid-column:1/-1;justify-self:start}.javajay-loyalty-metrics{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:680px){.javajay-checkout-shell{width:min(100% - 14px,1440px);margin-top:8px}.javajay-checkout-hero{grid-template-columns:1fr;padding:22px;border-radius:22px;text-align:center}.javajay-checkout-hero-art{margin:auto}.javajay-checkout-steps{justify-content:center}.javajay-state-saved{justify-self:center}.javajay-checkout-summary #vrtkconfcartitemsdiv,.javajay-checkout-flow>form,.javajay-loyalty-panel{padding:15px;border-radius:19px}.javajay-loyalty-metrics{grid-template-columns:1fr}.javajay-service-choice,.javajay-service-choice label{width:100%;min-width:0}.javajay-tip-presets button{flex:1 1 28%}}
@media(prefers-reduced-motion:reduce){.javajay-checkout-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.javajay-loyalty-disabled{display:grid;gap:4px;padding:15px;border-radius:16px;background:#f1f4f7;color:#43586a;border:1px dashed #9fb3c3}.javajay-loyalty-disabled strong{color:#173249}.javajay-loyalty-disabled span{font-size:.82rem}

/* Java Jay 1.1.1 performance stabilization. */
.javajay-cart-shell:not(.is-open) .javajay-loyalty-mini::before { animation-play-state: paused !important; }
/* JAVA JAY ADAPTIVE DUAL CART DOCK + PRODUCT CONTROL RUNTIME 1.3.1 START */
html.javajay-vik-page,
html.javajay-vik-page body {
  min-height: 100%;
  background: #252525;
}

body.javajay-vik-page .body-wrapper,
body.javajay-vik-page .body-innerwrapper {
  min-height: 100dvh;
}

body.javajay-vik-page .body-innerwrapper {
  display: flex;
  flex-direction: column;
}

body.javajay-vik-page #sp-main-body {
  flex: 1 0 auto;
}

body.javajay-vik-page #sp-footer {
  flex: 0 0 auto;
  margin-top: auto !important;
}

/* The new shadow-DOM HUD replaces the legacy floating bar. The drawer remains. */
html.javajay-vik-page .javajay-cart-fab,
html.javajay-vik-page .javajay-cart-peek {
  display: none !important;
}

html.javajay-vik-page #javajay-cart-shell,
html.javajay-vik-page #javajay-cart-shell .javajay-cart-backdrop,
html.javajay-vik-page #javajay-cart-shell .javajay-cart-drawer {
  max-width: 100vw !important;
}

html.javajay-vik-page #javajay-cart-shell .javajay-cart-backdrop,
html.javajay-vik-page #javajay-cart-shell .javajay-cart-drawer {
  position: fixed !important;
}

/* BISTRO BUDDY Guest Order Center / Your Bag dock.
   This is intentionally kept separate from the VikRestaurants Java Jay order. */
html.javajay-vik-page [data-javajay-hidden-bag="1"] {
  display: initial !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked,
html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked,
html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: var(--javajay-bag-bottom, max(214px, calc(env(safe-area-inset-bottom) + 188px))) !important;
  z-index: 2147483647 !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: max-content !important;
  max-width: calc(100vw - 24px) !important;
  margin: 0 !important;
  transform: translate3d(-50%, 0, 0) !important;
  transform-origin: center bottom !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  contain: layout style !important;
  will-change: auto !important;
}

html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked:hover,
html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked:focus,
html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked:focus-within,
html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked:hover,
html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked:hover {
  transform: translate3d(-50%, 0, 0) !important;
}

@media (max-width: 700px) {
  html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked,
  html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked,
  html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked {
    bottom: var(--javajay-bag-bottom, max(198px, calc(env(safe-area-inset-bottom) + 174px))) !important;
    max-width: calc(100vw - 18px) !important;
  }
}

/* Product-page controls: large touch targets, fixed lanes and no click overlap. */
html.javajay-vik-page #vrtk-item-quantity .quantity-actions {
  display: grid !important;
  grid-template-columns: 46px minmax(54px, 72px) 46px !important;
  align-items: stretch !important;
  gap: 6px !important;
  min-height: 48px !important;
}

html.javajay-vik-page #vrtk-item-quantity .vrtk-action-remove,
html.javajay-vik-page #vrtk-item-quantity .vrtk-action-add {
  position: relative !important;
  z-index: 3 !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 46px !important;
  min-width: 46px !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid #14b9ee !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, #1f2930, #0b0f12) !important;
  color: #fff !important;
  box-shadow: 0 7px 17px rgba(0,0,0,.25) !important;
  cursor: pointer !important;
  touch-action: manipulation;
}

html.javajay-vik-page #vrtk-item-quantity .vrtk-action-add {
  border-color: #38ff17 !important;
  color: #38ff17 !important;
}

html.javajay-vik-page #vrtk-item-quantity .vrtk-action-remove.disabled {
  opacity: .42 !important;
  cursor: not-allowed !important;
}

html.javajay-vik-page #vrtk-item-quantity input[name="quantity"] {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  min-width: 54px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 5px 8px !important;
  border: 2px solid #ff7600 !important;
  border-radius: 13px !important;
  background: #fff7e8 !important;
  color: #28130b !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

html.javajay-vik-page #vrtk-item-addbutton {
  position: relative !important;
  z-index: 2 !important;
  isolation: isolate;
  overflow: hidden;
  min-height: 58px !important;
  border: 2px solid #0b1013 !important;
  background: linear-gradient(110deg, #14b9ee 0%, #38ff17 54%, #ff8b18 100%) !important;
  background-size: 220% 100% !important;
  color: #07110b !important;
  font-weight: 1000 !important;
  letter-spacing: .025em !important;
  box-shadow: 0 10px 25px rgba(20,185,238,.22), 0 4px 0 #07110b !important;
  transition: filter .18s ease, box-shadow .18s ease, background-position .3s ease !important;
  touch-action: manipulation;
}

html.javajay-vik-page #vrtk-item-addbutton:hover,
html.javajay-vik-page #vrtk-item-addbutton:focus-visible {
  background-position: 100% 0 !important;
  filter: brightness(1.08) !important;
  transform: none !important;
}

html.javajay-vik-page #vrtk-item-addbutton.javajay-product-busy {
  cursor: wait !important;
  filter: saturate(.72) brightness(.92) !important;
}

html.javajay-vik-page #vrtk-item-addbutton.javajay-product-busy::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  animation: javaJayHudScan 1.05s linear infinite;
}

html.javajay-vik-page .javajay-required-pulse {
  outline: 3px solid #ff3b30 !important;
  outline-offset: 4px !important;
  border-radius: 12px !important;
  animation: javaJayRequiredPulse .8s ease 2;
}

.javajay-product-message {
  position: fixed;
  left: 50%;
  bottom: max(220px, calc(env(safe-area-inset-bottom) + 190px));
  z-index: 2147483646;
  width: min(560px, calc(100vw - 28px));
  transform: translateX(-50%);
  padding: 13px 16px;
  border: 2px solid #14b9ee;
  border-radius: 16px;
  background: rgba(17,8,5,.96);
  color: #fff;
  font-weight: 900;
  text-align: center;
  box-shadow: 0 22px 60px rgba(0,0,0,.52);
}

.javajay-product-message.is-error { border-color: #ff7600; }
.javajay-product-message.is-success { border-color: #38ff17; }

@keyframes javaJayHudScan {
  from { transform: translateX(-105%); }
  to { transform: translateX(105%); }
}

@keyframes javaJayRequiredPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(255,59,48,0); }
  50% { box-shadow: 0 0 0 9px rgba(255,59,48,.22); }
}

@media (max-width: 700px) {
  html.javajay-vik-page #vrtk-item-quantity .quantity-actions {
    grid-template-columns: 48px minmax(58px, 1fr) 48px !important;
  }
  html.javajay-vik-page .tk-add-cart {
    grid-template-columns: 1fr !important;
  }
  html.javajay-vik-page #vrtk-item-addbutton {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.javajay-vik-page #vrtk-item-addbutton,
  html.javajay-vik-page #vrtk-item-addbutton::after,
  html.javajay-vik-page .javajay-required-pulse {
    animation: none !important;
    transition: none !important;
  }
}
/* JAVA JAY ADAPTIVE DUAL CART DOCK + PRODUCT CONTROL RUNTIME 1.3.1 END */


/* JAVA JAY ADAPTIVE CART GEOMETRY 1.3.1 START */
html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked,
html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked,
html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked{border-radius:18px!important;filter:drop-shadow(0 18px 24px rgba(0,0,0,.36));isolation:isolate!important}
@media(min-width:1200px){html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked,html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked,html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked{max-width:min(760px,calc(100vw - 80px))!important}}
@media(min-width:701px) and (max-width:1199px){html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked,html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked,html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked{max-width:calc(100vw - 44px)!important}}
@media(max-width:700px){html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked,html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked,html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked{left:max(9px,env(safe-area-inset-left))!important;right:max(9px,env(safe-area-inset-right))!important;width:auto!important;max-width:none!important;transform:none!important;border-radius:16px!important}}
/* JAVA JAY ADAPTIVE CART GEOMETRY 1.3.1 END */

/* JAVA JAY OPEN-CART FOCUS MODE 1.3.1 START
   The two persistent launchers remain fixed while browsing, but leave the
   stage completely unobstructed once the full Java Jay cart is open. */
html.javajay-cart-open javajay-order-hud,
html.javajay-vik-page.javajay-cart-open #bb-smart-cart-launcher.javajay-smart-bag-docked,
html.javajay-vik-page.javajay-cart-open [data-bb-smart-cart-launcher].javajay-smart-bag-docked,
html.javajay-vik-page.javajay-cart-open .bb-smart-cart-launcher.javajay-smart-bag-docked {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* JAVA JAY OPEN-CART FOCUS MODE 1.3.1 END */

/* JAVA JAY COMPACT LOW-SCREEN DUAL CART DOCK 1.3.1 START */
html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked,
html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked,
html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked {
  bottom: var(--javajay-bag-bottom, max(136px, calc(env(safe-area-inset-bottom) + 112px))) !important;
  min-height: 34px !important;
  max-height: 42px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.34)) !important;
}
html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked > *,
html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked > *,
html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked > * {
  max-height: 42px !important;
}
.javajay-product-message {
  bottom: max(146px, calc(env(safe-area-inset-bottom) + 122px));
}
@media (max-width:700px) {
  html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked,
  html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked,
  html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked {
    bottom: var(--javajay-bag-bottom, max(126px, calc(env(safe-area-inset-bottom) + 104px))) !important;
    min-height: 32px !important;
    max-height: 38px !important;
    max-width: min(220px, calc(100vw - 12px)) !important;
  }
  html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked > *,
  html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked > *,
  html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked > * {
    max-height: 38px !important;
  }
  .javajay-product-message {
    bottom: max(132px, calc(env(safe-area-inset-bottom) + 112px));
    padding: 10px 12px;
    font-size: 12px;
  }
}
/* JAVA JAY COMPACT LOW-SCREEN DUAL CART DOCK 1.3.1 END */

/* JAVA JAY MOBILE CENTERED COMPACT BAG 1.3.1 START */
@media (max-width:700px) {
  html.javajay-vik-page #bb-smart-cart-launcher.javajay-smart-bag-docked,
  html.javajay-vik-page [data-bb-smart-cart-launcher].javajay-smart-bag-docked,
  html.javajay-vik-page .bb-smart-cart-launcher.javajay-smart-bag-docked {
    left: 50% !important;
    right: auto !important;
    width: min(220px, calc(100vw - 12px)) !important;
    transform: translateX(-50%) !important;
  }
}
/* JAVA JAY MOBILE CENTERED COMPACT BAG 1.3.1 END */
/* JAVA JAY OPERATIONS + VENDOR MAP EXPERIENCE 1.2.1 START */
body.javajay-vendor-booking .vrreservationform,
body.javajay-vendor-booking #vrsearchouterdiv,
body.javajay-vendor-booking #table-booking-wrapper,
body.javajay-vendor-booking .vrconfirmresbox {max-width:1400px;margin:24px auto;padding:clamp(16px,3vw,32px);background:#fff7e8;border:3px solid #13bff3;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.javajay-vendor-hero{max-width:1400px;margin:16px auto 24px;padding:22px;border-radius:24px;background:linear-gradient(135deg,#120b08,#25130d 55%,#071820);border:3px solid #ef7521;color:#fff;display:grid;grid-template-columns:minmax(100px,150px) 1fr;gap:22px;align-items:center;box-shadow:0 18px 60px rgba(0,0,0,.25)}
.javajay-vendor-hero img{width:100%;max-height:130px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}.javajay-vendor-hero h1{margin:0;color:#1cb6ef;font-size:clamp(1.65rem,4vw,3rem)}.javajay-vendor-hero p{margin:.5rem 0 0;font-size:clamp(1rem,2vw,1.25rem)}
body.javajay-vendor-booking .vrformfieldset{border:0!important;padding:0!important}body.javajay-vendor-booking .vrsearchinputdiv{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(239,117,33,.25)}
body.javajay-vendor-booking .vrsearchsubmit,body.javajay-vendor-booking .vrcontinuebutton{min-height:52px;border:0;border-radius:999px;padding:12px 24px;font-weight:900;text-transform:uppercase;background:linear-gradient(90deg,#12bce9,#13ef54);color:#07110b;box-shadow:0 10px 28px rgba(19,239,84,.25)}
body.javajay-vendor-booking #vre-tables-map{border:4px solid #ef7521;border-radius:22px;overflow:auto;background:#120b08;padding:10px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
body.javajay-vendor-booking #vre-tables-map svg{min-width:900px;height:auto}.javajay-vendor-legend{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.javajay-vendor-legend span{padding:8px 13px;border-radius:999px;background:#111;color:#fff;border:2px solid #13bff3;font-weight:800}.javajay-vendor-legend .available{border-color:#13ef54}.javajay-vendor-legend .selected{border-color:#ef7521}.javajay-vendor-legend .unavailable{opacity:.6;border-color:#999}
body.javajay-vendor-booking .vryourtablediv{position:sticky;bottom:110px;z-index:30;margin:15px auto;padding:14px 20px;max-width:720px;text-align:center;border-radius:999px;background:#111;color:#fff;border:3px solid #13ef54;box-shadow:0 16px 45px rgba(0,0,0,.35)}
.javajay-operations-admin{margin:22px 0;padding:22px;border-radius:22px;background:linear-gradient(135deg,#100b08,#28140e);color:#fff;border:3px solid #ef7521}.javajay-operations-admin h2,.javajay-operations-admin h3{color:#1cb6ef}.javajay-scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.javajay-scenario-card{background:#fff7e8;color:#17100c;border-radius:18px;padding:18px;border:3px solid #13bff3}.javajay-scenario-card.active{border-color:#13ef54;box-shadow:0 0 0 4px rgba(19,239,84,.17)}.javajay-scenario-links{display:flex;flex-wrap:wrap;gap:8px}.javajay-scenario-links a{display:inline-flex;padding:8px 12px;border-radius:999px;background:#111;color:#fff!important;text-decoration:none;border:2px solid #ef7521}
@media(max-width:720px){.javajay-vendor-hero{grid-template-columns:1fr;text-align:center}.javajay-vendor-hero img{max-height:100px}body.javajay-vendor-booking .vrsearchinputdiv{grid-template-columns:1fr}.javajay-operations-admin{padding:14px}}
/* JAVA JAY OPERATIONS + VENDOR MAP EXPERIENCE 1.2.1 END */

/* JAVA JAY 1.2.1 OPERATIONS VIEWPORT SAFETY START */
body.javajay-vendor-booking .vrreservationform,
body.javajay-vendor-booking #vrsearchouterdiv,
body.javajay-vendor-booking #table-booking-wrapper,
body.javajay-vendor-booking .vrconfirmresbox,
.javajay-vendor-hero {
  box-sizing: border-box !important;
  width: min(calc(100% - 20px), 1400px) !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.javajay-vendor-booking #vre-tables-map {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  overscroll-behavior-inline: contain;
}
/* JAVA JAY 1.2.1 OPERATIONS VIEWPORT SAFETY END */
body.javajay-vendor-booking .vrformfieldset,
body.javajay-vendor-booking .vrsearchinputdiv {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.javajay-vendor-booking .vrsearchinputdiv > input,
body.javajay-vendor-booking .vrsearchinputdiv > select,
body.javajay-vendor-booking .vrsearchinputdiv > textarea {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.javajay-vendor-booking .vryourtablediv {
  box-sizing: border-box !important;
  width: min(calc(100% - 20px), 720px) !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
