.mo-hours-list,.mo-calendar{font-family:inherit;color:inherit;max-width:850px}.mo-hours-list{display:grid;gap:22px}.mo-event{border:1px solid #e1e5e8;border-radius:12px;overflow:hidden;background:#fff;color:#24313b}.mo-event h3{margin:0;padding:17px 20px;background:#f5f7f8;font-size:1.2rem;line-height:1.4}.mo-event-rows{padding:4px 20px}.mo-event-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf0f2;line-height:1.5}.mo-event-row:last-child{border-bottom:0}.mo-event-row strong{white-space:nowrap;text-align:right}.mo-event-row .mo-closed{color:#a03d3d}.mo-calendar{background:#fff;color:#24313b;border:1px solid #e1e5e8;border-radius:14px;padding:16px}.mo-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.mo-calendar-head h3{margin:0;font-size:1.25rem}.mo-calendar-head a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e1e5e8;border-radius:9px;text-decoration:none;font-size:27px;color:inherit}.mo-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.mo-weekday{text-align:center;font-size:.82rem;font-weight:600;padding:7px 0}.mo-day{appearance:none;cursor:pointer;border:1px solid #e3e7eb;background:#fff;color:inherit;border-radius:8px;min-width:0;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px 2px;font:inherit}.mo-day-number{font-size:.95rem;font-weight:650}.mo-day-hours{font-size:.72rem;line-height:1.3;text-align:center;overflow-wrap:anywhere}.mo-day.mo-open{background:#e9f6ee;border-color:#b9e1c9}.mo-day.mo-closed{background:#fceeee;border-color:#eac4c4}.mo-day.mo-unknown{background:#f4f5f6;color:#67737b}.mo-day:hover,.mo-day:focus-visible,.mo-day[aria-pressed=true]{outline:2px solid #3267a6;outline-offset:1px}.mo-calendar-detail{margin-top:14px;background:#f5f7f9;padding:14px;border-radius:9px;display:flex;flex-wrap:wrap;gap:5px;min-height:48px}.mo-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:14px;font-size:.8rem}.mo-legend span{display:inline-flex;align-items:center;gap:6px}.mo-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.mo-dot.mo-open{background:#4aaf75}.mo-dot.mo-closed{background:#d87575}.mo-dot.mo-unknown{background:#b8c0c5}.mo-empty{padding:15px;background:#f5f7f9;border-radius:8px}@media(max-width:560px){.mo-calendar{padding:9px}.mo-calendar-grid{gap:3px}.mo-day{min-height:49px;padding:3px 1px}.mo-day-number{font-size:.84rem}.mo-day-hours{font-size:.58rem}.mo-event-row{flex-direction:column;gap:2px}.mo-event-row strong{text-align:left}.mo-event h3{padding:13px 15px}.mo-event-rows{padding:4px 15px}}
.mo-phase{display:inline-block;font-size:.72rem;font-weight:700;color:#355c78;background:#eaf1f6;border-radius:5px;padding:3px 6px;margin-right:7px}.mo-live-status{display:flex;align-items:center;gap:15px;border-radius:14px;border:1px solid #d6dde2;padding:18px 22px;max-width:450px;background:#f5f7f8;color:#24313b}.mo-live-indicator{width:20px;height:20px;border-radius:50%;flex-shrink:0;background:#b65353;box-shadow:0 0 0 6px #b6535320}.mo-live-status.mo-live-open{background:#e9f7ee;border-color:#a8d5b9}.mo-live-open .mo-live-indicator{background:#209456;box-shadow:0 0 0 6px #20945620}.mo-live-status.mo-live-closed{background:#fff1f1;border-color:#e6baba}.mo-live-title{display:block;font-size:1.25rem;line-height:1.4}.mo-live-sub{display:block;font-size:.9rem;margin-top:3px}.mo-presets{display:flex;flex-wrap:wrap;gap:14px}.mo-presets label{padding:8px 10px;background:#f3f5f7;border-radius:6px}

/* Version 1.2: high-contrast, clean Messe-Supermarkt presentation */
.mo-hours-list,.mo-calendar,.mo-live-status{font-family:inherit;box-sizing:border-box}
.mo-calendar,.mo-event{background:#fff!important;color:#242a30!important;border:1px solid #d9dfe2;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.045)}
.mo-calendar-head{background:#f0f3f4;border-radius:6px;padding:10px 12px}
.mo-calendar-head h3,.mo-event h3{color:#202b32!important;background:#f0f3f4!important;font-weight:750;opacity:1;text-shadow:none}
.mo-calendar-head a{background:#fff!important;color:#24343d!important;border:1px solid #cdd6da;box-shadow:none;line-height:1}
.mo-calendar-head a:hover,.mo-calendar-head a:focus-visible{background:#e3e9ed!important;color:#111!important}
.mo-event-row,.mo-event-row strong,.mo-event-row span{color:#26323a}
.mo-event-row .mo-closed{color:#9b2226!important}
.mo-day{color:#1b2a33!important;border-radius:5px;box-shadow:none;transition:filter .12s ease}
.mo-day.mo-closed{background:#f9d9dc!important;border-color:#e9a5ad!important;color:#751a25!important}
.mo-day.mo-short{background:#fff0b8!important;border-color:#e8cb61!important;color:#624a00!important}
.mo-day.mo-standard{background:#d4efdd!important;border-color:#88c99d!important;color:#16582d!important}
.mo-day.mo-special{background:#dceaff!important;border-color:#9cbce8!important;color:#194f89!important}
.mo-day.mo-unknown{background:#f2f3f5!important;border-color:#e0e2e5!important;color:#59646d!important}
.mo-day:hover{filter:brightness(.96)}
.mo-day:focus-visible,.mo-day[aria-pressed=true]{outline:2px solid #1b537e;outline-offset:1px}
.mo-day-number,.mo-day-hours{color:inherit!important}
.mo-dot.mo-closed{background:#c94b57}.mo-dot.mo-short{background:#e1b729}.mo-dot.mo-standard{background:#3d9b61}.mo-dot.mo-special{background:#4c88d1}.mo-dot.mo-unknown{background:#a9b0b6}
.mo-calendar-detail{background:#f0f3f4;color:#26323a}
.mo-calendar[aria-busy=true]{opacity:.75}
@media(max-width:560px){.mo-calendar-head{padding:7px}.mo-calendar-head h3{font-size:1.04rem}.mo-day{min-height:52px}.mo-day-hours{font-size:.6rem}}

/* v1.3: slate-dark styling aligned with the Messe-Supermarkt visual direction. */
.mo-hours-list,.mo-calendar,.mo-live-status{--mo-slate:#28323a;--mo-slate-2:#35434c;--mo-text:#f4f6f7;--mo-border:#53616a;color:var(--mo-text)!important}
.mo-calendar,.mo-event{background:var(--mo-slate)!important;color:var(--mo-text)!important;border:1px solid var(--mo-border)!important;box-shadow:0 4px 18px rgba(0,0,0,.2)}
.mo-calendar-head,.mo-event h3{background:var(--mo-slate-2)!important;color:#fff!important}
.mo-calendar-head h3,.mo-event h3{color:#fff!important;text-shadow:none!important}
.mo-calendar-head a{background:#465660!important;color:#fff!important;border-color:#71808a!important}
.mo-calendar-head a:hover,.mo-calendar-head a:focus-visible{background:#61737e!important;color:#fff!important}
.mo-weekday{color:#e4e9ed!important}
.mo-event-row,.mo-event-row strong,.mo-event-row span{color:#f2f5f7!important}
.mo-event-row{border-color:#53616a!important}
.mo-event-row .mo-closed{color:#ff9fa5!important}
.mo-phase{background:#4c5d69!important;color:#fff!important}
.mo-calendar-detail{background:#394852!important;color:#fff!important}
.mo-legend{color:#e8edf0!important}
.mo-day.mo-closed{background:#f9d9dc!important;color:#751a25!important}
.mo-day.mo-short{background:#fff0b8!important;color:#624a00!important}
.mo-day.mo-standard{background:#d4efdd!important;color:#16582d!important}
.mo-day.mo-special{background:#dceaff!important;color:#194f89!important}
.mo-day.mo-unknown{background:#46525b!important;color:#edf1f3!important;border-color:#6c7880!important}
.mo-live-status{background:#34424b!important;border:1px solid #65747d!important;color:#fff!important}
.mo-live-status.mo-live-open{background:#214a38!important;border-color:#579976!important}
.mo-live-status.mo-live-closed{background:#57343a!important;border-color:#a86871!important}
.mo-empty{background:#34424b;color:#fff}

/* v1.4: protect the calendar heading from theme heading backgrounds. */
.mo-calendar .mo-calendar-head {background:#35434c!important;color:#fff!important;}
.mo-calendar .mo-calendar-head h3,
.mo-calendar .mo-calendar-head h3::before,
.mo-calendar .mo-calendar-head h3::after {background:#35434c!important;background-image:none!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important;}
.mo-calendar .mo-calendar-head h3 {display:block!important;padding:0 8px!important;margin:0!important;border:0!important;-webkit-text-fill-color:#fff!important;}
.mo-hours-list .mo-event h3 {background:#35434c!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}

.mo-hours-list .mo-general-closure{background:#422c32;color:#ffe4e5;border-left:4px solid #e66b73;border-radius:5px;padding:13px 16px;margin:14px 0;font-weight:600;line-height:1.55}.mo-hours-list .mo-closure-mark{color:#f08085;margin-right:7px}

/* Calendar detail layout: date, unique time(s), fairs listed separately. */
.mo-calendar-detail{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
.mo-calendar-detail .mo-detail-group{width:100%}
.mo-calendar-detail .mo-detail-hours{font-weight:700}
.mo-calendar-detail .mo-detail-events{list-style:none;margin:5px 0 0;padding:0}
.mo-calendar-detail .mo-detail-events li{margin:3px 0;padding-left:14px;position:relative}
.mo-calendar-detail .mo-detail-events li:before{content:'·';position:absolute;left:2px}
