[data-absence-banner][hidden],[data-absence-nav][hidden],[data-absence-card][hidden],[data-absence-empty][hidden]{display:none!important}
[data-opening-rail][hidden],[data-opening-hours][hidden],[data-opening-timeline][hidden],[data-opening-staff][hidden]{display:none!important}
.intro-playing [data-opening-rail],html:has(dialog[open]) [data-opening-rail]{display:none!important}
.opening-rail{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:58;color:#303431;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45}
.opening-rail>summary{display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;min-width:44px;padding:17px 12px;border:1px solid #d7d3cc;border-right:0;border-radius:9px 0 0 9px;background:#faf9f5;box-shadow:-3px 2px 16px #2525250d;cursor:pointer;list-style:none}
.opening-rail>summary::-webkit-details-marker{display:none}
[data-opening-summary-compact]{display:none}
.opening-rail>summary::after{content:'+';font-size:16px;line-height:1}
.opening-rail[open]>summary::after{content:'−'}
.opening-rail>summary:focus-visible{outline:2px solid #795835;outline-offset:3px}
.opening-rail__dot{width:7px;height:7px;border-radius:50%;background:#898780;flex-shrink:0}
.opening-rail[data-opening-state="open"]>summary .opening-rail__dot{background:#4e7755}
.opening-rail__panel{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);width:310px;max-width:calc(100vw - 72px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:20px;border:1px solid #d7d3cc;border-radius:8px;background:#faf9f5;box-shadow:0 8px 28px #24262914}
.opening-rail__close{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;appearance:none;border:0;border-radius:5px;background:transparent;color:#303431;font:26px/1 Arial,Helvetica,sans-serif;cursor:pointer}
.opening-rail__close:hover{background:#ebe9e2}
.opening-rail__close:focus-visible{outline:2px solid #795835;outline-offset:1px}
.opening-rail__date{margin:0 0 8px;padding-right:34px;font-size:12px;color:#6a6b65}
.opening-rail__panel strong{font-size:19px;font-weight:500}
.opening-rail__status{margin:6px 0 0;font-size:12px;color:#6a6b65}
.opening-rail__hours{margin:12px 0 46px;font-size:14px;font-variant-numeric:tabular-nums}
.opening-rail[data-opening-day="tomorrow"] .opening-rail__hours{margin-bottom:16px}
.opening-rail__timeline{position:relative;height:8px;margin:0 0 10px;background:#dfded7;border-radius:4px}
.opening-rail__interval{position:absolute;top:0;height:100%;background:#829783;border-radius:2px}
.opening-rail__now{position:absolute;top:-8px;width:2px;height:20px;background:#303431;transform:translateX(-1px);z-index:1}
.opening-rail__now::after{content:'';position:absolute;top:7px;left:50%;width:10px;height:10px;box-sizing:border-box;border:2px solid #faf9f5;border-radius:50%;background:#303431;transform:translate(-50%,-1px);box-shadow:0 0 0 1px #303431}
.opening-rail__now-label{position:absolute;bottom:calc(100% + 11px);width:100px;padding:3px 4px;box-sizing:border-box;border-radius:4px;background:#303431;color:#faf9f5;text-align:center;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.opening-rail__scale{position:relative;display:flex;justify-content:space-between;font-size:10px;color:#6a6b65;font-variant-numeric:tabular-nums}
.opening-rail__scale-middle{position:absolute;transform:translateX(-50%)}
.opening-rail__timeline[hidden]+.opening-rail__scale{display:none}
.opening-rail__staff{margin:20px 0 0;padding-top:18px;border-top:1px solid #dfded7}
.opening-rail__staff h3{margin:0 0 14px;font-size:13px;font-weight:600}
.opening-rail__staff-list{display:grid;gap:16px;list-style:none;margin:0;padding:0}
.opening-rail__person-name{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500}
.opening-rail__person-hours{margin:5px 0 8px;font-size:12px;font-variant-numeric:tabular-nums;color:#6a6b65}
.opening-rail__staff-timeline{position:relative;height:4px;border-radius:2px;background:#dfded7}
.opening-rail__staff-now{position:absolute;top:-2px;width:2px;height:8px;background:#303431;transform:translateX(-1px)}
.opening-rail__staff-note{margin:16px 0 0;font-size:11px;line-height:1.4;color:#6a6b65}
@media(max-width:700px),(hover:none) and (pointer:coarse){
 /* Keep the status attached to the outer edge, above Orni's floating layer. */
 .opening-rail{top:50dvh;right:0;z-index:calc(var(--orni-layer,2147482900) + 1);font-size:12px}
 .opening-rail>summary{gap:8px;padding-right:calc(12px + env(safe-area-inset-right,0px))}
 .opening-rail__panel{max-width:calc(100vw - 64px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:18px}
 /* Leave the reading area clear, including while a speech bubble is fading. */
 html:has([data-opening-rail][open]:not([hidden])) .orni-chatbot__bubble{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transition:none!important}
}
@media(max-width:700px),(max-height:500px) and (hover:none) and (pointer:coarse){
 /* A narrow phone tab fits the page gutter instead of covering the copy. */
 .opening-rail>summary{position:relative;min-width:24px;gap:5px;padding:9px 4px;padding-right:calc(4px + env(safe-area-inset-right,0px));border-radius:5px 0 0 5px;box-shadow:none;font-size:11px;line-height:1.2}
 /* Restore the original touch width without enlarging the visible tab. */
 .opening-rail>summary::before{content:'';position:absolute;top:0;bottom:0;right:0;width:calc(100% + 20px);min-width:44px;pointer-events:auto}
 .opening-rail>summary [data-opening-summary]{display:none}
 .opening-rail>summary [data-opening-summary-compact]{display:inline;white-space:nowrap}
 .opening-rail>summary .opening-rail__dot{width:5px;height:5px}
 .opening-rail>summary::after{font-size:12px}
 .opening-rail__panel{max-width:calc(100vw - 40px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
}
.intro-playing [data-absence-banner]{display:none!important}
.absence-banner{display:flex;align-items:center;gap:24px;background:#efe7da;color:#272b2b;border-bottom:1px solid #cabca7;padding:18px var(--edge)}
.absence-banner>div:not(.absence-banner__art){flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 18px}
.absence-banner strong{font-size:17px;font-weight:600}.absence-banner span{font-size:14px;line-height:1.5}.absence-banner>a{white-space:nowrap;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.absence-banner__art{width:56px;flex:0 0 56px;height:56px;color:#746246}.absence-art svg,.absence-banner__art svg{width:100%;height:100%;display:block}
.absence-page h1{font-size:clamp(38px,5.5vw,76px);font-weight:400;letter-spacing:-.04em;line-height:1.05;margin:18px 0 40px}
.absence-card{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(25px,6vw,80px);align-items:center}
.absence-art{aspect-ratio:1.2;background:#eee8de;color:#716044;padding:12%;border:1px solid #d7ccba}
.absence-card h2{font-size:clamp(28px,3vw,43px);font-weight:400;line-height:1.15;margin:14px 0 22px}.absence-card p{max-width:600px}.absence-dates{font-size:22px}
.absence-contact{display:flex;flex-wrap:wrap;gap:18px 30px;margin-top:40px}.absence-empty{max-width:640px}
@media(max-width:700px){.absence-banner{gap:12px;padding:14px var(--edge);align-items:flex-start}.absence-banner__art{width:36px;height:36px;flex-basis:36px}.absence-banner>div:not(.absence-banner__art){display:block}.absence-banner span{display:block;font-size:13px}.absence-banner strong{font-size:15px}.absence-banner>a{font-size:13px}.absence-card{grid-template-columns:1fr}.absence-art{max-width:340px;width:100%;justify-self:center}}

.opening-rail__person[data-planned-now="true"] .opening-rail__dot{background:#aa8450}
.opening-rail__staff-note{font-size:12px;line-height:1.5;color:#4f514b}

.opening-rail__phone{display:inline-block;padding:6px 0;margin:0 0 6px;color:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:3px}.opening-rail__phone:focus-visible{outline:2px solid currentColor;outline-offset:3px}
