/* All styles are scoped to the dining component. */
.weekly-dining-menu { font-family: inherit; color: #252525; container-type: inline-size; }
.weekly-dining-menu *, .weekly-dining-menu *::before, .weekly-dining-menu *::after { box-sizing: border-box; }
.weekly-dining-menu .menu-days { display: grid; grid-template-columns: 1fr; gap: .75rem; }
.weekly-dining-menu .menu-day { border: 1px solid #d5d5d5; border-radius: .7rem; background: #fff; min-width: 0; overflow: hidden; }
.weekly-dining-menu .menu-day > summary { padding: 1rem 1.1rem; font-weight: 700; font-size: 1.15rem; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: .5rem; background: #f6f6f6; }
.weekly-dining-menu .menu-day > summary::-webkit-details-marker { display: none; }
.weekly-dining-menu .menu-day > summary::after { content: ''; width: .6rem; height: .6rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s ease; flex: none; }
.weekly-dining-menu .menu-day[open] > summary::after { transform: rotate(225deg); }
.weekly-dining-menu .menu-day > summary:focus-visible { outline: 3px solid #005fcc; outline-offset: -4px; }
.weekly-dining-menu .menu-content { padding: .2rem 1.1rem .5rem; }
/* Closed days must remain hidden in the one-column layout, even with CMS styles. */
.weekly-dining-menu .menu-day:not([open]) > .menu-content { display: none !important; }
.weekly-dining-menu .menu-category { padding: .85rem 0; border-bottom: 1px solid #e5e5e5; }
.weekly-dining-menu .menu-category:last-child { border-bottom: 0; }
.weekly-dining-menu .menu-category h3 { font-size: 1rem; line-height: 1.35; margin: 0 0 .45rem; font-weight: 700; color: #222; }
.weekly-dining-menu .menu-category ul { list-style: none; margin: 0; padding: 0; line-height: 1.5; }
.weekly-dining-menu .menu-category li { margin: 0 0 .2rem; overflow-wrap: anywhere; }
.weekly-dining-menu .menu-closed { margin: 0; color: #686868; font-style: italic; }
.weekly-dining-menu .menu-empty { margin: 0; color: #686868; }
/* At wide component widths, each day is an always-visible column. */
@container (min-width: 1100px) {
  .weekly-dining-menu .menu-days { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch; }
  .weekly-dining-menu .menu-day > summary { cursor: default; pointer-events: none; }
  .weekly-dining-menu .menu-day > summary::after { display: none; }
  .weekly-dining-menu .menu-day > .menu-content { display: block !important; }
  /* Matching category heights are calculated by the script below. */

}
@media (prefers-reduced-motion: reduce) { .weekly-dining-menu .menu-day > summary::after { transition: none; } }



 @media screen and (max-width: 767px) {
	 .container-m {
		 position: relative;
		 top: 0px !important;
	}
}