/* Shared Calendar editor classes supply the brand, layout and responsive controls. */
.lf-editor fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.lf-editor fieldset.lc-controls { padding-top: 4px; }
.lf-editor .lf-panel { display: block; }
.lf-page-heading { justify-content: center; }
.lf-editor .lc-stage canvas { touch-action: none; cursor: grab; }
.lf-editor canvas:active { cursor: grabbing; }
#lf-empty { position: absolute; background: #f2ede4e6; max-width: 85%; }
.lf-guide { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; margin-top: 12px; }
.lf-guide input { accent-color: var(--lemare-green); }
.lf-caption { text-align: center; font-size: 13px; margin: 5px auto 0; max-width: 55ch; }
.lf-new { font-size: 14px; margin-top: 12px; }
#lf-filename { overflow-wrap: anywhere; }
.lf-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
#lf-stage.is-drop-target { outline: 3px dashed var(--lemare-green-dark); outline-offset: -3px; }
.lf-editor .lc-library button { cursor: grab; }
.lf-editor .lc-zoom-heading #lf-zoom-close,.lf-zoom-tools button { background: var(--lemare-green); color: #fff; border-color: var(--lemare-green); }
.lf-editor .lc-zoom-heading #lf-zoom-close:hover { background: var(--lemare-green-dark); }
.lf-zoom-tools { text-align: center; margin-bottom: 12px; }
.lf-zoom-tools p { font-size: 13px; margin: 6px 0; }
#lf-zoom-canvas { touch-action: none; cursor: grab; max-height: calc(100dvh - 230px); }
@media(max-width:780px) { .lf-editor .lf-panel .lc-upload { width: 100%; } .lf-editor .lf-panel .lc-library { display: flex; } }

.lf-editor .lc-intro h1 { text-wrap: balance; }
.lf-dimensions { white-space: nowrap; }
