/* v41 ember (baked in; order CTAs only: header .btn-order, a.btn-primary[data-track=order_now] incl. hero + menu-tab section links, a.btn-pickup-online, sticky bar order). Forms and call/directions links untouched.
   v40 ember — order controls pulse like coals; secondary controls keep a static underglow.
   @keyframes are top-level (CSS requires it). Only uses the names.
   The pulse is opacity on ::before. Glass sets box-shadow !important on the controls,
   and an !important box-shadow cannot be animated, so the glow lives on the pseudo. */

@keyframes v40-ember-pulse {
  0%, 100% { opacity: .42; }
  50% { opacity: 1; }
}
@keyframes v40-ember-hot {
  0%, 100% { opacity: .72; }
  50% { opacity: 1; }
}

:is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online),
#mobile-order-bar a.bar-order {
  background-color: #A83414 !important;
  background-image: linear-gradient(180deg, #A83414 0%, #7A220F 100%) !important;
  color: #FFF8F2 !important;
  border-color: rgba(255, 196, 140, .5) !important;
  text-shadow: none !important;
  overflow: visible !important;
  box-shadow: none !important;
}
:is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online)::before,
#mobile-order-bar a.bar-order::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  left: 16% !important;
  right: 16% !important;
  top: auto !important;
  bottom: -2px !important;
  width: auto !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: 0 6px 9px -2px rgba(255, 86, 18, .85);
  opacity: .42;
  animation: v40-ember-pulse 3.6s ease-in-out infinite;
  pointer-events: none !important;
  transform: none !important;
}
:is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online)::after,
#mobile-order-bar a.bar-order::after {
  content: none !important;
}
:is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online) .ico,
#mobile-order-bar a.bar-order .ico {
  color: #FFF8F2 !important;
}

@media (hover: hover) {
  :is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online):hover,
  #mobile-order-bar a.bar-order:hover {
    background-color: #B33E18 !important;
    background-image: linear-gradient(180deg, #B33E18 0%, #8E2812 100%) !important;
    color: #FFF8F2 !important;
  }
  :is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online):hover::before,
  #mobile-order-bar a.bar-order:hover::before {
    animation-name: v40-ember-hot;
    box-shadow: 0 8px 11px -2px rgba(255, 120, 36, .95);
  }
}

/* Secondary: Call, hero See the Menu, tabs, maps, directions, sticky CALL. */
:is(.btn-call, .tab-btn, .maps-btn, .footer-dir),
#home .btn-outline,
#mobile-order-bar a:not(.bar-order) {
  box-shadow: 0 4px 7px -3px rgba(176, 52, 14, .5) !important;
}
:is(.btn-call, .tab-btn, .maps-btn, .footer-dir)::before,
#home .btn-outline::before,
#mobile-order-bar a:not(.bar-order)::before,
:is(.btn-call, .tab-btn, .maps-btn, .footer-dir)::after,
#home .btn-outline::after,
#mobile-order-bar a:not(.bar-order)::after {
  content: none !important;
}
.tab-btn {
  background-color: #FFF6EE !important;
  background-image: none !important;
  color: #5E1A1A !important;
  border-color: rgba(168, 52, 20, .45) !important;
}
.tab-btn.active {
  background-color: #8E2812 !important;
  background-image: none !important;
  color: #FFF8F2 !important;
  border-color: rgba(255, 196, 140, .55) !important;
  box-shadow: 0 4px 8px -3px rgba(255, 90, 20, .6) !important;
}
#home .btn-outline {
  background-color: transparent !important;
  background-image: none !important;
  color: #fff !important;
  border-color: rgba(255, 214, 170, .8) !important;
}
.btn-call .call-ico,
.footer-dir .ico,
#mobile-order-bar a:not(.bar-order) .ico {
  color: currentColor !important;
}

:is(
  .btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online, .btn-call, .tab-btn, .maps-btn, .footer-dir,
  #home .btn-outline, #mobile-order-bar a
):focus-visible {
  outline: 3px solid #FFE7A3 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #1A0808, 0 8px 14px rgba(255, 96, 24, .45) !important;
}
:is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online):focus-visible::before,
#mobile-order-bar a.bar-order:focus-visible::before {
  animation: none !important;
  opacity: .85 !important;
}

@media (prefers-reduced-motion: reduce) {
  :is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online)::before,
  #mobile-order-bar a.bar-order::before,
  :is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online):hover::before,
  #mobile-order-bar a.bar-order:hover::before {
    animation: none !important;
    opacity: .7 !important;
    transition: none !important;
  }
  :is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online, .btn-call, .tab-btn, .maps-btn, .footer-dir),
  #home .btn-outline,
  #mobile-order-bar a,
  :is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online, .btn-call, .tab-btn):hover,
  :is(.btn-order, a.btn-primary[data-track="order_now"], a.btn-pickup-online, .btn-call, .tab-btn):active,
  #home .btn-outline:hover,
  #home .btn-outline:active,
  #mobile-order-bar a:hover,
  #mobile-order-bar a:active {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* Scroll hint: never sit under the hero buttons. Show only on tall desktop viewports. */
@media (max-height: 900px), (max-width: 1024px) {
  #home .scroll-hint { display: none !important; }
}
#home .scroll-hint { bottom: 1rem; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  #home .scroll-hint, #home .scroll-hint * { animation: none !important; transition: none !important; }
}

/* v42: keep each glow under its own button; never touch neighbours. */
.hero-btns, .cta-row, .page-cta, .btn-row { column-gap: max(16px, 1rem) !important; row-gap: 18px !important; }

/* v42: short desktop/laptop viewports — keep title + both hero buttons above the fold. */
@media (min-width: 1025px) and (max-height: 860px) {
  .ann-bar .ann-inner { padding-top: 6px !important; padding-bottom: 6px !important; }
  #home { padding-top: clamp(64px, 10vh, 96px) !important; }
  #home .content { max-width: min(920px, 92vw) !important; padding-top: clamp(10px, 2vh, 23px) !important; padding-bottom: clamp(10px, 2vh, 23px) !important; }
  #home .hero-eyebrow { margin-bottom: clamp(6px, 1.4vh, 14px) !important; }
  #home h1 { font-size: clamp(2.3rem, 6.6vh, 3.9rem) !important; line-height: 1.04 !important; margin-bottom: clamp(4px, 1vh, 10px) !important; }
  #home .hero-tagline { margin: 0 0 clamp(4px, 1vh, 10px) !important; }
  #home .content > p:not([class]) { max-width: 760px; margin-left: auto; margin-right: auto; margin-bottom: clamp(8px, 1.6vh, 18px) !important; }
  #home .hero-status { margin-bottom: clamp(4px, 1vh, 10px) !important; }
  #home .hero-hours { margin-bottom: clamp(8px, 1.6vh, 14px) !important; }
}
@media (max-width: 1024px) and (max-height: 700px) {
  #home h1 { font-size: clamp(1.5rem, 4.4vh, 1.85rem) !important; }
  #home .hero-eyebrow, #home .hero-tagline { margin-bottom: 6px !important; }
}
