.weinstube-calendar{width:min(920px,calc(100vw - 40px));max-height:calc(100dvh - 32px);padding:0;border-radius:12px;overscroll-behavior:contain}
.weinstube-calendar:not([open]){display:none!important}
html:has(.weinstube-calendar[open]){overflow:hidden}
body.cms-edit [data-agenda-entry][hidden]{display:block!important}
body.cms-edit [data-agenda-entry][hidden]:before{content:'Pflegeansicht · ohne Kalendereinträge für Gäste ausgeblendet';display:block;font:13px Arial,sans-serif;color:#703e97;margin:0 0 12px}
.agenda-modal-top{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--paper);padding:12px 20px 4px;z-index:1}
.agenda-modal-top .eyebrow{margin:0;font-size:12px}.agenda-close{flex-shrink:0;width:34px;height:34px;font-size:21px;color:var(--blue);background:transparent;border:1px solid #172da633;border-radius:50%;line-height:1;cursor:pointer}
.agenda-modal-body{padding:0 20px 20px}.agenda-home-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin-top:16px;border:1px solid #172da629;border-radius:5px 16px 5px 5px;background:#eef0fa}
.agenda-home-entry strong{font:30px/1.2 Georgia,serif;color:var(--blue)}.agenda-home-entry p{font-size:15px;margin:7px 0 0;max-width:560px}.agenda-launch{flex-shrink:0;text-align:left;gap:16px;font-size:15px;padding:15px 19px}.agenda-hours-entry{display:flex;justify-content:flex-end;margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid #172da626}
.agenda-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:5px}
.agenda-heading h2{font-size:clamp(26px,3vw,31px);margin:2px 0 0}
.agenda-heading .text-link{flex-shrink:0}
.agenda-modal-body>.small-note{font-size:14px;line-height:1.45;margin:6px 0 12px}.agenda-modal-body>.text-link{font-size:14px}.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-block:1px solid #172da628}
.agenda-toolbar[hidden]{display:none}
.agenda-toolbar strong{font-size:14px}.agenda-controls{display:flex;gap:6px}
.agenda-controls button{border:1px solid #172da64d;background:transparent;color:var(--blue,#172da6);width:34px;height:34px;border-radius:50%;font-size:17px;line-height:1;cursor:pointer;padding:0}
.agenda-controls button:hover:not(:disabled){background:#172da60c}.agenda-controls button:disabled{opacity:.3;cursor:default}
.agenda-status{font-size:12px;margin:6px 0}.agenda-status:empty{display:none}
.agenda-retry{margin:8px 0 0;font:inherit;color:var(--blue,#172da6);background:none;border:0;text-decoration:underline;cursor:pointer}
.weinstube-calendar:has(.agenda-status:empty) .agenda-retry,.weinstube-calendar[aria-busy=true] .agenda-retry{display:none}
.agenda-modal-body>[data-agenda-list]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.agenda-month{margin-top:16px;min-width:0}.agenda-month h3{display:flex;align-items:center;gap:10px;font:600 14px/1.3 var(--sans,Arial,sans-serif);text-transform:uppercase;letter-spacing:.08em;color:var(--blue,#172da6);margin:0 0 9px}
.agenda-month h3:after{content:'';height:1px;flex:1;background:#172da626}
.agenda-entries{display:grid;grid-template-columns:1fr;gap:8px}
.agenda-entry{display:flex;align-items:center;gap:10px;padding:9px 11px;background:#fff;border:1px solid #172da616;border-radius:3px 9px 3px 3px;min-width:0}
.agenda-date{display:flex;align-items:baseline;gap:4px;color:var(--blue,#172da6);min-width:56px;flex-shrink:0}.agenda-date span{font-size:10px;letter-spacing:.05em;text-transform:uppercase}.agenda-date strong{font:22px/1 Georgia,serif;white-space:nowrap}
.agenda-entry--closure{grid-column:1/-1;background:#f7f3d8;border-color:#cfc97688;border-left:4px solid #b78a20}
.agenda-entry--opening{background:#eef0fa;border-color:#172da640}
.agenda-kind{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.agenda-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1px 8px;min-width:0;flex:1}.agenda-copy h4{grid-column:1;font:18px/1.2 Georgia,serif;margin:0;color:var(--ink,#17283d);overflow-wrap:anywhere}
.agenda-copy p{grid-column:1/-1;font-size:13px;line-height:1.35;margin:1px 0}.agenda-copy .agenda-time{grid-column:2;grid-row:1;font-weight:600;color:var(--blue,#172da6);white-space:nowrap}.agenda-copy small{grid-column:1/-1;display:block;font-size:12px;margin-top:3px}
.agenda-empty{font-size:13px;color:#596676;padding:8px 0 14px;margin:0;max-width:640px}
@media(max-width:900px){.agenda-date{flex-direction:column;align-items:flex-start;gap:3px}.agenda-copy{grid-template-columns:minmax(0,1fr)}.agenda-copy .agenda-time{grid-column:1;grid-row:auto;white-space:normal}.agenda-modal-body>[data-agenda-list]{grid-template-columns:repeat(2,minmax(0,1fr))}.weinstube-calendar{width:min(700px,calc(100vw - 24px))}}
@media(max-width:760px){.agenda-heading{align-items:start;flex-direction:column;gap:6px}.agenda-modal-body>[data-agenda-list]{grid-template-columns:1fr}.agenda-entry{gap:9px;padding:9px 10px}.agenda-date strong{font-size:21px}.agenda-copy h4{font-size:17px}.agenda-toolbar strong{font-size:13px}.agenda-toolbar{gap:6px}.agenda-controls button{width:34px;height:34px}.agenda-month{margin-top:10px}.agenda-home-entry{align-items:start;flex-direction:column;padding:14px;gap:10px}.agenda-modal-top{padding:8px 12px 2px}.agenda-modal-body{padding:0 12px 12px}.weinstube-calendar{max-height:calc(100dvh - 12px);width:calc(100vw - 10px)}.agenda-launch{max-width:100%}}

.agenda-modal-body>[data-agenda-list]:has(.agenda-month:only-child){grid-template-columns:1fr}

/* Keep the next opening visible without clipping today's information. */
.home-daily-bar.has-opening-teaser{height:auto;max-width:min(420px,calc(100% - 80px));padding-block:12px}
.home-daily-bar.has-opening-teaser .home-daily-copy{max-height:none;overflow:visible}
.home-daily-bar.has-opening-teaser .today-dishes{display:block;max-height:none;overflow:visible;-webkit-line-clamp:unset;font-size:18px;line-height:1.2}
.home-opening-teaser{display:grid;gap:4px;min-width:0}
.home-opening-label{font-size:12px;font-weight:600;line-height:1.3}
.home-opening-title{font:400 21px/1.15 var(--serif);overflow-wrap:anywhere}
.home-opening-details{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13px;line-height:1.35}
.home-opening-link{border:0;background:transparent;color:inherit;font:inherit;min-height:32px;padding:3px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.home-opening-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.home-opening-teaser--secondary{margin-top:8px;padding-top:8px;border-top:1px solid #172da633}
.home-opening-teaser--secondary .home-opening-title{font-size:17px}
.agenda-entry--focused{outline:2px solid var(--blue);outline-offset:3px;scroll-margin-block:70px 16px}
@media(max-width:760px){.home-intro .home-daily-bar.has-opening-teaser{max-width:none}.home-opening-title{font-size:21px}}
