/* Weekly Specials block. Self-contained: all rules scoped under .ws-block. */
.ws-block { --ws-orange: var(--sj-amber, #C8852C); --ws-panel: #1E1B18; --ws-light: #E9E2D2; margin: 0 auto; }
.ws-block .ws-header { text-align: center; margin: 0 0 1.25rem; }
.ws-block .ws-header img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0 auto; }
.ws-block .ws-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; align-items: stretch; }
@media (min-width: 768px) { .ws-block .ws-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } }
@media (min-width: 1200px) { .ws-block .ws-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.75rem; } }
.ws-block .ws-card { display: flex; flex-direction: column; margin: 0; padding: 0; min-width: 0; background: var(--ws-panel); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25); }
.ws-block .ws-tab { background: var(--ws-orange); color: #1E1B18; font-family: var(--sj-font-heading, "Zilla Slab", serif); font-weight: 700; font-size: 1.125rem; letter-spacing: 0.08em; text-align: center; text-transform: uppercase; padding: 0.35rem 0.5rem; line-height: 1.2; }
.ws-block .ws-photo { aspect-ratio: 4 / 3; overflow: hidden; background: #3a3530; }
.ws-block .ws-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ws-block .ws-panel { flex: 1 1 auto; padding: 0.75rem 0.75rem 0.9rem; text-align: center; color: var(--ws-light); }
.ws-block .ws-card .ws-panel .ws-title { margin: 0; font-family: var(--sj-font-heading, "Zilla Slab", serif); font-weight: 700; font-size: 1.125rem; line-height: 1.2; color: #fff !important; overflow-wrap: break-word; hyphens: manual; }
.ws-block .ws-rule { width: 2.5rem; height: 3px; margin: 0.55rem auto; border: 0; opacity: 1; background: var(--ws-orange); }
.ws-block .ws-card .ws-panel .ws-desc { margin: 0; font-size: 0.9rem; line-height: 1.4; color: var(--ws-light) !important; overflow-wrap: break-word; }


