/* Büro-Status – Ampel-Leiste, Karte [buero_status] und Backend */
.sbf-bs {
	position: relative; z-index: 100000; width: 100%; box-sizing: border-box;
	background: #f6f7f8; color: #1f2328; border-bottom: 1px solid #e3e5e8;
	font-size: 14px; line-height: 1.45; font-family: inherit;
}
.sbf-bs *, .sbf-bs *::before, .sbf-bs *::after { box-sizing: border-box; }
.sbf-bs__inner {
	max-width: 1200px; margin: 0 auto; padding: 7px 16px; min-height: 36px;
	display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 14px;
}
.sbf-bs__state strong { font-weight: 700; }
.sbf-bs__state .sbf-bs__light { margin-right: 4px; vertical-align: -1px; }
.sbf-bs__sub { color: #50565e; }
.sbf-bs__note { color: #1f2328; font-weight: 600; }
.sbf-bs__note a { color: #c53530; text-decoration: underline; text-underline-offset: 2px; margin-left: 2px; white-space: nowrap; }
.sbf-bs__announce {
	background: #fff4d6; color: #5c4300; border: 1px solid #f0d78c; border-radius: 999px;
	padding: 2px 12px; font-weight: 600;
}
.sbf-bs__link { color: #c53530; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }

/* Ampel: drei Lampen, die aktive leuchtet */
.sbf-bs__light { display: inline-flex; gap: 3px; padding: 3px 5px; background: #2b2f35; border-radius: 999px; vertical-align: middle; flex: none; }
.sbf-bs__light i { display: block; width: 9px; height: 9px; border-radius: 50%; background: #4a4f57; }
.sbf-bs__light--red i:nth-child(1) { background: #ff3b30; box-shadow: 0 0 6px #ff3b30; }
.sbf-bs__light--yellow i:nth-child(2) { background: #ffcc00; box-shadow: 0 0 6px #ffcc00; }
.sbf-bs__light--green i:nth-child(3) { background: #34c759; box-shadow: 0 0 6px #34c759; }
.sbf-bs--green .sbf-bs__state strong { color: #1d7a3a; }
.sbf-bs--red .sbf-bs__state strong { color: #b3261e; }
.sbf-bs--yellow .sbf-bs__state strong { color: #8a6100; }

@media (max-width: 640px) {
	.sbf-bs { font-size: 13px; }
	.sbf-bs__inner { justify-content: flex-start; padding: 6px 12px; gap: 4px 10px; }
	.sbf-bs__note { flex-basis: 100%; }
	.sbf-bs__announce { padding: 1px 10px; }
}
@media print { .sbf-bs { display: none !important; } }

/* Karte per Shortcode [buero_status] */
.sbf-bs-card { border: 1px solid #e3e5e8; border-radius: 14px; padding: 22px 24px; background: #fff; max-width: 560px; }
.sbf-bs-card h3 { font-size: 1.05rem; margin: 20px 0 8px; }
.sbf-bs-card__now { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 10px; background: #f6f7f8; }
.sbf-bs-card__now .sbf-bs__light { margin-top: 3px; }
.sbf-bs-card__now strong { display: block; font-size: 1.1rem; }
.sbf-bs-card__now span { display: block; color: #50565e; }
.sbf-bs-card__now--green strong { color: #1d7a3a; }
.sbf-bs-card__now--red strong { color: #b3261e; }
.sbf-bs-card__now--yellow strong { color: #8a6100; }
.sbf-bs-card .sbf-bs-card__closed { margin-top: 6px; color: #1f2328; font-weight: 600; }
.sbf-bs-card .sbf-bs-card__closed a { color: #c53530; display: inline; }
.sbf-bs-card .sbf-bs-card__announce { margin-top: 8px; display: inline-block; background: #fff4d6; color: #5c4300; border-radius: 8px; padding: 4px 10px; font-weight: 600; }
.sbf-bs-hours { width: 100%; border-collapse: collapse; margin: 0; }
.sbf-bs-hours th, .sbf-bs-hours td { text-align: left; padding: 6px 8px; border: 0; border-bottom: 1px solid #eef0f2; font-weight: 400; background: none; }
.sbf-bs-hours th { width: 40%; }
.sbf-bs-hours tr.is-today th, .sbf-bs-hours tr.is-today td { font-weight: 700; background: #fbefee; }
.sbf-bs-closures { margin: 0; padding-left: 18px; }
.sbf-bs-closures li { margin: 4px 0; }
.sbf-bs-card__note { color: #50565e; font-size: .92rem; margin: 14px 0 0; }

/* Backend */
.sbf-bs-admin .sbf-bs-box { background: #fff; border: 1px solid #dcdcde; border-radius: 6px; padding: 4px 20px 12px; margin: 0 0 18px; max-width: 980px; }
.sbf-bs-admin .sbf-bs-box h2 { font-size: 15px; margin: 16px 0 10px; }
.sbf-bs-admin .sbf-bs-preview { max-width: 980px; border: 1px solid #dcdcde; border-radius: 6px; overflow: hidden; margin: 0 0 22px; }
.sbf-bs-admin .sbf-bs-modes label { display: block; margin: 8px 0; }
.sbf-bs-admin .sbf-bs-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; vertical-align: -1px; margin: 0 2px; }
.sbf-bs-dot--auto { background: linear-gradient(90deg, #34c759 50%, #ff3b30 50%); }
.sbf-bs-dot--yellow { background: #ffcc00; }
.sbf-bs-dot--red { background: #ff3b30; }
.sbf-bs-admin .sbf-bs-form-hours th { text-align: left; padding: 6px 14px 6px 0; width: 110px; }
.sbf-bs-admin .sbf-bs-form-hours td { padding: 4px 10px 4px 0; }
.sbf-bs-admin .sbf-bs-closure-table td { vertical-align: middle; }
.sbf-bs-pill { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #f0f0f1; color: #50575e; font-size: 12px; }
.sbf-bs-pill--red { background: #fdecea; color: #a12a26; font-weight: 600; }
.sbf-bs-pill--yellow { background: #fff4d6; color: #5c4300; font-weight: 600; }
.sbf-bs-holiday-list { columns: 2; margin: 10px 0 0; }
.sbf-bs-holiday-list li.is-past { color: #a7aaad; }
