/* ============================================================
   SIPO live-data styles — Kiwi Halal Meats
   Only two things are dynamic on this site:
     1. the live open/closed status in the top bar
     2. the opening-hours list in the footer
   Everything here is scoped so it inherits the site palette.
   ============================================================ */

/* ---------- Live status segment ---------- */
.status-live {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-weight: 600;
}
.status-live__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #46d17f;                 /* default: open (green) */
  box-shadow: 0 0 0 0 rgba(70, 209, 127, .55);
  flex: none;
}
.status-live.is-open .status-live__dot {
  background: #46d17f;
  animation: statusPulse 2.4s ease-out infinite;
}
.status-live.is-closed .status-live__dot {
  background: #ff6b6b;
  box-shadow: none;
  animation: none;
}
.status-live__text { color: var(--cream); }
.status-live.is-closed .status-live__text { color: #ffd0d0; }
.status-live__sub { opacity: .8; font-weight: 500; }

@keyframes statusPulse {
  0%   { box-shadow: 0 0 0 0 rgba(70, 209, 127, .5); }
  70%  { box-shadow: 0 0 0 6px rgba(70, 209, 127, 0); }
  100% { box-shadow: 0 0 0 0 rgba(70, 209, 127, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .status-live__dot { animation: none !important; }
}

/* ---------- Footer opening-hours list ---------- */
.hours-list {
  list-style: none;
  margin: .45rem 0 0;
  padding: 0;
}
.hours-list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .18rem 0;
  font-size: .9rem;
  color: rgba(246, 241, 228, .75);
}
.hours-list .hours-day { font-weight: 500; }
.hours-list .hours-time { text-align: right; }
.hours-list .hours-time.is-closed { color: rgba(246, 241, 228, .45); }
.hours-list li.is-today {
  color: var(--cream);
  font-weight: 600;
}
.hours-list li.is-today .hours-day,
.hours-list li.is-today .hours-time { color: var(--gold); }
