/* Small home-only refinements; loaded exclusively by the home document. */
.restaurant-home .taco-rewards {
  display: none !important;
}

.restaurant-home .event-banner {
  display: none !important;
}

.restaurant-home .restaurant-hero-overlay {
  background: linear-gradient(180deg, #00000035, #00000065 55%, #00000085);
}

.restaurant-home .restaurant-hero-content h1 {
  text-wrap: balance;
}

.restaurant-home .restaurant-hero-content .button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.75rem;
}

.restaurant-home .home-visit-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  min-height: 48px;
  padding: .65rem .25rem;
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #ffffff80;
  text-underline-offset: .35em;
}

.restaurant-home .home-visit-link:hover {
  color: #ffad32;
  text-decoration-color: currentColor;
}

.restaurant-home .featured-menu-photo {
  border-color: #09100a20;
  border-radius: 6px;
}

.restaurant-home .featured-menu-photo img {
  transform: scale(1.1);
}

.restaurant-home .featured-menu-card:is(:hover, :focus-visible) .featured-menu-photo img {
  transform: scale(1.13);
}

.restaurant-home .layered-promo-mobile-copy h2,
.restaurant-home .layered-promo-desktop-copy h2 {
  max-width: 10ch;
  text-wrap: balance;
}

.restaurant-home .layered-promo-mobile-copy p,
.restaurant-home .layered-promo-desktop-copy > p {
  max-width: 34rem;
  line-height: 1.45;
}

.restaurant-home .layered-promo-join {
  gap: .65rem;
  min-height: 52px;
  padding-inline: 1.6rem;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease;
}

.restaurant-home .layered-promo-join:hover {
  background: #ffc45b;
  transform: translateY(-2px);
}

.restaurant-home .promo-marquee-logo {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
}

.restaurant-home .promo-marquee-track {
  animation: promo-marquee-flow 14s linear infinite !important;
  animation-play-state: running !important;
}

.restaurant-home .featured-menu-order {
  min-height: 44px;
  transition: background-color .18s ease;
}

.restaurant-home .featured-menu-card:is(:hover, :focus-visible) .featured-menu-order {
  background: #ffc05c;
}

.restaurant-home :is(a, button):focus-visible {
  outline: 3px solid #b52331;
  outline-offset: 5px;
}

.restaurant-home .restaurant-hero a:focus-visible {
  outline-color: #ffad32;
}

.restaurant-home #visit {
  scroll-margin-top: 110px;
}

/* Visit block: map, live hours and review link. */
.restaurant-home .visit-map {
  margin-top: 2rem;
  overflow: hidden;
  border: 1px solid #7a101826;
  border-radius: 10px;
  aspect-ratio: 4 / 3;
  background: #ece3d3;
}
.restaurant-home .visit-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.restaurant-home .visit-hours {
  margin: 1.75rem 0 .5rem;
}
.restaurant-home .visit-hours-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .6rem 1rem;
  margin-bottom: .35rem;
}
.restaurant-home .visit-hours-head h4 {
  margin: 0;
  font-size: 1rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.restaurant-home .visit-hours-note {
  margin-top: .6rem;
  font-size: .82rem;
  opacity: .7;
}
.restaurant-home .visit-review {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-top: 1.5rem;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #7a101840;
  text-underline-offset: .3em;
}
.restaurant-home .visit-review > span:first-child {
  color: #f2a51c;
  letter-spacing: .1em;
  text-decoration: none;
}
.restaurant-home .visit-review:hover {
  color: #b52331;
  text-decoration-color: currentColor;
}

@media (max-width: 520px) {
  /* Let the hero sentence wrap naturally instead of at the desktop line break. */
  .restaurant-home .restaurant-hero-content p:not(.eyebrow) br {
    display: none;
  }
  .restaurant-home .restaurant-hero-content p:not(.eyebrow) {
    text-wrap: balance;
  }
  .restaurant-home .restaurant-hero-content .button-row {
    flex-direction: column;
    gap: .5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .restaurant-home .promo-marquee-track {
    animation: promo-marquee-flow 22s linear infinite !important;
  }
  .restaurant-home .featured-menu-photo img,
  .restaurant-home .featured-menu-order {
    transition: none;
  }
  .restaurant-home .featured-menu-card:hover .featured-menu-photo img {
    transform: none;
  }
}

/* Sliding photos in the static homepage carousel. */
.community-photo-track { position: absolute; inset: 0; display: flex; transition: transform .55s ease; }
.community-photo-slide { position: relative; flex: 0 0 100%; height: 100%; }
.community-photo-slide img { width: 100%; height: 100%; display: block; object-fit: cover; animation: none; }
.community-carousel-photo { touch-action: pan-y; }
@media (prefers-reduced-motion: reduce) { .community-photo-track { transition: none; } }



.restaurant-home .promo-marquee-logo{min-width:48px;min-height:48px;position:relative;z-index:2;touch-action:manipulation}.restaurant-home .promo-marquee-logo img{pointer-events:none}


.restaurant-home .promo-marquee-group{display:flex;align-items:center;gap:32px;padding-right:32px;flex-shrink:0}.restaurant-home .promo-marquee-track{gap:0}@media(max-width:650px){.restaurant-home .promo-marquee-group{gap:22px;padding-right:22px}}

