/* CASA PIZZA — PHASE 26
   Dark-mode contrast pass.
   Goals:
   - Casa red actions remain Casa red in dark mode.
   - Text/background contrast is predictable across every customer page.
   - Inputs, cards, dialogs and status surfaces no longer inherit light-only colors.
*/

:root[data-theme="dark"] {
  color-scheme: dark;
  --dm-bg: #0b0f14;
  --dm-surface: #111821;
  --dm-surface-2: #151f2b;
  --dm-surface-3: #1a2633;
  --dm-border: #2d3a49;
  --dm-border-strong: #46566a;
  --dm-text: #f4f7fb;
  --dm-muted: #b7c2cf;
  --dm-muted-2: #93a1b1;
  --dm-red: #da3528;
  --dm-red-hover: #c92f24;
  --dm-red-soft: #351817;
  --dm-green: #79cf8b;
  --dm-yellow: #ffe08a;
  --dm-blue-soft: #17283a;
  --dm-focus: #ffde6a;

  /* Keep the existing design-system variables coherent too. */
  --bg: var(--dm-bg);
  --cream: var(--dm-bg);
  --paper: var(--dm-surface);
  --surface: var(--dm-surface);
  --surface-soft: var(--dm-surface-2);
  --surface-blue: var(--dm-blue-soft);
  --ink: var(--dm-text);
  --ink-strong: #ffffff;
  --muted: var(--dm-muted);
  --line: var(--dm-border);
  --red: var(--dm-red);
  --red-dark: var(--dm-red-hover);
}

:root[data-theme="dark"] body {
  background: var(--dm-bg) !important;
  color: var(--dm-text) !important;
}

:root[data-theme="dark"] main,
:root[data-theme="dark"] .page,
:root[data-theme="dark"] .section,
:root[data-theme="dark"] .section-soft,
:root[data-theme="dark"] .home-products,
:root[data-theme="dark"] .home-categories,
:root[data-theme="dark"] .home-about,
:root[data-theme="dark"] .home-reviews,
:root[data-theme="dark"] .home-contact,
:root[data-theme="dark"] .menu-control-zone,
:root[data-theme="dark"] .menu-products-full,
:root[data-theme="dark"] .product-page,
:root[data-theme="dark"] .cart-page,
:root[data-theme="dark"] .checkout-page,
:root[data-theme="dark"] .success-page,
:root[data-theme="dark"] .combo-page {
  background-color: var(--dm-bg) !important;
  color: var(--dm-text) !important;
}

/* ---------- typography ---------- */
:root[data-theme="dark"] h1,
:root[data-theme="dark"] h2,
:root[data-theme="dark"] h3,
:root[data-theme="dark"] h4,
:root[data-theme="dark"] h5,
:root[data-theme="dark"] h6,
:root[data-theme="dark"] .brand-name,
:root[data-theme="dark"] .product-title,
:root[data-theme="dark"] .product-title a,
:root[data-theme="dark"] .category-card-title,
:root[data-theme="dark"] .category-card-title a,
:root[data-theme="dark"] .cart-item-title,
:root[data-theme="dark"] .cart-item-title a,
:root[data-theme="dark"] .checkout-section-heading strong,
:root[data-theme="dark"] .option-card-copy b,
:root[data-theme="dark"] .pairing-copy h3,
:root[data-theme="dark"] .combo-product__copy h1,
:root[data-theme="dark"] .combo-product__copy h2,
:root[data-theme="dark"] .combo-dialog-copy h2,
:root[data-theme="dark"] .home-about__points h3,
:root[data-theme="dark"] .home-contact__details dd,
:root[data-theme="dark"] .home-review-card strong {
  color: var(--dm-text) !important;
}

:root[data-theme="dark"] p,
:root[data-theme="dark"] .muted,
:root[data-theme="dark"] .lead,
:root[data-theme="dark"] .product-description,
:root[data-theme="dark"] .brand-sub,
:root[data-theme="dark"] .option-card-copy small,
:root[data-theme="dark"] .product-note-field,
:root[data-theme="dark"] .pairing-copy p,
:root[data-theme="dark"] .combo-product__description,
:root[data-theme="dark"] .combo-dialog-copy > p,
:root[data-theme="dark"] .home-about__points p,
:root[data-theme="dark"] .home-contact__copy .lead,
:root[data-theme="dark"] .home-review-card p,
:root[data-theme="dark"] .home-reviews__heading p,
:root[data-theme="dark"] .restaurant-order-context-label,
:root[data-theme="dark"] .order-preview-item small,
:root[data-theme="dark"] .cart-item-options,
:root[data-theme="dark"] .product-meta,
:root[data-theme="dark"] .product-price-note {
  color: var(--dm-muted) !important;
}

:root[data-theme="dark"] a:not(.button):not(.cart-button):not(.header-social-link):not(.primary-nav a) {
  color: #dcecff;
}

/* ---------- base surfaces ---------- */
:root[data-theme="dark"] .site-header,
:root[data-theme="dark"] .mobile-bottom-nav,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .product-card,
:root[data-theme="dark"] .product-body,
:root[data-theme="dark"] .category-card-photo,
:root[data-theme="dark"] .category-card-copy,
:root[data-theme="dark"] .home-review-card,
:root[data-theme="dark"] .quick-view-dialog,
:root[data-theme="dark"] .quick-view-copy,
:root[data-theme="dark"] .product-customization-card,
:root[data-theme="dark"] .product-order-editor,
:root[data-theme="dark"] .product-service-facts article,
:root[data-theme="dark"] .product-price-summary,
:root[data-theme="dark"] .pairing-card,
:root[data-theme="dark"] .pairing-copy,
:root[data-theme="dark"] .cart-item,
:root[data-theme="dark"] .cart-summary,
:root[data-theme="dark"] .checkout-section,
:root[data-theme="dark"] .checkout-summary,
:root[data-theme="dark"] .checkout-choice,
:root[data-theme="dark"] .payment-choice,
:root[data-theme="dark"] .restaurant-table-card,
:root[data-theme="dark"] .restaurant-summary-table,
:root[data-theme="dark"] .restaurant-order-context-line,
:root[data-theme="dark"] .notice,
:root[data-theme="dark"] .order-preview-item,
:root[data-theme="dark"] .order-status-panel,
:root[data-theme="dark"] .home-about__points article,
:root[data-theme="dark"] .home-contact__details,
:root[data-theme="dark"] .home-contact__details > div,
:root[data-theme="dark"] .quick-info-grid,
:root[data-theme="dark"] .quick-info-card,
:root[data-theme="dark"] .menu-created-combo-card,
:root[data-theme="dark"] .combo-product,
:root[data-theme="dark"] .combo-dialog,
:root[data-theme="dark"] .combo-dialog-copy {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .product-footer,
:root[data-theme="dark"] .pairing-footer,
:root[data-theme="dark"] .cart-item-actions,
:root[data-theme="dark"] .checkout-summary-head,
:root[data-theme="dark"] .combo-dialog-copy li {
  border-color: var(--dm-border) !important;
}

/* Food photography intentionally keeps a white studio substrate. */
:root[data-theme="dark"] .product-media,
:root[data-theme="dark"] .product-media.product-card-photo,
:root[data-theme="dark"] .product-editor-media,
:root[data-theme="dark"] .product-detail-media,
:root[data-theme="dark"] .quick-view-media,
:root[data-theme="dark"] .category-photo-wrap,
:root[data-theme="dark"] .pairing-media,
:root[data-theme="dark"] .cart-item-image,
:root[data-theme="dark"] .combo-product__media {
  background: #ffffff !important;
}

/* ---------- forms / controls ---------- */
:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select {
  background-color: #0f161f !important;
  border-color: var(--dm-border-strong) !important;
  color: var(--dm-text) !important;
  caret-color: var(--dm-text) !important;
}
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
  color: var(--dm-muted-2) !important;
  opacity: 1;
}
:root[data-theme="dark"] input[type="checkbox"],
:root[data-theme="dark"] input[type="radio"] { accent-color: var(--dm-red); }

:root[data-theme="dark"] .search-wrap,
:root[data-theme="dark"] .category-tab,
:root[data-theme="dark"] .filter-chip,
:root[data-theme="dark"] .option-card,
:root[data-theme="dark"] .quantity-control,
:root[data-theme="dark"] .product-note-field textarea {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
:root[data-theme="dark"] .category-tab:hover,
:root[data-theme="dark"] .filter-chip:hover,
:root[data-theme="dark"] .option-card:hover {
  background: var(--dm-surface-3) !important;
  border-color: var(--dm-border-strong) !important;
}
:root[data-theme="dark"] .category-tab.active,
:root[data-theme="dark"] .menu-inline-filters .filter-chip:has(input:checked) {
  background: #244b72 !important;
  border-color: #3c6f9e !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] .option-card:has(input:checked),
:root[data-theme="dark"] .checkout-choice:has(input:checked),
:root[data-theme="dark"] .payment-choice:has(input:checked) {
  background: var(--dm-red-soft) !important;
  border-color: var(--dm-red) !important;
  color: var(--dm-text) !important;
}
:root[data-theme="dark"] .option-card-control {
  background: #0d141c !important;
  border-color: #607085 !important;
}
:root[data-theme="dark"] .option-card:has(input:checked) .option-card-control {
  background: var(--dm-red) !important;
  border-color: var(--dm-red) !important;
}

/* ---------- normal dark buttons ---------- */
:root[data-theme="dark"] .button:not(.button-primary):not(.product-action):not(.button-danger),
:root[data-theme="dark"] .button-secondary,
:root[data-theme="dark"] .button-ghost,
:root[data-theme="dark"] .service-header-button:not(.service-header-button--bill),
:root[data-theme="dark"] .order-status-trigger,
:root[data-theme="dark"] .menu-toggle,
:root[data-theme="dark"] .icon-button,
:root[data-theme="dark"] .dialog-close,
:root[data-theme="dark"] .menu-clear-button,
:root[data-theme="dark"] .product-back-link,
:root[data-theme="dark"] .combo-page__back,
:root[data-theme="dark"] .menu-category-arrow,
:root[data-theme="dark"] .menu-slideshow__control,
:root[data-theme="dark"] .product-scroller__button {
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
:root[data-theme="dark"] .button:not(.button-primary):not(.product-action):not(.button-danger):hover,
:root[data-theme="dark"] .button-secondary:hover,
:root[data-theme="dark"] .button-ghost:hover,
:root[data-theme="dark"] .service-header-button:not(.service-header-button--bill):hover,
:root[data-theme="dark"] .order-status-trigger:hover,
:root[data-theme="dark"] .menu-toggle:hover,
:root[data-theme="dark"] .icon-button:hover,
:root[data-theme="dark"] .dialog-close:hover,
:root[data-theme="dark"] .menu-clear-button:hover,
:root[data-theme="dark"] .product-back-link:hover,
:root[data-theme="dark"] .combo-page__back:hover,
:root[data-theme="dark"] .menu-category-arrow:hover,
:root[data-theme="dark"] .menu-slideshow__control:hover,
:root[data-theme="dark"] .product-scroller__button:hover {
  background: var(--dm-surface-3) !important;
  border-color: var(--dm-border-strong) !important;
  color: #ffffff !important;
  transform: none !important;
}

/* ---------- RED ACTION CONTRACT ----------
   Anything that is a Casa-red action in light mode remains Casa red in dark mode. */
:root[data-theme="dark"] .button-primary,
:root[data-theme="dark"] .button.button-primary,
:root[data-theme="dark"] .product-action,
:root[data-theme="dark"] .product-editor-add,
:root[data-theme="dark"] .checkout-submit,
:root[data-theme="dark"] .service-header-button--bill,
:root[data-theme="dark"] .popular-menu-link,
:root[data-theme="dark"] .home-static-hero__cta,
:root[data-theme="dark"] .combo-dialog-add,
:root[data-theme="dark"] .combo-product__add,
:root[data-theme="dark"] .menu-combo-add,
:root[data-theme="dark"] .button-danger {
  background: var(--dm-red) !important;
  border-color: var(--dm-red) !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] .button-primary:hover,
:root[data-theme="dark"] .button.button-primary:hover,
:root[data-theme="dark"] .product-action:hover,
:root[data-theme="dark"] .product-editor-add:hover,
:root[data-theme="dark"] .checkout-submit:hover,
:root[data-theme="dark"] .service-header-button--bill:hover,
:root[data-theme="dark"] .popular-menu-link:hover,
:root[data-theme="dark"] .home-static-hero__cta:hover,
:root[data-theme="dark"] .combo-dialog-add:hover,
:root[data-theme="dark"] .combo-product__add:hover,
:root[data-theme="dark"] .menu-combo-add:hover,
:root[data-theme="dark"] .button-danger:hover,
:root[data-theme="dark"] .button-primary:focus-visible,
:root[data-theme="dark"] .product-action:focus-visible,
:root[data-theme="dark"] .service-header-button--bill:focus-visible {
  background: var(--dm-red-hover) !important;
  border-color: var(--dm-red-hover) !important;
  color: #ffffff !important;
  transform: none !important;
}
:root[data-theme="dark"] .button-primary:disabled,
:root[data-theme="dark"] .product-action:disabled,
:root[data-theme="dark"] .checkout-submit:disabled {
  background: var(--dm-red) !important;
  border-color: var(--dm-red) !important;
  color: #ffffff !important;
  opacity: .48;
}

:root[data-theme="dark"] .favorite-button.active,
:root[data-theme="dark"] .favorite-product-button.active,
:root[data-theme="dark"] .product-editor-favorite.active {
  background: var(--dm-red) !important;
  border-color: var(--dm-red) !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] .tag-red,
:root[data-theme="dark"] .product-discount-badge,
:root[data-theme="dark"] .home-combo-discount,
:root[data-theme="dark"] .combo-dialog-badge,
:root[data-theme="dark"] .menu-created-combo-card__media > span:last-child {
  background: var(--dm-red) !important;
  color: #ffffff !important;
}

/* ---------- header ---------- */
:root[data-theme="dark"] .site-header {
  background: #0e151d !important;
  border-bottom-color: var(--dm-border) !important;
}
:root[data-theme="dark"] .brand-name { color: #ffffff !important; }
:root[data-theme="dark"] .primary-nav {
  background: #0f161f !important;
  border-color: var(--dm-border) !important;
}
:root[data-theme="dark"] .primary-nav a,
:root[data-theme="dark"] .home-section-nav--header a {
  color: #d5deea !important;
}
:root[data-theme="dark"] .primary-nav a:hover,
:root[data-theme="dark"] .home-section-nav--header a:hover {
  background: var(--dm-surface-3) !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] .primary-nav a[aria-current="page"] {
  background: #17426a !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] .cart-button {
  background: #123b61 !important;
  border-color: #2e628f !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] .cart-count {
  background: #ffcf3f !important;
  color: #10243e !important;
}
:root[data-theme="dark"] .header-social-link,
:root[data-theme="dark"] .theme-toggle {
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
:root[data-theme="dark"] .theme-toggle { color: var(--dm-yellow) !important; }

/* ---------- home ---------- */
:root[data-theme="dark"] .home-static-hero__shell {
  background: #10161e !important;
  border-color: var(--dm-border) !important;
}
:root[data-theme="dark"] .home-static-hero__chips span:last-child {
  background: var(--dm-blue-soft) !important;
  border-color: #31506e !important;
  color: #e6f1fc !important;
}
:root[data-theme="dark"] .home-static-hero__chips span:first-child {
  background: #5f613c !important;
  border-color: #7a7d4f !important;
  color: #ffffff !important;
}
:root[data-theme="dark"] .home-static-hero__text-link { color: #e7eef6 !important; }
:root[data-theme="dark"] .home-static-hero__mini-facts strong { color: #ffffff !important; }
:root[data-theme="dark"] .home-static-hero__mini-facts span { color: var(--dm-muted) !important; }
:root[data-theme="dark"] .home-about__points article,
:root[data-theme="dark"] .home-contact__details > div { border-color: var(--dm-border) !important; }

/* ---------- menu / slideshow ---------- */
:root[data-theme="dark"] body[data-page="menu"] .menu-slideshow,
:root[data-theme="dark"] body[data-page="menu"] .menu-slideshow__viewport,
:root[data-theme="dark"] body[data-page="menu"] .menu-slideshow__track {
  background: var(--dm-bg) !important;
}
:root[data-theme="dark"] .menu-slideshow__caption {
  background: rgba(17,24,33,.96) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
:root[data-theme="dark"] .menu-slideshow__caption strong { color: var(--dm-text) !important; }
:root[data-theme="dark"] .menu-slideshow__caption small { color: #ff8178 !important; }
:root[data-theme="dark"] .menu-slideshow__view { background: var(--dm-red) !important; color:#fff !important; }
:root[data-theme="dark"] .menu-control-zone { border-color: var(--dm-border) !important; }
:root[data-theme="dark"] .menu-created-combos { background: var(--dm-bg) !important; }
:root[data-theme="dark"] .menu-created-combo-card__media { background: #0e151c !important; }

/* ---------- product ---------- */
:root[data-theme="dark"] .product-editor-heading .lead { color: var(--dm-muted) !important; }
:root[data-theme="dark"] .product-customization-card .option-group legend,
:root[data-theme="dark"] .product-customization-card .option-group legend > span,
:root[data-theme="dark"] .product-order-editor label,
:root[data-theme="dark"] .quantity-control strong {
  color: var(--dm-text) !important;
}
:root[data-theme="dark"] .product-editor-favorite:not(.active) {
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
  color: #f0f5fb !important;
}
:root[data-theme="dark"] .product-back-link span:first-child {
  background: #17426a !important;
  color: #ffffff !important;
}

/* ---------- prices ---------- */
:root[data-theme="dark"] .price-current,
:root[data-theme="dark"] .product-footer .price-current,
:root[data-theme="dark"] .product-price-main .price-current,
:root[data-theme="dark"] .product-detail-price .price-current,
:root[data-theme="dark"] .product-unit-price .price-current,
:root[data-theme="dark"] .quick-view-footer .price-current {
  color: var(--dm-green) !important;
}
:root[data-theme="dark"] .price-old,
:root[data-theme="dark"] .price-old-highlight,
:root[data-theme="dark"] .product-price-main .price-old,
:root[data-theme="dark"] del.price-old {
  color: #ff8178 !important;
  text-decoration-color: #ff8178 !important;
}
:root[data-theme="dark"] .price-old-highlight,
:root[data-theme="dark"] .product-price-main .price-old {
  background: rgba(218,53,40,.16) !important;
}

/* ---------- cart / checkout / success ---------- */
:root[data-theme="dark"] .checkout-choice strong,
:root[data-theme="dark"] .payment-choice strong,
:root[data-theme="dark"] .restaurant-table-card strong,
:root[data-theme="dark"] .restaurant-summary-table strong,
:root[data-theme="dark"] .checkout-summary strong { color: var(--dm-text) !important; }
:root[data-theme="dark"] .checkout-choice span,
:root[data-theme="dark"] .payment-choice span,
:root[data-theme="dark"] .restaurant-summary-table span { color: var(--dm-muted) !important; }
:root[data-theme="dark"] .restaurant-table-state,
:root[data-theme="dark"] .restaurant-order-context-line .restaurant-table-state {
  background: #2c2614 !important;
  color: var(--dm-yellow) !important;
}
:root[data-theme="dark"] .restaurant-table-card.is-assigned,
:root[data-theme="dark"] .restaurant-order-context-line.is-assigned {
  background: #12251a !important;
  border-color: #315b3d !important;
}
:root[data-theme="dark"] .restaurant-table-card.is-assigned .restaurant-table-state,
:root[data-theme="dark"] .restaurant-order-context-line.is-assigned .restaurant-table-state {
  background: #193722 !important;
  color: #a8e6b6 !important;
}

/* ---------- combo UI ---------- */
:root[data-theme="dark"] .today-combos-section { background: var(--dm-bg) !important; border-color: var(--dm-border) !important; }
:root[data-theme="dark"] .home-combo-card,
:root[data-theme="dark"] .menu-combo-main,
:root[data-theme="dark"] .menu-combo-empty {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
:root[data-theme="dark"] .home-combo-copy > p,
:root[data-theme="dark"] .menu-combo-copy p,
:root[data-theme="dark"] .combo-dialog-copy > p { color: var(--dm-muted) !important; }
:root[data-theme="dark"] .home-combo-components span,
:root[data-theme="dark"] .menu-combo-items span {
  background: var(--dm-blue-soft) !important;
  border-color: #31506e !important;
  color: #dcecff !important;
}
:root[data-theme="dark"] .menu-combo-view { color: #dcecff !important; }
:root[data-theme="dark"] .menu-combo-saving {
  background: rgba(17,24,33,.94) !important;
  color: var(--dm-text) !important;
  border: 1px solid var(--dm-border) !important;
}
:root[data-theme="dark"] .combo-dialog-close {
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
:root[data-theme="dark"] .combo-dialog-price span { color: var(--dm-green) !important; }

/* ---------- status / service widgets ---------- */
:root[data-theme="dark"] .design-service-tools,
:root[data-theme="dark"] .order-status-widget {
  background: rgba(17,24,33,.96) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
:root[data-theme="dark"] .order-status-steps span { background: #2b3745 !important; }
:root[data-theme="dark"] .order-status-steps span.active { background: var(--dm-red) !important; }

/* ---------- focus visibility ---------- */
:root[data-theme="dark"] :focus-visible {
  outline-color: var(--dm-focus) !important;
}

/* The footer is intentionally darker than the page, but all copy stays readable. */
:root[data-theme="dark"] .site-footer,
:root[data-theme="dark"] .home-footer {
  background: #070b10 !important;
  color: #cbd6e2 !important;
  border-color: #202c39 !important;
}
:root[data-theme="dark"] .site-footer a,
:root[data-theme="dark"] .site-footer h3,
:root[data-theme="dark"] .site-footer .brand-name,
:root[data-theme="dark"] .home-footer a,
:root[data-theme="dark"] .home-footer h3,
:root[data-theme="dark"] .home-footer .brand-name {
  color: #ffffff !important;
}
:root[data-theme="dark"] .site-footer p,
:root[data-theme="dark"] .home-footer p,
:root[data-theme="dark"] .home-footer__bottom { color: #aebac8 !important; }


/* PHASE28_DARK_PRODUCT_IMAGE_LOCKED_CROSSFADE
   The light and dark photo layers occupy one identical fixed image box.
   Neither layer participates independently in layout, so a theme toggle can
   only cross-fade opacity; it cannot move or resize the card media. */
.product-theme-image-stack {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
}
.product-theme-image-stack .product-theme-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  opacity: 1;
  transition: opacity 360ms ease;
}
.product-theme-image-stack .product-theme-image--dark {
  opacity: 0;
}
:root[data-theme="dark"] .product-card.has-dark-product-image .product-media,
:root[data-theme="dark"] .product-card.has-dark-product-image .product-media.product-card-photo {
  background: #000 !important;
}
:root[data-theme="dark"] .product-card.has-dark-product-image .product-theme-image--light {
  opacity: 0;
}
:root[data-theme="dark"] .product-card.has-dark-product-image .product-theme-image--dark {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .product-theme-image-stack .product-theme-image { transition: none; }
}


/* HOTFIX26 — dark-mode combo artwork.
   Light and dark combo assets share one locked stage and cross-fade only by opacity. */
.combo-theme-image-stack,
.combo-theme-picture-stack,
.menu-slideshow-theme-stack {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.combo-theme-image-stack .combo-theme-image,
.combo-theme-picture-stack .combo-theme-picture,
.menu-slideshow-theme-stack .menu-slideshow-theme-picture {
  opacity: 1;
  transition: opacity 360ms ease;
}
.combo-theme-image-stack .combo-theme-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}
.combo-theme-picture-stack .combo-theme-picture,
.menu-slideshow-theme-stack .menu-slideshow-theme-picture {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.combo-theme-image-stack .combo-theme-image--dark,
.combo-theme-picture-stack .combo-theme-picture--dark,
.menu-slideshow-theme-stack .menu-slideshow-theme-picture--dark {
  opacity: 0;
}
:root[data-theme="dark"] .has-dark-combo-image .combo-theme-image--light,
:root[data-theme="dark"] .has-dark-combo-image .combo-theme-picture--light,
:root[data-theme="dark"] .has-dark-combo-image .menu-slideshow-theme-picture--light {
  opacity: 0;
}
:root[data-theme="dark"] .has-dark-combo-image .combo-theme-image--dark,
:root[data-theme="dark"] .has-dark-combo-image .combo-theme-picture--dark,
:root[data-theme="dark"] .has-dark-combo-image .menu-slideshow-theme-picture--dark {
  opacity: 1;
}
:root[data-theme="dark"] .combo-product__media:has(.has-dark-combo-image),
:root[data-theme="dark"] .menu-created-combo-card__media:has(.has-dark-combo-image),
:root[data-theme="dark"] .home-combo-art:has(.has-dark-combo-image),
:root[data-theme="dark"] .combo-dialog-art:has(.has-dark-combo-image),
:root[data-theme="dark"] .cart-item-image:has(.has-dark-combo-image) {
  background: #000 !important;
}
@media (prefers-reduced-motion: reduce) {
  .combo-theme-image-stack .combo-theme-image,
  .combo-theme-picture-stack .combo-theme-picture,
  .menu-slideshow-theme-stack .menu-slideshow-theme-picture {
    transition: none;
  }
}

/* Operations hotfix: dark-mode surfaces that must never inherit light/navy tokens. */
:root[data-theme="dark"] .page-hero{background:#0d1b2a!important;color:#fff!important;border-color:var(--dm-border)!important}
:root[data-theme="dark"] .page-hero h1,:root[data-theme="dark"] .page-hero h2{color:#fff!important}
:root[data-theme="dark"] .page-hero .lead{color:#c2cfdd!important}
:root[data-theme="dark"] .checkout-choice,:root[data-theme="dark"] .checkout-summary,:root[data-theme="dark"] .cart-summary,:root[data-theme="dark"] .cart-item{background:var(--dm-surface)!important;border-color:var(--dm-border)!important;color:var(--dm-text)!important}
:root[data-theme="dark"] .checkout-choice strong,:root[data-theme="dark"] .cart-item strong{color:var(--dm-text)!important}
