/* Intentionally transparent: use the Elementor parent container for a background image. */
.kcm-month {
    --kcm-month-text: #26332e;
    --kcm-month-accent: #28654a;
    --kcm-month-line: rgba(38, 51, 46, .22);
    --kcm-month-day-bg: transparent;
    --kcm-month-day-height: 120px;
    --kcm-month-today-text: var(--kcm-month-text);
    --kcm-month-today-bg: var(--kcm-month-day-bg);
    --kcm-month-grid-display: grid;
    --kcm-month-list-display: none;
    --kcm-month-today-display: inline-flex;
    color: var(--kcm-month-text);
    background: transparent;
    width: 100%;
    min-width: 0;
    font: inherit;
}
.kcm-month, .kcm-month * { box-sizing: border-box; }
.kcm-month .kcm-month-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .75em; margin-bottom: 1em; }
.kcm-month .kcm-month-heading { margin: 0; flex: 1; font: inherit; font-size: 1.5em; font-weight: 700; color: inherit; }
.kcm-month button { font: inherit; color: var(--kcm-month-accent); background: transparent; border: 1px solid var(--kcm-month-line); border-radius: var(--kcm-radius-sm); padding: .4em .75em; display: inline-flex; align-items: center; justify-content: center; line-height: 1.2; min-width: 44px; min-height: 44px; cursor: pointer; }
.kcm-month button:disabled { opacity: .4; cursor: default; }
.kcm-month button:hover, .kcm-month button:focus-visible { border-color: var(--kcm-month-accent); }
.kcm-month .kcm-month-today-button { display: var(--kcm-month-today-display); }
.kcm-month .kcm-month-nav-icon { display: inline-flex; align-items: center; justify-content: center; font-size: 1.4em; line-height: 1; }
.kcm-month .kcm-month-nav-icon svg { display: block; width: 1em; height: 1em; }
.kcm-month .kcm-month-nav-icon svg:not([fill="none"]), .kcm-month .kcm-month-nav-icon svg [fill]:not([fill="none"]) { fill: currentColor; }
.kcm-month .kcm-month-nav-icon svg [stroke]:not([stroke="none"]), .kcm-month .kcm-month-nav-icon svg[stroke]:not([stroke="none"]) { stroke: currentColor; }
.kcm-month :is(button, select, a):focus-visible { outline: 3px solid var(--kcm-month-accent); outline-offset: 3px; }
.kcm-month .kcm-month-nav-button:focus-visible, .kcm-month .kcm-month-today-button:focus-visible { outline-color: currentColor; }
.kcm-month .kcm-month-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .6em; margin-bottom: 1em; font: inherit; }
.kcm-month select { font: inherit; color: inherit; background: var(--kcm-month-day-bg); border: 1px solid var(--kcm-month-line); border-radius: var(--kcm-radius-sm); padding: .5em; max-width: 100%; }
.kcm-month .kcm-month-grid { display: var(--kcm-month-grid-display); grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--kcm-month-line); border-left: 1px solid var(--kcm-month-line); }
.kcm-month .kcm-month-weekday, .kcm-month .kcm-month-day { border-right: 1px solid var(--kcm-month-line); border-bottom: 1px solid var(--kcm-month-line); padding: .65em; min-width: 0; background: var(--kcm-month-day-bg); }
.kcm-month .kcm-month-weekday { text-align: center; font-weight: 700; }
.kcm-month abbr { border: 0; text-decoration: none; cursor: default; }
.kcm-month .kcm-month-day { min-height: var(--kcm-month-day-height); }
.kcm-month .kcm-month-day-number { display: inline-block; font-weight: 600; }
.kcm-month .kcm-month-day-today, .kcm-month .kcm-month-list-day-today { background: var(--kcm-month-today-bg); }
.kcm-month .kcm-month-day-today .kcm-month-day-number { color: var(--kcm-month-today-text); font-weight: 700; }
.kcm-month .kcm-month-events { list-style: none; padding: 0; margin: .6em 0 0; }
.kcm-month .kcm-month-event { list-style: none; margin: 0; padding: .5em 0; border-top: 1px solid var(--kcm-month-line); overflow-wrap: anywhere; line-height: 1.4; }
.kcm-month .kcm-month-event-title { color: inherit; font-weight: 600; }
.kcm-month a.kcm-month-event-title { color: var(--kcm-month-accent); text-decoration: underline; text-underline-offset: .15em; }
.kcm-month .kcm-month-time, .kcm-month .kcm-month-range { display: block; font-size: .85em; }
.kcm-month .kcm-month-list { display: var(--kcm-month-list-display); }
.kcm-month .kcm-month-list-day { margin-bottom: 1.25em; padding: .65em; }
.kcm-month .kcm-month-list-day h3 { font: inherit; font-weight: 600; color: inherit; margin: 0 0 .5em; }
.kcm-month .kcm-month-list-day-today h3 { color: var(--kcm-month-today-text); font-weight: 700; }
.kcm-month .kcm-month-status { font-size: .9em; margin: .5em 0; }
.kcm-month .kcm-month-status:empty { margin: 0; }
.kcm-month [aria-busy="true"] .kcm-month-grid, .kcm-month [aria-busy="true"] .kcm-month-list { opacity: .6; }
@media (max-width: 767px) {
    .kcm-month { --kcm-month-grid-display: none; --kcm-month-list-display: block; }
    .kcm-month .kcm-month-heading { font-size: 1.2em; }
    .kcm-month .kcm-month-toolbar [data-kcm-month-today] { font-size: .9em; }
}

.kcm-month .kcm-month-closure-label { display: block; font-size: .85em; font-weight: 700; }
/* The companion plugin supplies the ICS link; its appearance belongs to this widget. */
.kcm-month .kcm-event-download{display:block;font-size:.8em;margin-top:.35em;box-sizing:border-box;max-width:100%;}

.kcm-month [data-kcm-month-retry][hidden]{display:none!important;}
.kcm-month .kcm-month-empty{padding:1em 0;line-height:1.6;}
.kcm-month .kcm-month-event-title,.kcm-month .kcm-event-download{overflow-wrap:anywhere;}

/* Reader-controlled contrast over custom theme/Elementor imagery. */
.kcm-month-readable-control{font:inherit;min-height:44px;margin-top:12px;padding:8px 12px;border:1px solid currentColor;border-radius:6px;background:#fff;color:#172033;cursor:pointer;}
.kcm-month.kcm-month-readable{--kcm-month-text:#172033!important;--kcm-month-accent:#007b82!important;--kcm-month-line:#81909f!important;--kcm-month-day-bg:#fff!important;--kcm-month-today-text:#172033!important;--kcm-month-today-bg:#e8f5f1!important;background:#fff!important;color:#172033!important;padding:16px;border-radius:9px;}
.kcm-month.kcm-month-readable :is(a,button,input,select){color:#172033!important;background-color:#fff!important;border-color:#81909f!important;}
.kcm-month.kcm-month-readable a{text-decoration:underline;}
.kcm-month.kcm-month-readable :focus-visible{outline:3px solid #00666c!important;outline-offset:3px;}
.kcm-month-more{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;}
@media(forced-colors:active){.kcm-month :focus-visible{outline:3px solid Highlight!important;}.kcm-month-day{border:1px solid CanvasText;}}

.kcm-month-venue{font-size:.85em;line-height:1.5;margin-top:4px;overflow-wrap:anywhere;}

/* Picture buttons remain outside the refreshed calendar body. */
.kcm-month-choices{margin-top:1.5rem}.kcm-month-choices-help{margin:0 0 .8rem}.kcm-month-choice-grid{display:var(--kcm-choice-display,flex);grid-template-columns:repeat(var(--kcm-choice-columns,3),minmax(0,1fr));flex-wrap:wrap;gap:var(--kcm-choice-gap,12px);align-items:stretch}
.kcm-month .kcm-month-choice{box-sizing:border-box;width:var(--kcm-choice-item-width,var(--kcm-choice-width,140px));max-width:100%;display:flex;flex-direction:column;gap:.35rem;align-items:stretch;padding:8px;border:2px solid var(--kcm-month-line,#cdd5da);border-radius:var(--kcm-choice-radius,12px);background:var(--kcm-choice-inactive-background,transparent);color:var(--kcm-choice-inactive-text,#45515b);font:inherit;line-height:1.35;text-align:center;cursor:pointer;box-shadow:none;transition:background-color .15s,border-color .15s}
.kcm-month .kcm-month-choice.is-active{background:var(--kcm-choice-active-background,#e3f1ef);border-color:var(--kcm-choice-active-border,var(--kcm-month-accent,#007b82));color:var(--kcm-choice-active-text,#173c3b)}
.kcm-month-choice-image{display:flex;align-items:center;justify-content:center;height:var(--kcm-choice-image-height,90px);overflow:hidden;border-radius:calc(var(--kcm-choice-radius,12px) / 2);background:transparent}.kcm-month-choice-image img{width:100%;height:100%;object-fit:var(--kcm-choice-image-fit,cover);object-position:var(--kcm-choice-image-x,50%) var(--kcm-choice-image-y,50%);background:transparent;margin:0}.kcm-month-choice:not(.is-active) .kcm-month-choice-image{filter:grayscale(1);opacity:.65}.kcm-month-choice-fallback{font-size:2rem}.kcm-month-choice-name{font-weight:600;overflow-wrap:anywhere}.kcm-month-choice-state{font-size:.8em}.kcm-month .kcm-month-choice:focus-visible{outline:3px solid var(--kcm-month-accent,#007b82);outline-offset:3px}.kcm-month .kcm-month-choice:hover{border-color:var(--kcm-month-accent,#007b82)}.kcm-month-readable .kcm-month-choice{border-color:currentColor;color:#111;background:#fff}.kcm-month-readable .kcm-month-choice.is-active{color:#fff;background:#173c3b}
@media(max-width:480px){.kcm-month-choice-grid{gap:var(--kcm-choice-gap,8px)}.kcm-month .kcm-month-choice{width:var(--kcm-choice-item-width,var(--kcm-choice-width,calc((100% - var(--kcm-choice-gap,8px)) / 2)))}}
@media(prefers-reduced-motion:reduce){.kcm-month .kcm-month-choice{transition:none}}

/* Themes often give buttons white-space:nowrap; allow every card text to wrap. */
.kcm-month .kcm-month-choice{white-space:normal;min-width:0;min-height:0;overflow-wrap:anywhere}
.kcm-month .kcm-month-choice :is(.kcm-month-choice-name,.kcm-month-choice-state){display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.kcm-month-choice-image{width:100%;min-width:0;flex-shrink:0;background:transparent}.kcm-month-choice-image img{display:block;min-width:0;max-width:100%;background:transparent}
.kcm-month-choices-help{white-space:normal;overflow-wrap:anywhere;max-width:100%}

.kcm-month.kcm-month-readable .kcm-month-choice.is-active{background:#173c3b!important;color:#fff!important;border-color:#173c3b!important}

/* Equal-height cards: fixed image at top, centered label, status at bottom. */
.kcm-month .kcm-month-choice .kcm-month-choice-image{flex:0 0 var(--kcm-choice-image-height,90px)}
.kcm-month .kcm-month-choice .kcm-month-choice-name{display:flex;flex:1 0 auto;align-items:center;justify-content:center;text-align:center}
.kcm-month .kcm-month-choice .kcm-month-choice-state{flex:0 0 auto;margin-top:auto}
