.wpghr-widget {
	--wpghr-row-gap: 14px;
	--wpghr-heading-size: clamp(1.7rem, 3vw, 2.15rem);
	--wpghr-status-title-size: clamp(2.8rem, 6vw, 5rem);
	--wpghr-text-size: 1rem;
	--wpghr-heading-color: #111111;
	--wpghr-text-color: #334155;
	--wpghr-secondary-color: #0f172a;
	--wpghr-link-color: #1d4ed8;
	--wpghr-star-color: #2563eb;
	--wpghr-star-empty: #d6dfeb;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--wpghr-text-color);
	max-width: 100%;
	padding: 0;
}

.wpghr-widget * {
	box-sizing: border-box;
}

.wpghr-status-widget {
	align-items: center;
	display: grid;
	justify-items: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 780px;
	row-gap: var(--wpghr-row-gap, 14px);
	text-align: center;
	width: auto;
}

.wpghr-status-widget > .wpghr-business-name-status,
.wpghr-status-widget > .wpghr-status-line,
.wpghr-status-widget > .wpghr-rating-line,
.wpghr-status-widget > .wpghr-footer-meta,
.wpghr-status-widget > .wpghr-fallback-text {
	margin: 0 !important;
	padding: 0 !important;
}

.wpghr-status-widget .wpghr-status-line,
.wpghr-status-widget .wpghr-rating-line,
.wpghr-status-widget .wpghr-footer-meta {
	margin-block: 0 !important;
	padding-block: 0 !important;
}

.wpghr-hours-widget {
	max-width: 620px;
	text-align: left;
}

.wpghr-widget-heading,
.wpghr-business-name,
.wpghr-status-line,
.wpghr-rating-line,
.wpghr-footer-meta,
.wpghr-fallback-text {
	margin: 0;
}

.wpghr-business-name-status {
	color: var(--wpghr-heading-color);
	font-size: var(--wpghr-status-title-size, clamp(2.8rem, 6vw, 5rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 0.95;
	margin-bottom: 0;
}

.wpghr-widget-heading {
	color: var(--wpghr-heading-color);
	font-size: var(--wpghr-heading-size, clamp(1.7rem, 3vw, 2.15rem));
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: calc(var(--wpghr-row-gap) * 1.7);
}

.wpghr-business-name-hours {
	color: var(--wpghr-heading-color);
	font-size: calc(var(--wpghr-heading-size, 2rem) * 0.55);
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: var(--wpghr-row-gap);
}

.wpghr-status-line {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wpghr-text-size, 1rem);
	gap: 0.35rem;
	justify-content: center;
	line-height: 1.05;
	min-height: 0;
	margin: 0 !important;
	text-align: center;
}

.wpghr-status-text {
	color: var(--wpghr-heading-color);
	font-weight: 700;
}

.wpghr-status-line[data-open-state="open"] .wpghr-status-text {
	color: #198639;
}

.wpghr-status-line[data-open-state="closed"] .wpghr-status-text {
	color: #dc362e;
}

.wpghr-status-detail {
	color: var(--wpghr-secondary-color);
	font-weight: 400;
}

.wpghr-separator {
	color: #111111;
	display: inline-block;
	font-size: 0.9em;
	font-weight: 400;
	margin: 0 0.4rem;
}

.wpghr-rating-line {
	align-items: center;
	color: var(--wpghr-secondary-color);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wpghr-text-size, 1rem);
	gap: 0.85rem;
	justify-content: center;
	line-height: 1.05;
	min-height: 0;
	margin: 0 !important;
	text-align: center;
}

.wpghr-rating-score {
	font-weight: 400;
}

.wpghr-stars {
	align-items: center;
	display: inline-flex !important;
	flex: 0 0 auto;
	gap: 4px;
	line-height: 0;
	max-width: none !important;
	vertical-align: middle;
	width: auto !important;
}

.wpghr-stars .wpghr-star,
.wpghr-stars svg {
	display: block !important;
	flex: 0 0 auto;
	height: 1em !important;
	max-width: none !important;
	width: 1em !important;
}

.wpghr-review-count {
	color: var(--wpghr-secondary-color);
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 0.08em;
}

.wpghr-footer-meta {
	align-items: center;
	color: var(--wpghr-secondary-color);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.95rem;
	gap: 0.45rem;
	justify-content: center;
	line-height: 1.3;
	margin: 0 !important;
	text-align: center;
}

.wpghr-footer-meta a {
	color: var(--wpghr-link-color);
	text-decoration: none;
}

.wpghr-footer-meta a:hover,
.wpghr-footer-meta a:focus {
	text-decoration: underline;
}

.wpghr-hours-list {
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	padding: 0 !important;
	row-gap: var(--wpghr-row-gap, 12px);
}

.wpghr-hours-row {
	align-items: baseline;
	column-gap: 18px;
	display: grid;
	justify-items: stretch;
	width: 100%;
}

.wpghr-hours-list-has-dates .wpghr-hours-row {
	grid-template-columns: 60px 60px minmax(0, 1fr);
}

.wpghr-hours-list-no-dates .wpghr-hours-row {
	grid-template-columns: 60px minmax(0, 1fr);
}

.wpghr-hours-widget .wpghr-hours-list .wpghr-hours-row > .wpghr-day-label,
.wpghr-hours-widget .wpghr-hours-list .wpghr-hours-row > .wpghr-date-label,
.wpghr-hours-widget .wpghr-hours-list .wpghr-hours-row > .wpghr-hours-value {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	clear: none !important;
	display: block !important;
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	min-width: 0 !important;
	outline: 0 !important;
	padding: 0 !important;
	justify-self: stretch !important;
}

.wpghr-hours-row.is-today .wpghr-day-label,
.wpghr-hours-row.is-today .wpghr-date-label,
.wpghr-hours-row.is-today .wpghr-hours-value {
	color: var(--wpghr-text-color);
	font-weight: 700;
}

.wpghr-day-label,
.wpghr-date-label,
.wpghr-hours-value {
	align-self: start;
	font-size: var(--wpghr-text-size, 1rem);
	line-height: 1.05;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left;
	white-space: nowrap;
	width: 100%;
}

.wpghr-day-label {
	color: var(--wpghr-text-color);
	font-weight: 400;
	width: 100%;
}

.wpghr-date-label {
	color: var(--wpghr-secondary-color);
	font-weight: 400;
	width: 100%;
}

.wpghr-hours-value {
	color: var(--wpghr-text-color);
	font-weight: 400;
	min-width: 0;
	width: 100%;
}

.wpghr-message.wpghr-error,
.wpghr-message.wpghr-warning {
	border-left: 4px solid;
	padding-left: 14px;
}

.wpghr-message.wpghr-error {
	border-color: #dc2626;
}

.wpghr-message.wpghr-warning {
	border-color: #d97706;
}

@media (max-width: 767px) {
	.wpghr-business-name-status {
		margin-bottom: 0;
	}

	.wpghr-status-line {
		margin-bottom: 0;
	}

	.wpghr-hours-list {
		column-gap: 12px;
	}
}
