/* Migration-only accessibility and resilience; original visual styles live in site.css. */
.menu-button { background: transparent; color: inherit; padding: 0; flex-shrink: 0; }
.page-loader { display: none; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 10000; padding: 12px 20px; background: #000; color: #fff; }
.skip-link:focus { top: 16px; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Keep CSS-defined gallery crops when intrinsic image dimensions are present. */
.image-3 { height: auto; }

.other-projects-link { text-decoration: none; text-underline-offset: .15em; }
.other-projects-link:hover,
.other-projects-link:focus-visible { text-decoration: underline; }

/* Category tags invert with the card; their text shares the title's GSAP motion. */
.projects-list-item .ghost-tag {
  color: #000;
  transition: background-color .3s ease, color .3s ease;
}
.projects-list-item .ghost-tag-text { color: inherit; }
.projects-list-item:hover .ghost-tag,
.projects-list-item:focus-visible .ghost-tag {
  background-color: #000;
  color: #f6c219;
}
.navbar-menu .projects-list-item:hover .ghost-tag,
.navbar-menu .projects-list-item:focus-visible .ghost-tag {
  color: var(--kebaboom-yellow);
}
.project-tag-text-mask { position: relative; overflow: hidden; }
.project-tag-text-mask > .hidden {
  position: absolute;
  inset: 0;
  transform: translateY(100%);
}

/* The transparent menu follows the body's scroll transition into the PDF's cream. */
.chupacabra-menu .menu-information-container-contents { color: var(--chupacabra-menu-cream); }
.chupacabra-menu .menu-grid-heading {
  grid-column: 1 / -1;
  color: var(--chupacabra-red);
}
.chupacabra-menu .menu-category-heading { color: var(--chupacabra-red); }
.chupacabra-menu .menu-category-item-heading { align-items: flex-start; }
.chupacabra-menu .menu-category-item-price { flex-shrink: 0; white-space: nowrap; }
.chupacabra-portion-prices { display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; min-width: 120px; }
.chupacabra-portion-prices > div { display: flex; justify-content: space-between; gap: 16px; }
.chupacabra-menu-addon { font-weight: 700; }
.chupacabra-menu-addon span { white-space: nowrap; }
.chupacabra-menu-time { margin: 0; font-weight: 700; }
.chupacabra-menu-heat { white-space: nowrap; font-size: .8em; }
@media (min-width: 992px) {
  .subpage-hero-heading-wrapper:has(.subpage-hero-heading-venue.chupacabra) {
    padding-top: 80px;
    min-height: calc(40vh + 80px);
  }
  /* Keep the long venue name clear of the description and menu button. */
  .h1.subpage-hero-heading-venue.chupacabra {
    font-size: min(var(--_typography---h1-obviously--font-size), 10vw);
  }
}
@media (max-width: 991px) {
  #menuSection.chupacabra-menu .menu-categories-container,
  #menuSection.chupacabra-menu .menu-information-container { grid-column: 1 / -1; }
  .chupacabra-menu .menu-category { border-right: 0; }
}
@media (max-width: 767px) {
  .chupacabra-portion-prices { min-width: 100px; }
}
