.hw-open{--o-ivory:var(--wp--preset--color--ivory,#FFF9F5);--o-linen:var(--wp--preset--color--linen,#F6EEE8);--o-peach:var(--wp--preset--color--peach,#F2D2C2);--o-mint:var(--wp--preset--color--mint,#CDE9DC);--o-mintdeep:var(--wp--preset--color--mint-deep,#2A5E4F);--o-espresso:var(--wp--preset--color--espresso,#493B38);--o-mocha:#6E5B57;--o-coral:#E98876;--o-line:#E6D6CB;--o-closed:#EBDDD4;
  position:relative;display:inline-flex;font-size:14px;line-height:1.3}
.hw-open *{box-sizing:border-box}
.hw-open__badge{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:8px 14px 8px 12px;font:inherit;font-weight:500;cursor:pointer;color:var(--o-espresso);background:var(--o-closed);font-variant-numeric:tabular-nums;white-space:nowrap}
.hw-open__badge:focus-visible{outline:2px solid var(--o-coral);outline-offset:3px}
.hw-open__dot{width:9px;height:9px;border-radius:50%;background:var(--o-mocha);flex:none;position:relative}
.hw-open[data-state="open"] .hw-open__badge{background:var(--o-mint);color:var(--o-mintdeep)}
.hw-open[data-state="open"] .hw-open__dot{background:var(--o-mintdeep)}
.hw-open[data-state="open"] .hw-open__dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--o-mintdeep);opacity:0;animation:hwOpenPulse 2.4s ease-out infinite}
.hw-open[data-state="soon"] .hw-open__badge,.hw-open[data-state="closing"] .hw-open__badge{background:var(--o-peach)}
.hw-open[data-state="soon"] .hw-open__dot,.hw-open[data-state="closing"] .hw-open__dot{background:var(--o-coral)}
@keyframes hwOpenPulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){.hw-open__dot::after{animation:none!important}}
.hw-open__short{display:none}
@media (max-width:600px){.hw-open__long{display:none}.hw-open__short{display:inline}.hw-open__badge{padding:7px 11px 7px 10px}}
.hw-open__pop{position:absolute;right:0;top:calc(100% + 10px);width:min(420px,calc(100vw - 32px));background:var(--o-ivory);color:var(--o-espresso);border:1px solid var(--o-line);border-radius:16px;box-shadow:0 18px 40px -18px rgba(73,59,56,.35);padding:18px;z-index:1000;display:flex;flex-direction:column;gap:12px;text-align:left}
.hw-open__pop[hidden]{display:none}
.hw-open__pop h3{margin:0;font-size:24px;line-height:1.1}
.hw-open__eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--o-mocha);margin:0 0 4px}
.hw-open__week{display:flex;flex-direction:column;gap:6px}
.hw-open__day,.hw-open__scale{display:grid;grid-template-columns:30px minmax(0,1fr) 120px;gap:10px;align-items:center}
.hw-open__day b{font-weight:400;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--o-mocha)}
.hw-open__day.is-today b,.hw-open__day.is-today .hw-open__t{color:var(--o-espresso);font-weight:500}
.hw-open__t{font-size:12px;text-align:right;color:var(--o-mocha);font-variant-numeric:tabular-nums}
.hw-open__track{position:relative;height:12px;border-radius:6px;background:var(--o-linen)}
.hw-open__seg{position:absolute;top:0;bottom:0;border-radius:6px;background:var(--o-line)}
.hw-open__day.is-today .hw-open__seg{background:var(--o-mint);box-shadow:inset 0 0 0 1px var(--o-mintdeep)}
.hw-open__seg.is-off,.hw-open__day.is-today .hw-open__seg.is-off{background:transparent;box-shadow:inset 0 0 0 1px var(--o-coral)}
.hw-open__now{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--o-coral);border-radius:1px}
.hw-open__scale div{position:relative;height:14px;font-size:10px;color:var(--o-mocha)}
.hw-open__scale span{position:absolute;transform:translateX(-50%)}
.hw-open__note{margin:0;font-size:13px;color:var(--o-mocha)}
.hw-open__note.is-warn{color:#B3523F}
.hw-open__contact{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--o-line);padding-top:12px}
.hw-open__wa{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--o-mintdeep);color:var(--o-mintdeep)!important;border-radius:999px;padding:7px 14px;text-decoration:none!important;font-weight:500}
.hw-open__wa:focus-visible{outline:2px solid var(--o-coral);outline-offset:3px}
.hw-open__tel{font-size:13px;color:var(--o-espresso)!important}
@media (max-width:600px){.hw-open__pop{position:fixed;left:16px;right:16px;width:auto}}
.hw-oz-hinweis{color:#B3523F;font-size:.9em;margin:.5em 0 0}
