/* Casa Pizza HOTFIX73 — cart/checkout/footer feedback and success timeline */

/* Make cart feedback readable even when it appears over the dark footer. */
.toast,
.design-system-toast {
  z-index: 3600 !important;
  background: #1467a8 !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.94);
  box-shadow: 0 14px 34px rgba(0,0,0,.26);
}
.toast.error,.design-system-toast.error,.toast[data-toast-level="error"],.design-system-toast[data-toast-level="error"] {
  background: var(--red, #da3528) !important;
}

/* Every direct add-to-cart action gets a short tactile visual response. */
.is-cart-add-feedback {
  animation: casa73-add-button .56s ease both;
}
.is-cart-add-feedback-card {
  animation: casa73-add-card .56s ease both;
}
@keyframes casa73-add-button {
  0% { transform: scale(1); }
  38% { transform: scale(.94); }
  68% { transform: scale(1.045); }
  100% { transform: scale(1); }
}
@keyframes casa73-add-card {
  0% { transform: translateY(0); }
  42% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}

/* Pizza slices use the same +/- control language as every other cart line. */
.pizza-cart-slice-control output {
  min-width: 34px;
  text-align: center;
}

/* Keep the success timeline geometry fixed when a row becomes current. */
.timeline-item.is-current {
  position: relative;
  padding: 0 0 22px !important;
  background: transparent !important;
  border-radius: 13px;
  isolation: isolate;
}
.timeline-item.is-current::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: -12px;
  right: -12px;
  top: -10px;
  bottom: 12px;
  border-radius: 13px;
  background: var(--surface-blue);
}
.timeline-item.is-current .timeline-dot,
.timeline-item.is-current > div {
  position: relative;
  z-index: 1;
}

/* The shared public schedule panel is used by both pickup and delivery. */
[data-public-schedule][hidden],
[data-delivery-fee-row][hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  .is-cart-add-feedback,
  .is-cart-add-feedback-card { animation: none !important; }
}


/* CASA Pizza HOTFIX74 — supplied theme icons + strong universal cart feedback */
.theme-toggle-icon {
  display: block;
  width: 25px;
  height: 25px;
  object-fit: contain;
  pointer-events: none;
}
:root[data-theme="dark"] .theme-toggle-icon { width: 26px; height: 26px; }

.is-cart-add-feedback-visual {
  animation: casa74-add-visual .72s cubic-bezier(.2,.82,.24,1) both;
  transform-origin: center;
}
@keyframes casa74-add-visual {
  0% { transform: scale(1); }
  34% { transform: scale(.965); }
  62% { transform: scale(1.035); }
  100% { transform: scale(1); }
}
.cart-button.is-cart-pulse {
  animation: casa74-cart-pulse .72s ease both;
}
@keyframes casa74-cart-pulse {
  0%,100% { transform: scale(1); }
  42% { transform: scale(1.08); }
  70% { transform: scale(.98); }
}
@media (prefers-reduced-motion: reduce) {
  .is-cart-add-feedback-visual,
  .cart-button.is-cart-pulse { animation: none !important; }
}


/* CASA Pizza HOTFIX75 — optical centering for the supplied moon/sun artwork. */
.icon-button.theme-toggle[data-theme-toggle] {
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  overflow: hidden;
}
.icon-button.theme-toggle[data-theme-toggle] .theme-toggle-icon {
  position: relative;
  inset: auto;
  margin: 0 !important;
  transform-origin: center;
}
.icon-button.theme-toggle[data-theme-toggle] .theme-toggle-icon[src$="theme-moon.png"] {
  transform: translate(-2px, 1px);
}
.icon-button.theme-toggle[data-theme-toggle] .theme-toggle-icon[src$="theme-sun.png"] {
  transform: translate(-3px, .5px);
}


/* CASA Pizza HOTFIX76 — source-matched square theme icons; true geometric centering. */
.icon-button.theme-toggle[data-theme-toggle] .theme-toggle-icon {
  transform: none !important;
  object-position: 50% 50%;
}
