/* Zwiebels Öffnungszeiten: Desktop-Button, Laufband und mobile Reservierung */
.zoh-hours-auto{display:none;position:fixed;z-index:1002;top:20px;right:76px;max-width:calc(100vw - 100px)}
body.admin-bar .zoh-hours-auto{top:52px}
.zoh-hours-auto.is-in-header{display:block;position:relative;z-index:3;top:auto;right:auto;max-width:none;flex:0 0 auto}
.zoh-hours-widget{--zoh-hours-accent:#c9a85c;position:relative;color:#fff;font-family:inherit}
.zoh-hours-widget summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 13px;border:1px solid rgba(201,168,92,.72);border-radius:999px;background:rgba(20,21,24,.94);color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.24);cursor:pointer;font-size:.76rem;font-weight:800;line-height:1.1;letter-spacing:.035em;white-space:nowrap;backdrop-filter:blur(10px);transition:transform .22s ease,background .22s ease,border-color .22s ease}
.zoh-hours-widget summary:hover{transform:translateY(-1px);background:rgba(201,168,92,.14);border-color:#c9a85c}
.zoh-hours-widget summary::-webkit-details-marker{display:none}.zoh-hours-widget summary svg{width:17px;height:17px;transition:transform .18s ease}.zoh-hours-widget[open] summary svg{transform:rotate(180deg)}
.zoh-hours-widget__dot{width:9px;height:9px;border-radius:50%;background:#858585;box-shadow:0 0 0 3px rgba(133,133,133,.16)}
.zoh-hours-widget.is-open .zoh-hours-widget__dot{background:#63b47a;box-shadow:0 0 0 3px rgba(99,180,122,.18)}
.zoh-hours-widget.is-soon .zoh-hours-widget__dot{background:#e0aa3d;box-shadow:0 0 0 3px rgba(224,170,61,.2);animation:zoh-hours-pulse 1.8s ease-in-out infinite}
.zoh-hours-widget.is-later .zoh-hours-widget__dot{background:#c9a85c;box-shadow:0 0 0 3px rgba(201,168,92,.18)}
@keyframes zoh-hours-pulse{50%{box-shadow:0 0 0 7px rgba(224,170,61,0)}}
.zoh-hours-widget__panel{position:absolute;z-index:10;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 30px));overflow:hidden;border:1px solid rgba(201,168,92,.42);border-radius:14px;background:#151619;color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.45)}
.zoh-hours-widget__panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid rgba(255,255,255,.09);background:#101114}.zoh-hours-widget__panel>header strong{color:#ead9a0}.zoh-hours-widget__panel>header span{margin-left:auto;font-size:.8rem;color:#aaa}
.zoh-hours-widget__close{display:none;width:32px;height:32px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(201,168,92,.45);border-radius:50%;background:#1b1c20;color:#ead9a0;font:700 22px/1 inherit;cursor:pointer}
.zoh-hours-widget__locations article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 17px;border-bottom:1px solid rgba(255,255,255,.07)}
.zoh-hours-widget__locations article>div{display:flex;flex-direction:column;gap:3px;min-width:0}.zoh-hours-widget__locations a,.zoh-hours-widget__locations strong{color:#fff;font-weight:800;text-decoration:none}.zoh-hours-widget__locations a:hover{color:#ead9a0}.zoh-hours-widget__locations article>div small{color:#bbb}.zoh-hours-widget__locations article>div em{color:#d7c27d;font-size:.76rem;font-style:normal}
.zoh-hours-widget__status{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.zoh-hours-widget__status b{font-size:.78rem;color:#aaa}.zoh-hours-widget__status small{font-size:.73rem;color:#bbb}
.zoh-hours-widget__locations article.is-open .zoh-hours-widget__status b{color:#78c18d}.zoh-hours-widget__locations article.is-soon .zoh-hours-widget__status b{color:#e3b75c}.zoh-hours-widget__locations article.is-later .zoh-hours-widget__status b{color:#ead9a0}
.zoh-hours-widget__panel>footer{padding:9px 17px;color:#888;font-size:.69rem;text-align:right}
.zoh-hours-widget__kitchen{display:block!important;margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,.08);color:#cfcfcf!important;font-size:.72rem!important;line-height:1.35}
.zoh-hours-widget__kitchen>span:first-child{font-weight:800;color:#ead9a0}.zoh-hours-widget__kitchen b{margin-left:5px;font-size:inherit;color:#aaa}.zoh-hours-widget__kitchen.is-open b{color:#78c18d}.zoh-hours-widget__kitchen.is-soon b{color:#e3b75c}.zoh-hours-widget__kitchen.is-later b{color:#ead9a0}

/* Öffnungsstatus als Bestandteil des bestehenden goldenen Laufbands. */
.event-ticker__label--hours{background:#171717!important;color:#f7df9a!important}
.event-ticker__item--hours{appearance:none;border:0;border-radius:0;background:rgba(255,255,255,.12);font:inherit;cursor:pointer}
.event-ticker__item--hours small{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid rgba(23,23,23,.4);border-radius:999px;font-size:.55rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.zoh-ticker-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#767676;box-shadow:0 0 0 3px rgba(80,80,80,.14)}
.event-ticker__item--hours.is-open .zoh-ticker-dot{background:#277d3f;box-shadow:0 0 0 3px rgba(39,125,63,.18)}
.event-ticker__item--hours.is-soon .zoh-ticker-dot{background:#9f6500;box-shadow:0 0 0 3px rgba(159,101,0,.18);animation:zoh-hours-pulse 1.8s ease-in-out infinite}
.event-ticker__item--hours.is-later .zoh-ticker-dot{background:#77591d;box-shadow:0 0 0 3px rgba(119,89,29,.18)}

/* Reservierungsbutton steht mobil an der Stelle des bisherigen Öffnungszeiten-Pills. */
.zoh-mobile-reservation{display:none!important}

/* Modale Darstellung, wenn die Öffnungszeiten aus dem Laufband geöffnet werden. */
.zoh-hours-auto.is-ticker-open{display:block;position:fixed;inset:0;z-index:10050;max-width:none}
.zoh-hours-auto.is-ticker-open::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}
.zoh-hours-auto.is-ticker-open .zoh-hours-widget{position:static}
.zoh-hours-auto.is-ticker-open .zoh-hours-widget>summary{display:none}
.zoh-hours-auto.is-ticker-open .zoh-hours-widget__panel{position:fixed;top:50%;right:auto;left:50%;width:min(440px,calc(100vw - 30px));max-height:calc(100dvh - 40px);overflow:auto;transform:translate(-50%,-50%)}
.zoh-hours-auto.is-ticker-open .zoh-hours-widget__close{display:inline-flex}
body.zoh-hours-modal-open{overflow:hidden}

.zoh-hours-overview{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:20px}.zoh-hours-overview section{padding:22px;border:1px solid rgba(201,168,92,.34);border-radius:13px;background:#17181b;color:#fff}.zoh-hours-overview h3{margin:0 0 15px;color:#ead9a0}.zoh-hours-overview dl{margin:0}.zoh-hours-overview dl>div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:9px 0;border-top:1px solid rgba(255,255,255,.07)}.zoh-hours-overview dt{font-weight:800}.zoh-hours-overview dd{margin:0;text-align:right}.zoh-hours-overview dd small{display:block;margin-top:2px;color:#d7c27d}.zoh-hours-overview__business,.zoh-hours-overview__kitchen{display:block}.zoh-hours-overview__kitchen{margin-top:4px;color:#d7c27d;font-size:.88em}.zoh-hours-overview__kitchen b{color:#ead9a0}

@media(min-width:981px){.site-header.is-scrolled .zoh-hours-widget summary{min-height:38px;padding:8px 11px}.header-actions .zoh-hours-auto{margin:0}}
@media(max-width:980px){
  .zoh-hours-auto:not(.is-ticker-open){display:none!important}
  .zoh-mobile-reservation{display:inline-flex!important;flex:0 0 auto;min-height:42px!important;padding:9px 14px!important;margin-left:auto;border-radius:999px!important;font-size:.7rem!important;letter-spacing:.025em!important;text-transform:none!important;z-index:4}
  .zoh-mobile-reservation::after{display:none!important}
  .site-header.menu-is-open .zoh-mobile-reservation{opacity:0;visibility:hidden;pointer-events:none}
  .zoh-hours-auto.is-ticker-open .zoh-hours-widget__panel{top:auto;right:12px;bottom:12px;left:12px;width:auto;max-height:calc(100dvh - 24px);transform:none;border-radius:18px}
  .zoh-hours-widget__locations article{padding:13px 14px}
  .zoh-hours-overview{grid-template-columns:1fr}
  .event-ticker__item--hours small{display:none}
}
@media(max-width:430px){
  .zoh-mobile-reservation{min-height:39px!important;padding:8px 11px!important;font-size:.66rem!important}
}
@media(max-width:350px){
  .zoh-mobile-reservation{padding:8px 9px!important;font-size:.62rem!important}
}
