/* Scoped styles; the host theme can override the custom properties. */
.nse-schedule {
  --nse-bg: #ffffff;
  --nse-text: #142b28;
  --nse-muted: #4c625d;
  --nse-border: #d5e1db;
  --nse-open: #117351;
  --nse-preopen: #8a5706;
  --nse-closed: #52655f;
  --nse-unknown: #754f23;
  box-sizing: border-box;
  background: var(--nse-bg);
  color: var(--nse-text);
  border: 1px solid var(--nse-border);
  border-radius: 16px;
  padding: clamp(18px, 3vw, 28px);
  font-family: inherit;
  font-size: 0.9375rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.nse-schedule *, .nse-schedule *::before, .nse-schedule *::after { box-sizing: inherit; }
.nse-schedule [hidden] { display: none !important; }
.nse-schedule p { margin: 0; }
.nse-schedule__eyebrow { color: var(--nse-muted); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.025em; }
.nse-schedule__status-row { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.nse-schedule__dot { flex: 0 0 9px; height: 9px; border-radius: 50%; background: var(--nse-unknown); }
.nse-schedule__status { font-size: 1.125rem; font-weight: 700; line-height: 1.5; }
.nse-schedule[data-nse-state="scheduled-open"] .nse-schedule__dot { background: var(--nse-open); }
.nse-schedule[data-nse-state="scheduled-preopen"] .nse-schedule__dot { background: var(--nse-preopen); }
.nse-schedule[data-nse-state="scheduled-closed"] .nse-schedule__dot { background: var(--nse-closed); }
.nse-schedule .nse-schedule__detail { margin-top: 10px; }
.nse-schedule .nse-schedule__next { margin-top: 6px; font-weight: 600; }
.nse-schedule .nse-schedule__hours { margin-top: 12px; color: var(--nse-muted); font-size: 0.8125rem; }
.nse-schedule .nse-schedule__warning { margin-top: 12px; padding: 10px 12px; border: 1px solid #c49c59; border-radius: 6px; background: #fff7e9; color: #664715; font-size: 0.8125rem; }
.nse-schedule .nse-schedule__meta { margin-top: 8px; color: var(--nse-muted); font-size: 0.75rem; }
.nse-schedule .nse-schedule__limitation { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--nse-border); color: var(--nse-muted); font-size: 0.75rem; }
.nse-schedule a { color: inherit; text-decoration: underline; text-underline-offset: 0.18em; }
.nse-schedule a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 2px; }
@media (forced-colors: active) { .nse-schedule__dot { background: CanvasText !important; } }
