[data-component="availability-message"]{display:none!important}

/* Sticky site header — same on every page */
header,
#header,
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:100!important;
  background-color:#fff;
}
.site-header{box-shadow:0 1px 0 rgba(43,29,16,.08);}
[data-testid="hamburger-menu"]{z-index:110!important;}

/*
  Mobile header: dump HTML absolutely centers the logo over Rewards/Menu/Cart/More.
  On a ~390px viewport the left cluster is only ~210px wide (search/sign-in eat the
  rest), so the logo sits on top of Cart/More and labels smash together.
  Fix: keep logo in normal flow under lg (same as desktop left lockup).
*/
@media (max-width: 1023px){
  .header-middle-section [data-component="header-middle-section"] > .flex.items-center{
    flex:1 1 auto!important;
    min-width:0!important;
    gap:0.35rem;
  }
  .header-middle-section [data-component="header-middle-section"] > .flex.items-center > a:has(img[data-testid="header-img"]),
  .header-middle-section [data-component="header-middle-section"] > .flex.items-center > a:has(img[alt*="Cracker Barrel"]){
    position:static!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 auto;
  }
  .header-middle-section [data-component="header-middle-section"] > .flex.items-center > .flex.w-full{
    width:auto!important;
    flex:1 1 auto!important;
    min-width:0!important;
    justify-content:space-between!important;
    gap:0.25rem;
  }
  /* Tighten nav labels so four icons fit beside the in-flow logo */
  .header-middle-section [data-component="header-middle-section"] > .flex.items-center > .flex.w-full a,
  .header-middle-section [data-component="header-middle-section"] > .flex.items-center > .flex.w-full > div{
    font-size:10px!important;
    line-height:1.1!important;
  }
}


/* Header nav icons must never stretch to broken remote aspect boxes */
.header-middle-section img[src*="rewards_"],
.header-middle-section img[src*="menu1_"],
.header-middle-section img[src*="cart_"],
.header-middle-section img[src*="more_"]{
  width:24px!important;
  height:auto!important;
  max-height:24px!important;
  object-fit:contain;
}

/* Breadcrumb back-link must not steal customize clicks */
a[aria-label^="Go back to"]::after{content:none!important;display:none!important;}

/* Hide Shop our retail store / Shop Now brown top strip (all pages) */
.site-header > .primary-arrow.bg-cb-brown,
.site-header > div.bg-cb-brown.primary-arrow,
.site-header > div[style*="background-color:#2B1D10"],
.site-header > div[style*="background-color: #2B1D10"]{
  display:none!important;
}

/* Cart bag badge — orange circle like live */
[data-cart-icon] .rounded-full.bg-cb-gold,
[data-cart-icon] .bg-cb-gold{
  background-color:#e07a2f!important;
  color:#fff!important;
  min-width:13px;
  min-height:13px;
  font-size:10px!important;
  line-height:1!important;
  font-weight:700;
}
[data-cart-icon].cb-cart-pulse,
[data-cart-icon].cb-cart-pulse .rounded-full{
  animation: cb-cart-bounce .9s ease;
}
@keyframes cb-cart-bounce{
  0%{transform:scale(1)}
  25%{transform:scale(1.35)}
  50%{transform:scale(.92)}
  70%{transform:scale(1.2)}
  100%{transform:scale(1)}
}

/* Homepage: hide unfinished order/account chrome */
[data-component="order-details-banner"]{display:none!important;}
.header-middle-section [role="button"]:has(img[alt="more"]),
.header-middle-section [role="button"]:has(img[title="more"]),
.header-middle-section div.flex:has(> div > img[alt="more"]){
  display:none!important;
}
.header-middle-section a[data-testid="login-button"],
.header-middle-section a[href*="sign-in"],
.header-middle-section a[href*="/rewards/sign-in"]{
  display:none!important;
}

/* Homepage: hide Rewards / Harvest promos (Don't Miss stays) */
[data-component="side-promo"].cb-home-hide,
[data-component="promo-vertical"].cb-home-hide{
  display:none!important;
}

/* Menu listings: To-Go only (no Catering) */
.menu-tabs a[href*="catering"],
.menu-tabs a[data-cb-local-stub="catering"],
.menu-tabs li:has(> a[href*="catering"]),
.menu-tabs li:has(> a[data-cb-local-stub="catering"]){
  display:none!important;
}

/*
  Category pill bar belongs directly under To-Go — dump pins it fixed at top:0
  which puts it above the logo header. Keep it in normal flow under .menu-tabs.
*/
nav.category-navigation{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  z-index:40!important;
}
/* Spacer was only for fixed-at-top nav */
.menu-tabs + div[aria-hidden="true"]{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Store bar (pickup location) — injected on every page by order.js */
.cb-fulfill-bar{
  background:#fff;border-bottom:1px solid #dbc7b2;padding:10px 16px;
  font-size:13px;color:#5a4a3c;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
}
.cb-fulfill-bar button{
  border:0;background:transparent;color:#1a6bb5;cursor:pointer;font:inherit;text-decoration:underline;
}

/* ---------- Dish search overlay ---------- */
#cb-dish-search{position:fixed;inset:0;z-index:130;display:none;}
#cb-dish-search.cb-ds-open{display:block;}
#cb-dish-search .cb-ds-backdrop{position:absolute;inset:0;background:rgba(30,20,10,.55);}
#cb-dish-search .cb-ds-panel{
  position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:min(560px,100%);max-height:88vh;margin-top:12px;border-radius:14px;
  background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.3);
  display:flex;flex-direction:column;overflow:hidden;
}
@media (max-width:600px){
  #cb-dish-search .cb-ds-panel{top:0;margin-top:0;max-height:100vh;height:100%;border-radius:0;}
}
.cb-ds-head{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;border-bottom:1px solid #eee;}
.cb-ds-head input{flex:1;padding:12px 14px;font-size:16px;border:1px solid #2b1d10;border-radius:10px;}
.cb-ds-close{border:0;background:transparent;font-size:30px;line-height:1;color:#2b1d10;cursor:pointer;padding:2px 10px;}
.cb-ds-results{overflow:auto;padding:8px 12px 20px;}
.cb-ds-item{display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:10px;text-decoration:none;color:#2b1d10;}
.cb-ds-item:hover{background:#fcf4e1;}
.cb-ds-item img{width:56px;height:56px;object-fit:cover;border-radius:8px;}
.cb-ds-empty{color:#6b5a4a;padding:20px 8px;margin:0;}

/* ---------- Store picker: suggestions overlay list ---------- */
#cb-store-picker.cb-suggest-open .cb-sp-list,
#cb-store-picker.cb-suggest-open .cb-sp-tabs{visibility:hidden;}
.cb-sp-suggest{z-index:60!important;}

/* ---------- Mobile header: logo | Menu Cart | ====== search ---------- */
@media (max-width:1023px){
  .header-middle-section .cb-container{display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:0 12px!important;}
  .header-middle-section a:has(> img[data-testid="header-img"]){position:static!important;transform:none!important;flex:none!important;order:0!important;}
  [data-component="header-middle-section"] .flex.items-center > .flex{display:flex!important;flex-direction:row!important;align-items:center!important;gap:20px!important;width:auto!important;flex:none!important;margin-left:6px!important;padding:0!important;}
  [data-component="header-utilities"]{margin-left:auto!important;flex:none!important;display:flex!important;align-items:center!important;gap:8px!important;}
  [data-component="header-utilities"] .flex-auto{display:none!important;} /* Sign In hidden on mobile */
  [data-component="header-search"]{flex:none!important;basis:auto!important;display:flex!important;}
  [data-component="header-search"] button{width:34px!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin-right:0!important;}
}
@media (max-width:350px){
  [data-component="header-middle-section"] .flex.items-center > .flex{gap:12px!important;}
}
/* ---------- Dish search overlay ---------- */
#cb-dish-search{position:fixed;inset:0;z-index:130;display:none;}
#cb-dish-search.cb-ds-open{display:block;}
#cb-dish-search .cb-ds-backdrop{position:absolute;inset:0;background:rgba(30,20,10,.55);}
#cb-dish-search .cb-ds-panel{
  position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:min(560px,100%);max-height:88vh;margin-top:12px;border-radius:14px;
  background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.3);
  display:flex;flex-direction:column;overflow:hidden;
}
@media (max-width:600px){
  #cb-dish-search .cb-ds-panel{top:0;margin-top:0;max-height:100vh;height:100%;border-radius:0;}
}
.cb-ds-head{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;border-bottom:1px solid #eee;}
.cb-ds-head input{flex:1;padding:12px 14px;font-size:16px;border:1px solid #2b1d10;border-radius:10px;}
.cb-ds-close{border:0;background:transparent;font-size:30px;line-height:1;color:#2b1d10;cursor:pointer;padding:2px 10px;}
.cb-ds-results{overflow:auto;padding:8px 12px 20px;}
.cb-ds-item{display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:10px;text-decoration:none;color:#2b1d10;}
.cb-ds-item:hover{background:#fcf4e1;}
.cb-ds-item img{width:56px;height:56px;object-fit:cover;border-radius:8px;}
.cb-ds-empty{color:#6b5a4a;padding:20px 8px;margin:0;}

/* ---------- Store picker: suggestions overlay list ---------- */
#cb-store-picker.cb-suggest-open .cb-sp-list,
#cb-store-picker.cb-suggest-open .cb-sp-tabs{visibility:hidden;}
.cb-sp-suggest{z-index:60!important;}

/* ---------- Mobile header: minimal (no geometry rewrites) ---------- */
@media (max-width:1023px){
  [data-component="header-utilities"]{flex-shrink:0;}
  [data-component="header-search"]{flex:none!important;basis:auto!important;}
  [data-component="header-search"] button{width:34px;height:34px;}
}
@media (max-width:430px){
  [data-component="header-utilities"] .flex-auto{display:none!important;} /* hide Sign In text on phones */
}

/* ---------- Mobile stability + swipe carousel ---------- */
@media (max-width:1023px){
  body{overflow-x:hidden!important;}
  /* remove 300ms tap delay / perceived lag in customize */
  a, button, [role="button"], input, label{touch-action:manipulation;}
}

/* You May Also Like: native finger swipe */
[data-component="product-carousel"] .overflow-hidden{
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
[data-component="product-carousel"] .overflow-hidden::-webkit-scrollbar{display:none;}
[data-component="product-carousel"] [style*="translate3d"]{transform:none!important;}

/* Hide header "More" (three dots) everywhere */
header img[alt="more"], header img[title="more"]{display:none!important;}
