/*
 * Edgewood calendar — custom styling on top of FullCalendar.js v6.
 * Uses the gcid-* CSS custom-property palette so the calendar stays
 * visually consistent with the rest of the site.
 */

.edgewood-calendar-host {
    --ed-cal-primary: var(--gcid-primary-color, #304C6F);
    --ed-cal-secondary: var(--gcid-brandsec01, #4C6444);
    --ed-cal-text: var(--gcid-neuttext01, #444);
    --ed-cal-border: var(--gcid-neutbord01, #E0D9CE);
    --ed-cal-bg: #fff;
    --ed-cal-bg-soft: var(--gcid-neutback01, #F5F0E8);

    font-family: Jost, sans-serif;
    color: var(--ed-cal-text);
}

/* ------- Filter row ------- */
.edgewood-calendar-host .ed-cal-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: end;
    margin-bottom: 16px;
    padding: 12px 14px;
    background: var(--ed-cal-bg-soft);
    border: 1px solid var(--ed-cal-border);
    border-radius: 8px;
}
.edgewood-calendar-host .ed-cal-filter {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 220px;
    flex: 1;
}
.edgewood-calendar-host .ed-cal-filter-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ed-cal-primary);
}
.edgewood-calendar-host .ed-cal-filter select {
    padding: 8px 12px;
    font-size: 14px;
    border: 1px solid var(--ed-cal-border);
    border-radius: 6px;
    background: var(--ed-cal-bg);
    color: var(--ed-cal-text);
    width: 100%;
}

/* ------- FullCalendar header toolbar ------- */
.edgewood-calendar-host .fc-toolbar.fc-header-toolbar {
    margin-bottom: 1em;
    flex-wrap: wrap;
    gap: 8px;
}
.edgewood-calendar-host .fc-toolbar-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 24px;
    font-weight: 600;
    color: var(--ed-cal-text);
}
.edgewood-calendar-host .fc-button-primary {
    background-color: var(--ed-cal-primary);
    border-color: var(--ed-cal-primary);
    color: #fff;
    font-weight: 500;
    padding: 6px 12px;
    text-transform: capitalize;
    border-radius: 6px;
}
.edgewood-calendar-host .fc-button-primary:hover,
.edgewood-calendar-host .fc-button-primary:not(:disabled):active,
.edgewood-calendar-host .fc-button-primary:not(:disabled).fc-button-active {
    background-color: var(--gcid-brandpri02, #1F3552);
    border-color: var(--gcid-brandpri02, #1F3552);
}
.edgewood-calendar-host .fc-button-primary:disabled {
    background-color: color-mix(in srgb, var(--ed-cal-primary) 60%, transparent);
    border-color: transparent;
}

/* ------- Day cells ------- */
.edgewood-calendar-host .fc-theme-standard td,
.edgewood-calendar-host .fc-theme-standard th,
.edgewood-calendar-host .fc-theme-standard .fc-scrollgrid {
    border-color: var(--ed-cal-border);
}
.edgewood-calendar-host .fc-day-today {
    background-color: color-mix(in srgb, var(--ed-cal-primary) 6%, transparent) !important;
}
.edgewood-calendar-host .fc-col-header-cell {
    background: var(--ed-cal-bg-soft);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.06em;
    color: var(--ed-cal-text);
}

/* ------- Events ------- */
.edgewood-calendar-host .fc-event {
    border-radius: 4px;
    padding: 1px 4px;
    font-size: 12px;
    border: none;
    cursor: pointer;
}
/* Events (kind=event) — primary navy */
.edgewood-calendar-host .fc-event.ed-cal--event {
    background-color: var(--ed-cal-primary);
}
/* Meetings (kind=meeting) — secondary green so they're visually distinct */
.edgewood-calendar-host .fc-event.ed-cal--meeting {
    background-color: var(--ed-cal-secondary);
}

/* ------- List view ------- */
.edgewood-calendar-host .fc-list-event-title a {
    color: var(--ed-cal-text);
    font-weight: 500;
}
.edgewood-calendar-host .fc-list-event-title a:hover {
    color: var(--ed-cal-primary);
}
.edgewood-calendar-host .fc-list-day-cushion {
    background: var(--ed-cal-bg-soft);
}
.edgewood-calendar-host .fc-list-event:hover td {
    background-color: color-mix(in srgb, var(--ed-cal-primary) 8%, transparent);
}

/* ------- Mobile ------- */
@media (max-width: 720px) {
    .edgewood-calendar-host .fc-toolbar.fc-header-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    .edgewood-calendar-host .ed-cal-filter { min-width: 0; }
}
