.mmcf-calendar{font:inherit;color:inherit;max-width:100%}
.mmcf-filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px;align-items:end}
.mmcf-filters label{display:flex;flex-direction:column;gap:5px;font-size:.92em;font-weight:600;min-width:170px}
.mmcf-filters select{min-height:40px;padding:7px 30px 7px 10px;border:1px solid #c8c8c8;border-radius:5px;background:#fff;color:#333;font:inherit;font-weight:400;max-width:100%}
.mmcf-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 14px;font-size:.88em}
.mmcf-legend span{display:inline-flex;align-items:center;gap:6px}
.mmcf-legend i{display:inline-block;width:11px;height:11px;border-radius:3px}
.mmcf-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.mmcf-navigation,.mmcf-views{display:flex;align-items:center;gap:6px}
.mmcf-navigation strong{margin-left:8px;font-size:1.15em}
.mmcf-toolbar button{border:1px solid #c9c9c9;background:#fff;border-radius:5px;padding:7px 12px;color:inherit;cursor:pointer;font:inherit}
.mmcf-toolbar button:hover,.mmcf-toolbar button:focus{background:#f2f2f2}
.mmcf-toolbar button.is-active{background:#333;color:#fff;border-color:#333}
.mmcf-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #ddd;border-left:1px solid #ddd}
.mmcf-weekday{padding:8px 4px;text-align:center;font-weight:700;background:#f5f5f5;border-right:1px solid #ddd;border-bottom:1px solid #ddd}
.mmcf-day{min-height:116px;min-width:0;padding:5px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff}
.mmcf-day.is-outside{background:#fafafa;color:#999}
.mmcf-day.is-today{box-shadow:inset 0 0 0 2px #777}
.mmcf-day-number{font-size:.88em;font-weight:700;margin-bottom:4px}
.mmcf-event{display:block;margin:3px 0;padding:4px 5px;border-left:3px solid var(--mmcf-color,#777);border-radius:3px;background:color-mix(in srgb,var(--mmcf-color,#777) 13%, white);color:#222;text-decoration:none;font-size:.78em;line-height:1.3;overflow-wrap:anywhere}
.mmcf-event{cursor:default;color:#222}
.mmcf-event-time{font-weight:700;white-space:nowrap}
.mmcf-event-location{display:block;margin-top:2px;font-size:.94em}
.mmcf-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #ddd;border-left:1px solid #ddd}
.mmcf-week-day{min-height:240px;padding:6px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;min-width:0}
.mmcf-week-day .mmcf-day-number{padding-bottom:5px;border-bottom:1px solid #eee}
.mmcf-empty{padding:18px;text-align:center;background:#f8f8f8;margin-top:10px}
@media(max-width:700px){.mmcf-toolbar{align-items:flex-start;flex-wrap:wrap}.mmcf-navigation{flex-wrap:wrap}.mmcf-grid,.mmcf-week-grid{grid-template-columns:repeat(7,minmax(90px,1fr))}.mmcf-calendar{overflow-x:auto}.mmcf-day{min-height:95px}.mmcf-filters label{flex:1 1 100%;min-width:0}.mmcf-legend{font-size:.8em}}

.mmcf-export{margin:12px 0 18px;padding:12px 14px;border:1px solid #ddd;border-radius:6px;background:rgba(255,255,255,.55);display:flex;flex-direction:column;gap:6px}
.mmcf-export>span{font-size:.88em;opacity:.8}
.mmcf-export-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.mmcf-export-buttons button{font:inherit;font-size:.9em;padding:7px 10px;border:1px solid #bbb;border-radius:5px;background:#fff;color:inherit;cursor:pointer}
.mmcf-export-buttons button:hover,.mmcf-export-buttons button:focus{background:#f1f1f1}

.mmcf-export{margin:14px 0 18px;padding:12px;border:1px solid #ddd;border-radius:6px;background:rgba(255,255,255,.55)}
.mmcf-export>strong,.mmcf-export>span{display:block;margin-bottom:6px}
.mmcf-export-range{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}
.mmcf-export-range label{display:flex;flex-direction:column;gap:4px;font-size:.9em;font-weight:600}
.mmcf-export-range input{min-height:36px;padding:5px 8px;border:1px solid #c8c8c8;border-radius:4px;font:inherit;background:#fff;color:#333}
.mmcf-export-buttons{display:flex;flex-wrap:wrap;gap:8px}
.mmcf-export-buttons button{max-width:100%;padding:7px 10px;border:1px solid #bbb;border-radius:4px;background:#fff;color:inherit;font:inherit;cursor:pointer}
.mmcf-export-buttons button:hover,.mmcf-export-buttons button:focus{background:#f2f2f2}

/* Fix: ensure the first glyph is not clipped by template/theme link rules. */
.mmcf-calendar .mmcf-event{box-sizing:border-box;padding:5px 7px 5px 8px!important;text-indent:0!important;letter-spacing:normal;overflow:visible;clip-path:none}
.mmcf-calendar .mmcf-event-content{display:block;min-width:0;padding:0!important;margin:0!important;text-indent:0!important;transform:none}
.mmcf-calendar .mmcf-event-title{display:block;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-indent:0!important;padding-left:0!important;margin-left:0!important}
.mmcf-calendar .mmcf-event-time{display:block;white-space:normal;text-indent:0!important;margin:0 0 2px!important;padding:0!important}
.mmcf-calendar .mmcf-event-location{display:block;text-indent:0!important;padding:0!important;margin:2px 0 0!important}
.mmcf-day-grid{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid #ddd;border-left:1px solid #ddd}
.mmcf-single-day{min-height:280px;padding:10px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff}
.mmcf-single-day .mmcf-event{max-width:100%;font-size:.95em;padding:8px 10px!important;margin:6px 0}
.mmcf-single-day .mmcf-event-content{display:grid;grid-template-columns:minmax(150px,auto) minmax(0,1fr);gap:4px 12px}
.mmcf-single-day .mmcf-event-time{grid-column:1}
.mmcf-single-day .mmcf-event-title{grid-column:2;grid-row:1}
.mmcf-single-day .mmcf-event-location{grid-column:2;grid-row:2}
@media(max-width:700px){.mmcf-single-day .mmcf-event-content{display:block}}

/* Manuell gepflegte Ferien- und Sperrzeiten */
.mmcf-holiday{display:block;margin:3px 0;padding:4px 5px;border-left:3px solid #b45309;border-radius:3px;background:#fff1d6;color:#78350f;font-size:.78em;line-height:1.3;font-weight:700;overflow-wrap:anywhere}
