/*
 * Local Pickups: the markets calendar on a page (0.6.0). Lays it out and takes its colours from the page: the text's
 * own colour, and the theme's primary colour where it has one. A theme that draws it itself answers the filter
 * 'local_pickups_calendar_styles' with false.
 */
.local-pickups-calendar {
	/* A theme says its accent once, anywhere: :root { --local-pickups-accent: … }. Else its primary colour, else the text's. */
	--lpc-accent: var(--local-pickups-accent, var(--wp--preset--color--primary, currentColor));
	--lpc-line: color-mix(in srgb, currentColor 14%, transparent);
	margin: 1.5em 0;
}
.local-pickups-calendar__nav { display: flex; align-items: center; justify-content: space-between; gap: 1em; margin-bottom: .75em; }
.local-pickups-calendar__month { margin: 0; font-size: 1.25em; font-weight: 700; text-align: center; }
.local-pickups-calendar__nav a { padding: .4em .9em; border: 1px solid var(--lpc-line); border-radius: 999px; text-decoration: none; white-space: nowrap; }
.local-pickups-calendar__nav a:hover, .local-pickups-calendar__nav a:focus-visible { border-color: currentColor; }
.local-pickups-calendar__grid { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 0; }
.local-pickups-calendar__grid th { padding: .5em 0; font-size: .75em; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; opacity: .7; text-align: center; border: 0; }
.local-pickups-calendar__grid td { height: 5.5em; padding: .4em; vertical-align: top; border: 1px solid var(--lpc-line); }
.local-pickups-calendar__grid td.is-other { opacity: .35; }
.local-pickups-calendar__num { font-size: .8em; font-weight: 600; }
.local-pickups-calendar__grid td.is-today .local-pickups-calendar__num { display: inline-block; min-width: 1.8em; padding: .05em .4em; border-radius: 1em; background: var(--lpc-accent); color: #fff; text-align: center; }
.local-pickups-calendar__market { display: block; margin-top: .3em; padding: .25em .45em; border-radius: .35em; font-size: .8em; line-height: 1.25; background: color-mix(in srgb, var(--lpc-accent) 14%, transparent); border-left: 3px solid var(--lpc-accent); overflow-wrap: anywhere; }
.local-pickups-calendar__list { list-style: none; margin: 1.25em 0 0; padding: 0; }
.local-pickups-calendar__list li { display: flex; gap: 1em; padding: .65em 0; border-bottom: 1px solid var(--lpc-line); }
.local-pickups-calendar__list time { flex: 0 0 6.5em; font-weight: 700; }
.local-pickups-calendar__words { display: flex; flex-direction: column; min-width: 0; }
.local-pickups-calendar__name { font-weight: 600; }
.local-pickups-calendar__where { opacity: .8; font-size: .92em; }
@media (max-width: 640px) {
	.local-pickups-calendar__grid { display: none; }
	.local-pickups-calendar__list { margin-top: .5em; }
}
/* list="small" (0.6.1): the month's list only where the grid gives way to it. */
@media (min-width: 641px) {
	.local-pickups-calendar--list-small .local-pickups-calendar__list { display: none; }
}
