/* Open / closed lines and closure notices filled in by js/store-hours.js (2026-10-13). Navy pages, cream text. */
.hours-state::before { content: ''; display: inline-block; width: 0.55em; height: 0.55em; border-radius: 50%; margin-right: 0.45em; vertical-align: 0.08em; }
.hours-state.is-open::before { background: #7fd18b; }
.hours-state.is-closed::before { background: #e8a0a0; }
.now { margin: -0.5rem 0 1rem; font-size: 0.95rem; }
.closures, .hours-notices { list-style: none; padding: 0.6rem 1rem; margin: 0 0 1.5rem; border-left: 3px solid #e3b65a; background: rgba(244, 242, 236, 0.07); }
.closures li + li, .hours-notices li + li { margin-top: 0.25rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Home page: one line per store at the foot of the doorway */
#storeStatus { font-size: max(12px, 1.9cqw); }
#storeStatus .hours-row { margin: 0.15em 0; }
#storeStatus .hours-state { display: inline-block; }
#storeStatus .hours-store { text-transform: uppercase; letter-spacing: 0.14em; opacity: 0.85; margin-right: 0.6em; }
#storeStatus .hours-row.is-open .hours-state::before { background: #7fd18b; }
#storeStatus .hours-row.is-closed .hours-state::before { background: #e8a0a0; }
#storeStatus .hours-state::before { content: ''; display: inline-block; width: 0.55em; height: 0.55em; border-radius: 50%; margin-right: 0.45em; vertical-align: 0.08em; }
#storeStatus .hours-notices { display: inline-block; text-align: left; margin: 0.6em 0 0; font-size: 0.95em; }
