/* LOPL Hours grid. Brand green #006C5B; override via --lopl-hours-* on a parent. */
.lopl-hours {
	--lopl-hours-accent: #006c5b;
	--lopl-hours-border: #dcdcdc;
	--lopl-hours-today: #efefef;
	--lopl-hours-muted: #5f6368;
	font-size: 0.875rem;
	line-height: 1.35;
	margin: 0 0 1.5em;
	transition: opacity 0.15s;
}
.lopl-hours.is-loading { opacity: 0.5; pointer-events: none; }

.lopl-hours__nav {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-bottom: 0.5rem;
}
.lopl-hours__btn {
	background: #fff;
	border: 1px solid var(--lopl-hours-border);
	border-radius: 4px;
	color: #222;
	cursor: pointer;
	font: inherit;
	padding: 0.35rem 0.75rem;
}
.lopl-hours__btn:hover:not([disabled]),
.lopl-hours__btn:focus-visible { border-color: var(--lopl-hours-accent); color: var(--lopl-hours-accent); }
.lopl-hours__btn[disabled] { opacity: 0.4; cursor: default; }
.lopl-hours__range { font-weight: 600; margin: 0 0.25rem; }
.lopl-hours__stale { color: var(--lopl-hours-muted); font-style: italic; margin: 0 0 0.5rem; }

.lopl-hours__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.lopl-hours__table {
	border-collapse: collapse;
	min-width: 760px;
	width: 100%;
	margin: 0;
}
.lopl-hours__table th,
.lopl-hours__table td {
	border: 0;
	border-bottom: 1px solid var(--lopl-hours-border);
	padding: 0.5rem 0.4rem;
	text-align: left;
	vertical-align: top;
}
.lopl-hours__table thead th { background: #f7f7f7; font-weight: 600; white-space: nowrap; }
.lopl-hours__date { display: block; color: var(--lopl-hours-muted); font-weight: 400; font-size: 0.8em; }
.lopl-hours__dow { display: block; }

/* Sticky location column so names stay visible while scrolling on phones. */
.lopl-hours__loc-h,
.lopl-hours__loc { position: sticky; left: 0; z-index: 1; background: #fff; min-width: 9.5rem; }
.lopl-hours__table thead .lopl-hours__loc-h { background: #f7f7f7; }
.lopl-hours__loc a { color: var(--lopl-hours-accent); font-weight: 600; }
.lopl-hours__row--sub .lopl-hours__loc { padding-left: 1.25rem; font-weight: 400; }
.lopl-hours__row--sub .lopl-hours__loc a { font-weight: 400; }

.lopl-hours__table .is-today { background: var(--lopl-hours-today); }
.lopl-hours__time { display: block; white-space: nowrap; }
.lopl-hours__closed { font-weight: 600; }
.lopl-hours__note { display: block; color: var(--lopl-hours-muted); font-size: 0.85em; margin-top: 0.2em; }

.lopl-hours .screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}
