.pppc-wrap{position:relative;margin:24px 0;font-family:inherit}
.pppc-title{margin:0 0 22px}
.pppc-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.pppc-toolbar label{font-weight:600}
.pppc-filter{min-width:220px;padding:10px 14px;border:1px solid #d5d9df;border-radius:8px;background:#fff;font:inherit}
.pppc-calendar{background:#fff;border:1px solid #e1e4e8;border-radius:14px;padding:16px;box-shadow:0 8px 28px rgba(0,0,0,.05)}
.pppc-loading{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:20;pointer-events:none;background:rgba(255,255,255,.72);border-radius:14px;font-weight:600}
.pppc-loading.is-active{display:flex}
.pppc-wrap .fc .fc-toolbar-title{font-size:1.2rem;font-weight:700}
.pppc-wrap .fc .fc-button{border-radius:8px!important;box-shadow:none!important}
.pppc-wrap .fc-daygrid-event,.pppc-wrap .fc-daygrid-event-harness{max-width:100%;overflow:hidden}
.pppc-wrap .fc-daygrid-event{cursor:pointer}
.pppc-wrap .fc-daygrid-event .fc-event-main,.pppc-wrap .fc-daygrid-event .fc-event-title,.pppc-wrap .fc-daygrid-event .fc-event-time{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pppc-wrap .fc-daygrid-day-frame{overflow:hidden}
.pppc-modal{display:none}
.pppc-modal.is-open{display:block}
.pppc-modal-backdrop{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.62)}
.pppc-modal-dialog{position:fixed;z-index:99999;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 30px));max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:16px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.pppc-modal-close{position:absolute;top:10px;right:14px;border:0;background:none;cursor:pointer;font-size:30px;line-height:1}
.pppc-modal-title{margin:0 40px 14px 0}
.pppc-meta{margin-bottom:8px;font-size:14px}
.pppc-modal-image{display:block;width:100%;height:auto;margin:18px 0;border-radius:12px}
.pppc-excerpt{margin-top:16px;line-height:1.6}
.pppc-readmore{display:inline-block;margin-top:8px;font-weight:600;text-decoration:none}
.pppc-future-label{display:inline-block;margin-top:14px;padding:6px 10px;border-radius:999px;background:#f0f1f3;font-size:13px;font-weight:600}
body.pppc-modal-open{overflow:hidden}
@media(max-width:700px){.pppc-calendar{padding:10px}.pppc-wrap .fc .fc-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.pppc-wrap .fc .fc-toolbar-title{font-size:1rem}.pppc-modal-dialog{padding:22px}}


/* Force a clean white calendar background, independent of the active theme. */
.pppc-wrap,
.pppc-calendar,
.pppc-wrap .fc,
.pppc-wrap .fc-scrollgrid,
.pppc-wrap .fc-scrollgrid-section,
.pppc-wrap .fc-daygrid-body,
.pppc-wrap .fc-daygrid-day,
.pppc-wrap .fc-timegrid-body,
.pppc-wrap .fc-timegrid-slot,
.pppc-wrap .fc-col-header-cell {
	background: #fff !important;
}

.pppc-wrap .fc-day-other {
	background: #fff !important;
}

.pppc-wrap .fc-day-today {
	background: #fff !important;
}


/* Rendered WordPress/WPBakery content inside the event modal */
.pppc-rendered-content {
	margin-top: 18px;
	line-height: 1.6;
}

.pppc-rendered-content .vc_row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.pppc-rendered-content .vc_column_container > .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

.pppc-rendered-content img {
	max-width: 100%;
	height: auto;
}

.pppc-rendered-content > :first-child {
	margin-top: 0;
}

.pppc-rendered-content > :last-child {
	margin-bottom: 0;
}
