.opening-hours-poster{--hours-ink:#153e35;--hours-accent:#165c4b;--hours-paper:#f7f7ed;--hours-tint:#e9efe3;position:relative;isolation:isolate;height:100%;width:100%;box-sizing:border-box;padding:5.2cqw 6cqw 4cqw;background:var(--hours-paper);color:var(--hours-ink);border:.45cqw solid var(--hours-accent);display:flex;flex-direction:column;overflow:hidden;font-family:Arial,sans-serif}
.opening-hours-poster header{border-bottom:.25cqw solid #b6c8a9;padding-bottom:3cqw;margin-bottom:3cqw}
.opening-hours-poster .hours-eyebrow{font-size:2cqw;font-weight:700;letter-spacing:.2cqw}
.opening-hours-poster h2{font-size:6cqw;line-height:1.08;margin:2cqw 0 1cqw;letter-spacing:-.15cqw;color:var(--hours-ink)}
.opening-hours-poster header p{font-size:3.2cqw;margin:0;color:#506553}
.opening-hours-poster .hours-weeks{flex:1;min-height:0;display:flex;flex-direction:column;gap:3cqw}
.opening-hours-poster section{min-height:0}
.opening-hours-poster h3{display:flex;justify-content:space-between;align-items:baseline;font-size:3.7cqw;background:var(--hours-accent);color:#fff;border-radius:1.1cqw;padding:1.4cqw 2cqw;margin:0 0 .8cqw}
.opening-hours-poster h3 span{font-size:2.2cqw;font-weight:400}
.opening-hours-poster .hours-day{display:grid;grid-template-columns:1.1fr 1fr auto;gap:1.4cqw;align-items:center;box-sizing:border-box;min-height:5.6cqw;padding:.5cqw 1.5cqw;border-bottom:.12cqw solid #d8e0d3;font-size:2.9cqw;line-height:1.15}
.opening-hours-poster .hours-day-name{font-weight:700}
.opening-hours-poster .hours-day-name small{font-size:1.9cqw;font-weight:400;margin-left:1cqw;color:#536754;white-space:nowrap}
.opening-hours-poster .hours-day-time{font-weight:700;white-space:normal}
.opening-hours-poster .hours-day-label{font-size:1.65cqw;font-weight:700;min-width:9cqw;text-align:center}
.opening-hours-poster .hours-deviation{background:#fff0c6;border-radius:.7cqw}
.opening-hours-poster .hours-closed .hours-day-time{font-weight:400;color:#56655b}
.opening-hours-poster footer{display:flex;align-items:center;gap:2cqw;margin-top:2.5cqw;border-top:.2cqw solid #b6c8a9;padding-top:2.2cqw;font-size:2.9cqw;font-weight:700}
.opening-hours-poster footer img{width:9cqw;height:9cqw;object-fit:contain}
.opening-hours-poster footer small{display:block;font-size:1.65cqw;font-weight:400;margin-top:.9cqw;max-width:62cqw;line-height:1.4}

/* The display already resolves the calendar, manual theme and theme preview. */
.display[data-theme=spring] .opening-hours-poster{--hours-accent:#44613a;--hours-paper:#f8faef;--hours-tint:#e5edd7}
.display[data-theme=summer] .opening-hours-poster{--hours-accent:#296760;--hours-paper:#fffbee;--hours-tint:#f5edc9}
.display[data-theme=autumn] .opening-hours-poster{--hours-accent:#805035;--hours-ink:#48392f;--hours-paper:#fbf5e9;--hours-tint:#efdfc9}
.display[data-theme=winter] .opening-hours-poster{--hours-accent:#395e76;--hours-ink:#253e50;--hours-paper:#f4f8fb;--hours-tint:#e0ebf2}
.display[data-theme=newyear] .opening-hours-poster{--hours-accent:#675533;--hours-paper:#fffaf0;--hours-tint:#ede4cc}
.display[data-theme=valentine] .opening-hours-poster{--hours-accent:#884653;--hours-paper:#fff6f5;--hours-tint:#f1dfe3}
.display[data-theme=easter] .opening-hours-poster{--hours-accent:#627038;--hours-paper:#fffdef;--hours-tint:#f2ecc9}
.display[data-theme=kingsday] .opening-hours-poster,.display[data-theme=football] .opening-hours-poster{--hours-accent:#95501e;--hours-paper:#fff8ed;--hours-tint:#f5e3cc}
.display[data-theme=liberation] .opening-hours-poster{--hours-accent:#365d77;--hours-paper:#f8faf7;--hours-tint:#e1eaf1}
.display[data-theme=halloween] .opening-hours-poster{--hours-accent:#70503e;--hours-paper:#fcf5ea;--hours-tint:#eddfcf}
.display[data-theme=sinterklaas] .opening-hours-poster{--hours-accent:#87463f;--hours-paper:#fff9ef;--hours-tint:#efded4}
.display[data-theme=christmas] .opening-hours-poster{--hours-accent:#345b47;--hours-paper:#fcf8ed;--hours-tint:#e7e5d3}
.display[data-theme=pride] .opening-hours-poster{--hours-accent:#66517a;--hours-paper:#fcf9fd;--hours-tint:#eee4f2}
.display[data-theme=volunteer] .opening-hours-poster{--hours-accent:#7c5542;--hours-paper:#fff9f0;--hours-tint:#efe2d2}
.display[data-theme=olympics] .opening-hours-poster{--hours-accent:#396078;--hours-paper:#fffaf1;--hours-tint:#e4ebec}
.opening-hours-poster .hours-closed{background:#eceee9}
.opening-hours-poster .hours-today{box-shadow:inset .5cqw 0 var(--hours-accent);background:var(--hours-tint)}
.opening-hours-poster .hours-deviation{background:#fff0c6}
.opening-hours-poster .hours-day-label span{display:block;margin:.35cqw 0}
.opening-hours-poster .hours-exception-label{color:#754600}
/* Photographic seasonal backgrounds. Only the active theme is downloaded. */
.opening-hours-poster{border:0;--hours-photo:url("assets/hours/standard-v1.webp");background:var(--hours-paper)}
.opening-hours-poster:before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:var(--hours-photo) center/cover no-repeat}
/* A static feathered veil provides contrast without GPU blur or animation. */
.opening-hours-poster:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,252,245,.42),rgba(255,252,245,.05) 25%,rgba(255,252,245,.05) 78%,rgba(255,252,245,.35))}
.opening-hours-poster header{text-align:center;border:0;padding-bottom:2cqw;margin-bottom:2.6cqw}
.opening-hours-poster .hours-eyebrow{font-weight:400;letter-spacing:.27cqw}
.opening-hours-poster h2{font-size:7cqw}
.opening-hours-poster header p{color:var(--hours-ink);font-size:3.8cqw}
.opening-hours-poster h3{background:none;color:var(--hours-accent);border-radius:0;padding:1.2cqw 1.5cqw;border-bottom:.15cqw solid rgba(80,60,40,.22)}
.opening-hours-poster .hours-day{border-bottom-color:rgba(80,60,40,.19)}
.opening-hours-poster .hours-day-name{font-weight:400}
.opening-hours-poster .hours-day-name small{color:var(--hours-ink)}
.opening-hours-poster .hours-day-time{font-weight:600;font-variant-numeric:tabular-nums}
.opening-hours-poster .hours-closed{background:rgba(246,244,237,.46)}
.opening-hours-poster .hours-closed .hours-day-time{color:var(--hours-ink)}
.opening-hours-poster .hours-deviation{border-radius:0;background:rgba(255,229,166,.52)}
.opening-hours-poster .hours-today{background:rgba(233,239,227,.75)}
.opening-hours-poster footer{border:0;font-weight:400;justify-content:space-between}
.opening-hours-poster footer img{order:2}
.display[data-theme=spring] .opening-hours-poster{--hours-photo:url("assets/hours/spring-v1.webp")}
.display[data-theme=summer] .opening-hours-poster{--hours-photo:url("assets/hours/summer-v1.webp")}
.display[data-theme=autumn] .opening-hours-poster{--hours-photo:url("assets/hours/autumn-v1.webp")}
.display[data-theme=winter] .opening-hours-poster{--hours-photo:url("assets/hours/winter-v1.webp")}
.display[data-theme=newyear] .opening-hours-poster{--hours-photo:url("assets/hours/newyear-v1.webp")}
.display[data-theme=valentine] .opening-hours-poster{--hours-photo:url("assets/hours/valentine-v1.webp")}
.display[data-theme=easter] .opening-hours-poster{--hours-photo:url("assets/hours/easter-v1.webp")}
.display[data-theme=kingsday] .opening-hours-poster{--hours-photo:url("assets/hours/kingsday-v1.webp")}
.display[data-theme=liberation] .opening-hours-poster{--hours-photo:url("assets/hours/liberation-v1.webp")}
.display[data-theme=halloween] .opening-hours-poster{--hours-photo:url("assets/hours/halloween-v1.webp")}
.display[data-theme=sinterklaas] .opening-hours-poster{--hours-photo:url("assets/hours/sinterklaas-v1.webp")}
.display[data-theme=christmas] .opening-hours-poster{--hours-photo:url("assets/hours/christmas-v1.webp")}
.display[data-theme=pride] .opening-hours-poster{--hours-photo:url("assets/hours/pride-v1.webp")}
.display[data-theme=volunteer] .opening-hours-poster{--hours-photo:url("assets/hours/volunteer-v1.webp")}
.display[data-theme=football] .opening-hours-poster{--hours-photo:url("assets/hours/football-v1.webp")}
.display[data-theme=olympics] .opening-hours-poster{--hours-photo:url("assets/hours/olympics-v1.webp")}

/* Readable dates and local reading surfaces leave the photograph visible. */
.opening-hours-poster{padding:4cqw 4.5cqw 3cqw}
.opening-hours-poster header{background:radial-gradient(ellipse,rgba(255,252,245,.88),rgba(255,252,245,0) 75%)}
.opening-hours-poster .hours-weeks{gap:3.5cqw}
.opening-hours-poster .hours-weeks section{padding:.8cqw 1cqw 1cqw;border-radius:1.6cqw;background:rgba(255,252,245,.76);box-shadow:0 0 2.8cqw 1cqw rgba(255,252,245,.22)}
.opening-hours-poster h3 span{font-size:2.8cqw;font-weight:600}
.opening-hours-poster .hours-day{grid-template-columns:1.3fr 1fr auto;gap:1cqw}
.opening-hours-poster .hours-day-name small{font-size:2.8cqw;margin-left:.8cqw}
.opening-hours-poster .hours-day-label{min-width:7cqw;font-size:1.9cqw}
.opening-hours-poster footer>div{padding:.6cqw 1cqw;border-radius:1cqw;background:rgba(255,252,245,.72)}
