/*
 * Webtend Business Hours — Frontend Styles
 * Minimal, themeable, no specificity wars.
 */

.webtend-bh-widget {
	--webtend-bh-open:        #16a34a;
	--webtend-bh-open-bg:     #dcfce7;
	--webtend-bh-closed:      #dc2626;
	--webtend-bh-closed-bg:   #fee2e2;
	--webtend-bh-accent:      #4f46e5;
	--webtend-bh-text:        inherit;
	--webtend-bh-text-muted:  #64748b;
	--webtend-bh-border:      #e2e8f0;
	--webtend-bh-today-bg:    #eef2ff;
	--webtend-bh-font:        inherit;
	font-family: var(--webtend-bh-font);
}

/* =========================================================
   Status Bar
   ========================================================= */
.webtend-bh-widget__status-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

.webtend-bh-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1;
}

.webtend-bh-status-badge--open {
	background: var(--webtend-bh-open-bg);
	color: var(--webtend-bh-open);
}

.webtend-bh-status-badge--closed {
	background: var(--webtend-bh-closed-bg);
	color: var(--webtend-bh-closed);
}

.webtend-bh-status-badge__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	flex-shrink: 0;
}

.webtend-bh-status-badge--open .webtend-bh-status-badge__dot {
	animation: webtend-bh-pulse-fe 2s infinite;
}

@keyframes webtend-bh-pulse-fe {
	0%, 100% { opacity: 1; }
	50%       { opacity: .35; }
}

.webtend-bh-widget__next-change,
.webtend-bh-widget__holiday-label {
	font-size: 0.8125rem;
	color: var(--webtend-bh-text-muted);
}

/* =========================================================
   Hours Table
   ========================================================= */
.webtend-bh-hours-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.webtend-bh-hours-row td {
	padding: 7px 10px;
	border-bottom: 1px solid var(--webtend-bh-border);
	vertical-align: middle;
}

.webtend-bh-hours-row:last-child td {
	border-bottom: none;
}

.webtend-bh-hours-row__day {
	font-weight: 500;
	color: var(--webtend-bh-text);
	width: 48%;
	position: relative;
	padding-left: 14px;
}

.webtend-bh-hours-row__hours {
	color: var(--webtend-bh-text-muted);
	text-align: right;
}

.webtend-bh-hours-row--closed .webtend-bh-hours-row__hours {
	color: #94a3b8;
	font-style: italic;
}

/* Today highlight */
.webtend-bh-hours-row--today {
	background: var(--webtend-bh-today-bg);
	border-radius: 4px;
}

.webtend-bh-hours-row--today .webtend-bh-hours-row__day {
	color: var(--webtend-bh-accent);
	font-weight: 700;
}

.webtend-bh-today-marker {
	display: inline-block;
	width: 6px;
	height: 6px;
	background: var(--webtend-bh-accent);
	border-radius: 50%;
	margin-left: 6px;
	vertical-align: middle;
	position: relative;
	top: -1px;
}
