/* WCAG AA contrast safeguards for public content.
   This file is intentionally loaded after the public component styles. */

/* Product cards use a warm cream surface. Keep the complete text context dark
   and use a deeper red for normal-size price text. The previous fire red was
   too close to the AA threshold on some computed card backgrounds. */
.pizza-card.menu-item-card,
.menu-section .pizza-card.menu-item-card,
.menu-page-section .pizza-card.menu-item-card,
.recommendations-section .pizza-card.menu-item-card {
  color: #17120f !important;
  background-color: #e8d9c2 !important;
}

.pizza-card.menu-item-card .menu-prices strong,
.menu-section .pizza-card.menu-item-card .menu-prices strong,
.menu-page-section .pizza-card.menu-item-card .menu-prices strong,
.recommendations-section .pizza-card.menu-item-card .menu-prices strong {
  color: #7d1a0e !important;
}

.pizza-card.menu-item-card .menu-prices small,
.menu-section .pizza-card.menu-item-card .menu-prices small,
.menu-page-section .pizza-card.menu-item-card .menu-prices small,
.recommendations-section .pizza-card.menu-item-card .menu-prices small {
  color: #544a42 !important;
}

.pizza-card.menu-item-card .menu-description,
.pizza-card.menu-item-card .menu-ingredients {
  color: #4d433c !important;
}

/* Product hero prices are large text on a dark surface, so the brighter accent
   remains appropriate there. */
.product-hero .menu-prices strong {
  color: #f05a24 !important;
}

.product-hero .menu-prices small {
  color: #e6dcd3 !important;
}

/* Menu visit/opening-hours is always a dark component. Explicit colours and
   background prevent generic page rules from producing low-contrast computed
   styles at desktop breakpoints. */
section.menu-business,
.menu-page-section.menu-business,
.business-section.menu-business {
  color: #ffffff !important;
  background-color: #171311 !important;
}

section.menu-business .eyebrow,
.menu-page-section.menu-business .eyebrow,
.business-section.menu-business .eyebrow {
  color: #ffffff !important;
}

section.menu-business h2,
section.menu-business h3,
section.menu-business .public-hours dd,
.menu-page-section.menu-business h2,
.menu-page-section.menu-business h3,
.menu-page-section.menu-business .public-hours dd {
  color: #ffffff !important;
}

section.menu-business .public-hours dt,
.menu-page-section.menu-business .public-hours dt,
.business-section.menu-business .public-hours dt {
  color: #f2e7d5 !important;
}

section.menu-business .public-hours dt.is-today,
section.menu-business .public-hours dd.is-today,
.menu-page-section.menu-business .public-hours dt.is-today,
.menu-page-section.menu-business .public-hours dd.is-today {
  color: #ffffff !important;
}

section.menu-business address,
section.menu-business .business-grid p:not(.eyebrow),
section.menu-business .special-hours-note {
  color: #e1d7ce !important;
}

/* Contact and homepage opening-hours use the same dark visual language. */
.contact-hours-section,
.homepage-hours-section {
  color: #ffffff !important;
  background-color: #17120f !important;
}

.contact-hours-section .eyebrow,
.homepage-hours-section .eyebrow {
  color: #f2e7d5 !important;
}

.contact-hours-section .hours-row dt,
.contact-hours-section .hours-row dd,
.homepage-hours-section .hours-row dt,
.homepage-hours-section .hours-row dd {
  color: #e4d9cf !important;
}

.contact-hours-section .hours-row.is-today dt,
.contact-hours-section .hours-row.is-today dd,
.homepage-hours-section .hours-row.is-today dt,
.homepage-hours-section .hours-row.is-today dd,
.contact-hours-section h2,
.contact-hours-section h3,
.homepage-hours-section h2,
.homepage-hours-section h3 {
  color: #ffffff !important;
}
