/*
 * happybaby Händler-Bausteine – Öffnungszeiten
 * Schrift und Farben stammen aus dem Elementor-Kit der Website.
 */

.hbhd {
	--hbhd-ink: #3C3C3C;
	--hbhd-text: #5F5F5F;
	--hbhd-muted: #7A7A7A;
	--hbhd-line: #E1E1E1;
	--hbhd-accent: #4C6986;
	--hbhd-green: #4E7263;
	--hbhd-green-tint: #EDF4F0;
	--hbhd-panel: #F5F5F5;

	display: block;
	width: 100%;
	color: var(--hbhd-text);
	font-family: inherit;
}

.hbhd *,
.hbhd *::before,
.hbhd *::after { box-sizing: border-box; }

.hbhd__card {
	max-width: 460px;
	height: 100%;
	margin: 0 auto;
	padding: 22px 26px 24px;
	background: var(--hbhd-panel);
	border-radius: 10px;
}

/* In einer eigenen Spalte: randlos füllen. */
.elementor-widget-hb-oeffnungszeiten.elementor-widget__width-initial { height: 100%; }
.elementor-widget-hb-oeffnungszeiten .hbhd { height: 100%; }

.hbhd .hbhd__title {
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--hbhd-line);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .1em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--hbhd-accent);
	text-align: left;
}

.hbhd .hbhd__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.hbhd .hbhd__list li::before { content: none; }

.hbhd .hbhd__row {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0;
	padding: 7px 0;
	font-size: 16px;
	line-height: 1.4;
	text-align: left;
	border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.hbhd .hbhd__row:last-child { border-bottom: 0; }

.hbhd__day {
	flex: 0 0 auto;
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-width: 46px;
	font-weight: 600;
	color: var(--hbhd-ink);
}
.hbhd__dots {
	flex: 1 1 auto;
	height: 1px;
	margin-bottom: 4px;
	border-bottom: 1px dotted #CFCFCF;
}
.hbhd__time {
	flex: 0 0 auto;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--hbhd-text);
}
.hbhd__note { font-size: 15px; line-height: 1.5; color: var(--hbhd-muted); }

.hbhd .hbhd__row--heute { background: var(--hbhd-green-tint); }
.hbhd .hbhd__row--heute .hbhd__day,
.hbhd .hbhd__row--heute .hbhd__time { color: var(--hbhd-green); }
.hbhd .hbhd__row--heute {
	margin: 0 -12px;
	padding-right: 12px;
	padding-left: 12px;
	border-radius: 6px;
	border-bottom-color: transparent;
}
.hbhd__badge {
	padding: 1px 7px;
	border-radius: 999px;
	background: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--hbhd-green);
}

.hbhd .hbhd__hint {
	margin: 14px 0 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--hbhd-muted);
	text-align: left;
}

.hbhd .hbhd__raw { text-align: left; }

@media (max-width: 480px) {
	.hbhd__card { padding: 18px 18px 20px; }
	.hbhd .hbhd__row { font-size: 15px; }
}
