/*
 * Lunch Västerås: behaviour state only. All visual styling lives in Bricks global classes
 * (lunch*, lunch-card*, dish*); this file only shows and hides.
 */

/* Set by lunch.js */
[data-lv-restaurant].is-hidden,
[data-lv-dish].is-hidden,
[data-lv-empty].is-hidden,
[data-lv-none][hidden],
[data-lv-group][hidden],
[data-lv-dish].is-collapsed,
[data-lv-group].is-collapsed,
[data-lv-more][hidden],
[data-lv-more] [hidden] {
	display: none !important;
}

/* Before lunch.js has run: show only the initial day (set in <head> from the hash or the default
   day), so the first paint already matches what the script will show. */
html[data-lv-initial-day="mon"]:not(.lv-ready) [data-lv-dish]:not([data-days~="mon"]):not([data-kind="veckans"]),
html[data-lv-initial-day="mon"]:not(.lv-ready) [data-lunch-days]:not([data-lunch-days=""]):not([data-lunch-days~="mon"]) [data-kind="veckans"],
html[data-lv-initial-day="mon"]:not(.lv-ready) [data-lv-empty-day]:not([data-lv-empty-day="mon"]),
html[data-lv-initial-day="tue"]:not(.lv-ready) [data-lv-dish]:not([data-days~="tue"]):not([data-kind="veckans"]),
html[data-lv-initial-day="tue"]:not(.lv-ready) [data-lunch-days]:not([data-lunch-days=""]):not([data-lunch-days~="tue"]) [data-kind="veckans"],
html[data-lv-initial-day="tue"]:not(.lv-ready) [data-lv-empty-day]:not([data-lv-empty-day="tue"]),
html[data-lv-initial-day="wed"]:not(.lv-ready) [data-lv-dish]:not([data-days~="wed"]):not([data-kind="veckans"]),
html[data-lv-initial-day="wed"]:not(.lv-ready) [data-lunch-days]:not([data-lunch-days=""]):not([data-lunch-days~="wed"]) [data-kind="veckans"],
html[data-lv-initial-day="wed"]:not(.lv-ready) [data-lv-empty-day]:not([data-lv-empty-day="wed"]),
html[data-lv-initial-day="thu"]:not(.lv-ready) [data-lv-dish]:not([data-days~="thu"]):not([data-kind="veckans"]),
html[data-lv-initial-day="thu"]:not(.lv-ready) [data-lunch-days]:not([data-lunch-days=""]):not([data-lunch-days~="thu"]) [data-kind="veckans"],
html[data-lv-initial-day="thu"]:not(.lv-ready) [data-lv-empty-day]:not([data-lv-empty-day="thu"]),
html[data-lv-initial-day="fri"]:not(.lv-ready) [data-lv-dish]:not([data-days~="fri"]):not([data-kind="veckans"]),
html[data-lv-initial-day="fri"]:not(.lv-ready) [data-lunch-days]:not([data-lunch-days=""]):not([data-lunch-days~="fri"]) [data-kind="veckans"],
html[data-lv-initial-day="fri"]:not(.lv-ready) [data-lv-empty-day]:not([data-lv-empty-day="fri"]),
html:not(.lv-ready) [data-lv-empty]:empty {
	display: none !important;
}

/* No fade on the server-selected tab while the page loads. */
html:not(.lv-ready) .lunch__tab,
html:not(.lv-ready) .lunch__filter {
	transition: none !important;
}

/* Before lunch.js has run the server marks the default day's tab as selected. When the hash picks
   another day, show that tab as selected and the default one as not, so tab and list agree. */
html[data-lv-initial-day="mon"]:not(.lv-ready) .lunch__tab[data-lv-day="mon"],
html[data-lv-initial-day="tue"]:not(.lv-ready) .lunch__tab[data-lv-day="tue"],
html[data-lv-initial-day="wed"]:not(.lv-ready) .lunch__tab[data-lv-day="wed"],
html[data-lv-initial-day="thu"]:not(.lv-ready) .lunch__tab[data-lv-day="thu"],
html[data-lv-initial-day="fri"]:not(.lv-ready) .lunch__tab[data-lv-day="fri"] {
	background-color: var(--color-accent-strong);
	color: var(--white);
	font-weight: 800;
}
html[data-lv-initial-day="mon"]:not(.lv-ready) .lunch__tab[aria-selected="true"]:not([data-lv-day="mon"]),
html[data-lv-initial-day="tue"]:not(.lv-ready) .lunch__tab[aria-selected="true"]:not([data-lv-day="tue"]),
html[data-lv-initial-day="wed"]:not(.lv-ready) .lunch__tab[aria-selected="true"]:not([data-lv-day="wed"]),
html[data-lv-initial-day="thu"]:not(.lv-ready) .lunch__tab[aria-selected="true"]:not([data-lv-day="thu"]),
html[data-lv-initial-day="fri"]:not(.lv-ready) .lunch__tab[aria-selected="true"]:not([data-lv-day="fri"]) {
	background-color: transparent;
	color: var(--color-text);
	font-weight: 700;
}

/* Before lunch.js has run: the "Idag" label shows when the card has dagens dishes on the initial day, the
   "Hela veckan" label when it has weekly dishes that day (flush to the top when there are no dagens);
   both are server-rendered in place, so lunch.js only confirms them. The fold rules above win over
   the weekly label (more specific). */
html[data-lv-initial-day="mon"]:not(.lv-ready) [data-lv-restaurant]:has([data-kind="dagens"][data-days~="mon"]) [data-lv-group="dagens"],
html[data-lv-initial-day="tue"]:not(.lv-ready) [data-lv-restaurant]:has([data-kind="dagens"][data-days~="tue"]) [data-lv-group="dagens"],
html[data-lv-initial-day="wed"]:not(.lv-ready) [data-lv-restaurant]:has([data-kind="dagens"][data-days~="wed"]) [data-lv-group="dagens"],
html[data-lv-initial-day="thu"]:not(.lv-ready) [data-lv-restaurant]:has([data-kind="dagens"][data-days~="thu"]) [data-lv-group="dagens"],
html[data-lv-initial-day="fri"]:not(.lv-ready) [data-lv-restaurant]:has([data-kind="dagens"][data-days~="fri"]) [data-lv-group="dagens"],
html[data-lv-initial-day="mon"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="mon"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="mon"])) [data-lv-group="veckans"],
html[data-lv-initial-day="tue"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="tue"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="tue"])) [data-lv-group="veckans"],
html[data-lv-initial-day="wed"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="wed"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="wed"])) [data-lv-group="veckans"],
html[data-lv-initial-day="thu"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="thu"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="thu"])) [data-lv-group="veckans"],
html[data-lv-initial-day="fri"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="fri"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="fri"])) [data-lv-group="veckans"] {
	display: block !important;
}
html[data-lv-initial-day="mon"]:not(.lv-ready) [data-lv-restaurant]:not(:has([data-kind="dagens"][data-days~="mon"])) [data-lv-group="veckans"],
html[data-lv-initial-day="tue"]:not(.lv-ready) [data-lv-restaurant]:not(:has([data-kind="dagens"][data-days~="tue"])) [data-lv-group="veckans"],
html[data-lv-initial-day="wed"]:not(.lv-ready) [data-lv-restaurant]:not(:has([data-kind="dagens"][data-days~="wed"])) [data-lv-group="veckans"],
html[data-lv-initial-day="thu"]:not(.lv-ready) [data-lv-restaurant]:not(:has([data-kind="dagens"][data-days~="thu"])) [data-lv-group="veckans"],
html[data-lv-initial-day="fri"]:not(.lv-ready) [data-lv-restaurant]:not(:has([data-kind="dagens"][data-days~="fri"])) [data-lv-group="veckans"] {
	margin-top: 0;
}

/* Before lunch.js has run: a card with both the day's dishes and at least three weekly dishes (lunch.js
   COLLAPSE_MIN) starts with the weekly dishes and their label hidden and the space of the weekly band
   reserved (the band is server-rendered right before the weekly dishes, where lunch.js shows it), so
   nothing jumps when the script fills in the summary. */
html[data-lv-initial-day="mon"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="mon"]):has([data-kind="dagens"][data-days~="mon"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="mon"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="mon"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="mon"])) [data-kind="veckans"]:is([data-days=""], [data-days~="mon"]),
html[data-lv-initial-day="mon"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="mon"]):has([data-kind="dagens"][data-days~="mon"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="mon"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="mon"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="mon"])) [data-lv-group="veckans"],
html[data-lv-initial-day="tue"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="tue"]):has([data-kind="dagens"][data-days~="tue"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="tue"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="tue"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="tue"])) [data-kind="veckans"]:is([data-days=""], [data-days~="tue"]),
html[data-lv-initial-day="tue"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="tue"]):has([data-kind="dagens"][data-days~="tue"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="tue"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="tue"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="tue"])) [data-lv-group="veckans"],
html[data-lv-initial-day="wed"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="wed"]):has([data-kind="dagens"][data-days~="wed"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="wed"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="wed"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="wed"])) [data-kind="veckans"]:is([data-days=""], [data-days~="wed"]),
html[data-lv-initial-day="wed"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="wed"]):has([data-kind="dagens"][data-days~="wed"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="wed"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="wed"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="wed"])) [data-lv-group="veckans"],
html[data-lv-initial-day="thu"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="thu"]):has([data-kind="dagens"][data-days~="thu"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="thu"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="thu"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="thu"])) [data-kind="veckans"]:is([data-days=""], [data-days~="thu"]),
html[data-lv-initial-day="thu"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="thu"]):has([data-kind="dagens"][data-days~="thu"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="thu"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="thu"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="thu"])) [data-lv-group="veckans"],
html[data-lv-initial-day="fri"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="fri"]):has([data-kind="dagens"][data-days~="fri"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="fri"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="fri"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="fri"])) [data-kind="veckans"]:is([data-days=""], [data-days~="fri"]),
html[data-lv-initial-day="fri"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="fri"]):has([data-kind="dagens"][data-days~="fri"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="fri"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="fri"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="fri"])) [data-lv-group="veckans"] {
	display: none !important;
}
html[data-lv-initial-day="mon"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="mon"]):has([data-kind="dagens"][data-days~="mon"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="mon"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="mon"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="mon"])) [data-lv-more],
html[data-lv-initial-day="tue"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="tue"]):has([data-kind="dagens"][data-days~="tue"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="tue"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="tue"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="tue"])) [data-lv-more],
html[data-lv-initial-day="wed"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="wed"]):has([data-kind="dagens"][data-days~="wed"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="wed"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="wed"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="wed"])) [data-lv-more],
html[data-lv-initial-day="thu"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="thu"]):has([data-kind="dagens"][data-days~="thu"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="thu"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="thu"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="thu"])) [data-lv-more],
html[data-lv-initial-day="fri"]:not(.lv-ready) [data-lv-restaurant]:is([data-lunch-days=""], [data-lunch-days~="fri"]):has([data-kind="dagens"][data-days~="fri"]):has([data-kind="veckans"]:is([data-days=""], [data-days~="fri"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="fri"]) ~ [data-kind="veckans"]:is([data-days=""], [data-days~="fri"])) [data-lv-more] {
	display: flex !important;
	visibility: hidden;
}
