/* Siegis Öffnungszeiten – Frontend */
:root { --soz-bg: #fff; --soz-text: #1d1d1d; --soz-accent: #c8102e; }

.siegis-oz-overlay {
	position: fixed; inset: 0; z-index: 999999;
	display: flex; align-items: center; justify-content: center;
	padding: 16px; background: rgba(0, 0, 0, .55);
	animation: soz-fade .2s ease-out;
}
.siegis-oz-box {
	position: relative; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow: auto;
	background: var(--soz-bg); color: var(--soz-text);
	border-radius: 14px; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); outline: none;
	animation: soz-pop .25s ease-out;
}
.siegis-oz-box__img { display: block; width: 100%; max-height: 260px; object-fit: cover; border-radius: 14px 14px 0 0; }
.siegis-oz-box__body { padding: 22px 24px 24px; text-align: center; }
.siegis-oz-box__title { margin: 0 0 8px; font-size: 1.5em; line-height: 1.2; color: var(--soz-accent); }
.siegis-oz-box__msg { margin: 0 0 16px; font-size: 1.05em; line-height: 1.5; white-space: pre-line; }
.siegis-oz-box__sub { margin: 18px 0 6px; font-size: .95em; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.siegis-oz-box__x {
	position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border: 0; border-radius: 50%;
	background: rgba(0, 0, 0, .55); color: #fff; font-size: 16px; line-height: 34px; cursor: pointer; padding: 0;
}
.siegis-oz-box__ok {
	margin-top: 18px; padding: 10px 28px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--soz-accent); color: #fff; font-size: 1em; font-weight: 600;
}

.siegis-oz-hours { margin: 0 auto; border-collapse: collapse; font-size: .95em; }
.siegis-oz-hours th, .siegis-oz-hours td { padding: 3px 8px; border: 0; text-align: left; vertical-align: top; }
.siegis-oz-hours th { font-weight: 600; white-space: nowrap; }
.siegis-oz-holidays { margin: .8em 0 0; }

.siegis-oz-bar {
	position: sticky; top: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; gap: 12px;
	padding: 10px 44px 10px 16px; background: var(--soz-accent); color: #fff; font-weight: 600; text-align: center;
}
.siegis-oz-bar--info { background: #2b2b2b; }
.siegis-oz-bar__close { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: inherit; font-size: 18px; cursor: pointer; }

.siegis-oz-badge.is-open { color: #1a7f37; font-weight: 600; }
.siegis-oz-badge.is-closed { color: var(--soz-accent); font-weight: 600; }

/* Buttons ausblenden, solange geschlossen */
.siegis-oz-hide-buttons .single_add_to_cart_button,
.siegis-oz-hide-buttons .add_to_cart_button,
.siegis-oz-hide-buttons .ajax_add_to_cart,
.siegis-oz-hide-buttons .wc-block-components-product-button,
.siegis-oz-hide-buttons .wp-block-button.wc-block-components-product-button,
.siegis-oz-hide-buttons .checkout-button,
.siegis-oz-hide-buttons #place_order,
.siegis-oz-hide-buttons .wc-block-cart__submit,
.siegis-oz-hide-buttons .wc-block-components-checkout-place-order-button,
.siegis-oz-hide-buttons [data-siegis-order-button] { display: none !important; }

@keyframes soz-fade { from { opacity: 0; } }
@keyframes soz-pop { from { transform: translateY(12px) scale(.97); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .siegis-oz-overlay, .siegis-oz-box { animation: none; } }
