/* WPMCP Opening Hours — self-contained styles.
   Override --oh-accent / --oh-dark from your theme to re-skin. */

.wpmcp-oh {
	--oh-accent:   #eb561c;
	--oh-green:    #4cae37;
	--oh-dark:     #202329;
	--oh-line:     rgba(255,255,255,.08);
	--oh-muted:    #8b9096;
	--oh-radius:   18px;
	font-family: inherit;
	border-radius: var(--oh-radius);
	overflow: hidden;
	box-shadow: 0 18px 48px rgba(20,22,26,.14);
}

.wpmcp-oh__head {
	display: flex; align-items: center; gap: 14px;
	background: var(--oh-accent); color: #fff; padding: 20px 26px;
}
.wpmcp-oh__ico { width: 28px; height: 28px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.wpmcp-oh__title { margin: 0; color: #fff; font-size: 1.25rem; line-height: 1.1; text-transform: uppercase; letter-spacing: .5px; }

.wpmcp-oh-badge {
	margin-left: auto; display: inline-flex; align-items: center; gap: 7px;
	font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
	padding: 6px 13px; border-radius: 999px; white-space: nowrap;
}
.wpmcp-oh-badge--open   { background: var(--oh-green); color: #fff; }
.wpmcp-oh-badge--appt   { background: rgba(255,255,255,.2); color: #fff; }
.wpmcp-oh-badge--closed { background: rgba(0,0,0,.22); color: #fff; }
.wpmcp-oh-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.wpmcp-oh-badge--open .wpmcp-oh-dot { animation: wpmcp-oh-pulse 1.8s infinite; }
@keyframes wpmcp-oh-pulse {
	0% { box-shadow: 0 0 0 0 rgba(255,255,255,.6); }
	70% { box-shadow: 0 0 0 7px rgba(255,255,255,0); }
	100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

.wpmcp-oh--dark { background: var(--oh-dark); color: #d7dade; }
.wpmcp-oh__list { list-style: none; margin: 0; padding: 8px 26px 18px; }
.wpmcp-oh__row {
	display: flex; justify-content: space-between; align-items: baseline; gap: 16px;
	padding: 11px 0; border-bottom: 1px solid var(--oh-line);
}
.wpmcp-oh__row:last-child { border-bottom: 0; }
.wpmcp-oh__day { font-weight: 600; color: #fff; text-transform: uppercase; letter-spacing: .5px; font-size: .92rem; }
.wpmcp-oh__day em { font-style: normal; color: var(--oh-accent); font-weight: 500; text-transform: none; letter-spacing: 0; }
.wpmcp-oh__val { text-align: right; color: #d7dade; font-weight: 500; }
.wpmcp-oh__alt { display: block; font-size: .78rem; font-weight: 400; color: var(--oh-muted); margin-top: 2px; }
.wpmcp-oh__row.is-closed .wpmcp-oh__val { color: var(--oh-muted); }
.wpmcp-oh__season { margin: 0; padding: 0 26px 6px; font-size: .82rem; color: var(--oh-muted); }
.wpmcp-oh__season strong { color: #fff; font-weight: 600; }
.wpmcp-oh--light .wpmcp-oh__season strong { color: #23262b; }
.wpmcp-oh__row.is-today {
	margin: 0 -26px; padding-left: 26px; padding-right: 26px;
	background: color-mix(in srgb, var(--oh-accent) 16%, transparent);
}
.wpmcp-oh__row.is-today .wpmcp-oh__day { color: #fff; }
.wpmcp-oh__note { margin: 0; padding: 0 26px 20px; font-size: .86rem; color: var(--oh-muted); }

/* Light variant */
.wpmcp-oh--light { background: #fff; color: #54585e; border: 1px solid #e7e8ea; }
.wpmcp-oh--light .wpmcp-oh__row { border-color: #eceded; }
.wpmcp-oh--light .wpmcp-oh__day { color: #23262b; }
.wpmcp-oh--light .wpmcp-oh__val { color: #54585e; }
.wpmcp-oh--light .wpmcp-oh__row.is-today { background: color-mix(in srgb, var(--oh-accent) 10%, transparent); }
.wpmcp-oh--light .wpmcp-oh__note { color: #8b9096; }

/* Admin table helpers */
.wpmcp-oh-admin__table td, .wpmcp-oh-admin__table th { vertical-align: middle; }
.wpmcp-oh-admin .wpmcp-oh-slots input { text-align: center; }
