/* CE Utilities Meeting Calendar Widget — Base Styles */
/* Always-on rules for .capigacr-meeting-calendar, independent of Elementor
   Style-tab controls. Elementor's per-instance {{WRAPPER}} CSS overrides these. */
.fc.capigacr-meeting-calendar .fc-day-other .fc-daygrid-day-top {
   opacity: 1;
}

.fc.capigacr-meeting-calendar .fc-scrollgrid,
.fc.capigacr-meeting-calendar .fc-col-header-cell,
.fc.capigacr-meeting-calendar .fc-scrollgrid-section-header th,
.fc.capigacr-meeting-calendar .fc-scrollgrid .fc-scrollgrid-section-body > td {
    border: none;
}

.fc.capigacr-meeting-calendar .fc-daygrid-day-top {
   flex-direction: row;
}

.fc.capigacr-meeting-calendar .fc-col-header-cell  .fc-scrollgrid-sync-inner {
    width: 100%;
    display: flex;
}

.fc.capigacr-meeting-calendar .fc-col-header-cell .fc-col-header-cell-cushion {
    padding: 0;
}

.fc.capigacr-meeting-calendar .fc-scrollgrid-sync-table {
    margin: 0;
}

.fc.capigacr-meeting-calendar .fc-event-main-frame {
    align-items: center;
}

.fc.capigacr-meeting-calendar .capigacr-calendar-event-icon {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
}

/* Two external sources (an Elementor add-on stylesheet and an
   Elementor-generated inline style block) impose a fixed bottom gap under
   each day cell's event list, fighting the widget's own responsive day-cell
   padding control. Adding one extra qualifying ancestor here raises this
   rule's specificity a notch above both, so it wins deterministically
   regardless of stylesheet load order, and hands that spacing back to the
   admin-facing control. */
.fc.capigacr-meeting-calendar .fc-daygrid-body-natural .fc-daygrid-day-events {
    margin-bottom: 0;
}

.capigacr-meeting-calendar-legend {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px 16px;
}

.capigacr-meeting-calendar-legend li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.capigacr-meeting-calendar-legend-icon {
    display: inline-flex;
    align-items: center;
}

.capigacr-meeting-calendar-legend-icon svg,
.capigacr-meeting-calendar-legend-icon svg path {
    fill: currentColor;
}

.capigacr-popup-row-label,
.capigacr-popup-row-value {
    display: inline-block;
}

.capigacr-popup-row-label {
    margin-right: 0.35em;
}

.capigacr-popup-row-value--wrap { display: block; }
