/* Scoped calendar is shared by the public form and the editor preview. */
.pe-calendar{--pec-bg:var(--pe-input-bg,#fffdfa);--pec-ink:var(--pe-input-text,#191919);--pec-line:var(--pe-input-border,#d8cfc2);--pec-accent:var(--pe-focus,var(--pe-accent,#344e41));color:var(--pec-ink);font-family:inherit;min-width:0;width:100%;padding:16px;border:1px solid var(--pec-line);border-radius:12px;background:var(--pec-bg);container-type:inline-size;container-name:event-calendar}
.pe-calendar *{box-sizing:border-box}.pe-calendar [hidden]{display:none!important}.pe-calendar button,.pe-calendar input{font:inherit;touch-action:manipulation}.pe-calendar button{cursor:pointer}.pe-calendar button:disabled{cursor:default;opacity:.48}.pe-calendar .pe-icon{width:18px;height:18px}.pe-calendar .pe-calendar-header{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:9px;align-items:center;margin-bottom:17px}.pe-calendar .pe-calendar-month{text-align:center;font-size:1.03rem;line-height:1.35;font-weight:650;text-transform:capitalize;margin:0;letter-spacing:-.015em}.pe-calendar .pe-calendar-nav{width:38px;height:38px;min-height:0;padding:0;display:grid;place-items:center;border:1px solid var(--pec-line);border-radius:50%;background:transparent;color:inherit;box-shadow:none}.pe-calendar .pe-calendar-weekdays,.pe-calendar .pe-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.pe-calendar .pe-calendar-weekdays{margin-bottom:9px;text-align:center;font-size:.65rem;font-weight:650;opacity:.7}.pe-calendar .pe-calendar-day{min-width:0;min-height:62px;padding:8px 2px 7px;border:1px solid transparent;box-shadow:none;border-radius:8px;background:transparent;color:inherit;line-height:1.1;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.pe-calendar .pe-calendar-day strong{font-size:.94rem;font-weight:500}.pe-calendar .pe-calendar-day small{display:block;font-size:.55rem;line-height:1.25;font-weight:500;white-space:nowrap}.pe-calendar .pe-calendar-day[data-available=true]{background:color-mix(in srgb,var(--pec-accent) 7%,var(--pec-bg));border-color:color-mix(in srgb,var(--pec-accent) 12%,var(--pec-line))}.pe-calendar .pe-calendar-day[data-selected=true]{border-color:var(--pec-accent);box-shadow:inset 0 0 0 1px var(--pec-accent);background:color-mix(in srgb,var(--pec-accent) 15%,var(--pec-bg));font-weight:700}.pe-calendar .pe-calendar-day[aria-current=date] strong{text-decoration:underline;text-underline-offset:4px}.pe-calendar .pe-calendar-dot{position:absolute;width:3px;height:3px;background:var(--pec-accent);border-radius:50%;bottom:3px}.pe-calendar button:focus-visible,.pe-calendar input:focus-visible{outline:3px solid var(--pec-accent);outline-offset:3px}.pe-calendar .pe-calendar-hint,.pe-calendar .pe-calendar-zone{margin:14px 0 0;font-size:.7rem;line-height:1.5;opacity:.75}.pe-calendar .pe-calendar-day-title{font-size:.82rem;line-height:1.5;margin:21px 0 11px;padding-top:18px;border-top:1px solid var(--pec-line);font-weight:650}.pe-calendar .pe-calendar-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pe-calendar .pe-calendar-slots>label.pe-session-option{display:flex;align-items:flex-start;gap:9px;min-width:0;margin:0;padding:12px;border:1px solid var(--pec-line);border-radius:8px;background:var(--pec-bg);color:inherit;cursor:pointer;font-size:.8rem;font-weight:400;line-height:1.45}.pe-calendar .pe-session-option>input{width:16px;height:16px;min-width:16px;flex:0 0 16px;margin:3px 0 0;padding:0;accent-color:var(--pec-accent)}.pe-calendar .pe-session-option>span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.pe-calendar .pe-session-option strong{font-size:.8rem;font-weight:650;line-height:1.5}.pe-calendar .pe-session-title{font-size:.77rem}.pe-calendar .pe-session-location,.pe-calendar .pe-session-places{font-size:.68rem;line-height:1.45;opacity:.8}.pe-calendar .pe-session-places{font-weight:600}.pe-calendar .pe-session-full{font-weight:400}.pe-calendar .pe-session-option:has(input:checked){border-color:var(--pec-accent);box-shadow:inset 0 0 0 1px var(--pec-accent);background:color-mix(in srgb,var(--pec-accent) 6%,var(--pec-bg))}.pe-calendar .pe-session-option:has(input:disabled){opacity:.65;cursor:default}.pe-calendar .pe-calendar-empty{font-size:.8rem;line-height:1.6;margin:0}.pe-calendar[aria-busy=true]{opacity:.7}
@media(max-width:600px){.pe-calendar{padding:12px}.pe-calendar .pe-calendar-grid{gap:3px}.pe-calendar .pe-calendar-day{min-height:48px;padding:7px 1px;gap:4px}.pe-calendar .pe-calendar-day small{font-size:.48rem}.pe-calendar .pe-calendar-slots{grid-template-columns:1fr}.pe-calendar .pe-calendar-month{font-size:.92rem}}
@media(max-width:380px){.pe-calendar{padding:10px}.pe-calendar .pe-calendar-day{min-height:42px}.pe-calendar .pe-calendar-day small{display:none}.pe-calendar .pe-calendar-day strong{font-size:.84rem}.pe-calendar .pe-calendar-day[data-available=true] .pe-calendar-dot{width:4px;height:4px;bottom:5px}}
@container event-calendar (max-width:390px){.pe-calendar .pe-calendar-slots{grid-template-columns:1fr}.pe-calendar .pe-calendar-grid{gap:3px}.pe-calendar .pe-calendar-day{min-height:49px;padding:6px 1px}.pe-calendar .pe-calendar-day small{font-size:.48rem}.pe-calendar .pe-calendar-month{font-size:.92rem}}
@container event-calendar (max-width:290px){.pe-calendar .pe-calendar-day small{display:none}.pe-calendar .pe-calendar-day{min-height:41px}.pe-calendar .pe-calendar-day strong{font-size:.8rem}}
