/* FullCalendar 6.1.x overrides — make FC feel native to gzl-ui.
 *
 * Strategy: reset borders, soften gridlines, restyle headers as small caps,
 * convert events to gzl-ui pill chips. Today gets a primary-soft tint + a
 * 2px brand left-border on the day number.
 *
 * Inheritance: all colors via var(--gzl-*) tokens, dark mode automatic.
 */

.fc {
  --fc-border-color: var(--gzl-border-2);
  --fc-page-bg-color: transparent;
  --fc-neutral-bg-color: var(--gzl-surface-3);
  --fc-list-event-hover-bg-color: var(--gzl-surface-3);
  --fc-today-bg-color: color-mix(in oklab, var(--gzl-primary) 6%, transparent);
  --fc-now-indicator-color: var(--gzl-primary);
  --fc-event-text-color: #fff;
  font-family: var(--gzl-font);
  color: var(--gzl-ink-3);
}

.fc .fc-scrollgrid,
.fc .fc-scrollgrid-section > * {
  border-color: var(--fc-border-color);
}
.fc table { border-color: var(--fc-border-color); }

/* Hide FC's default toolbar — we provide our own */
.fc .fc-header-toolbar { display: none; }

/* Day-of-week header */
.fc .fc-col-header-cell {
  background: transparent;
  border-bottom: 1px solid var(--gzl-border);
  padding: 8px 4px;
}
.fc .fc-col-header-cell-cushion {
  color: var(--gzl-muted);
  font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em;
  padding: 4px 6px;
  text-decoration: none;
}

/* Day cells */
.fc .fc-daygrid-day-frame { padding: 2px; min-height: 100%; }
.fc .fc-daygrid-day {
  transition: background-color var(--gzl-dur) var(--gzl-ease);
}
.fc .fc-daygrid-day:hover { background: color-mix(in oklab, var(--gzl-ink) 2%, transparent); }
.fc .fc-day-other .fc-daygrid-day-number { color: color-mix(in oklab, var(--gzl-muted) 70%, transparent); }
.fc .fc-day-other { background: color-mix(in oklab, var(--gzl-surface-3) 50%, transparent); }

.fc .fc-daygrid-day-top {
  flex-direction: row;
  justify-content: flex-start;
  padding: 4px 6px 2px;
}
.fc .fc-daygrid-day-number {
  font-family: var(--gzl-font-display);
  font-size: 13px; font-weight: 500;
  color: var(--gzl-ink);
  padding: 2px 6px;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  border-radius: 4px;
}

/* Today affordances: tint + brand left-border on number */
.fc .fc-day-today { background: var(--fc-today-bg-color); }
.fc .fc-day-today .fc-daygrid-day-number {
  color: var(--gzl-primary);
  font-weight: 600;
  border-left: 2px solid var(--gzl-primary);
  padding-left: 6px;
  margin-left: 2px;
}

/* Selected (clicked) day */
.fc .fc-day.koledar-day-selected {
  box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--gzl-primary) 40%, transparent);
}

/* Events — pill chips */
.fc .fc-daygrid-event {
  margin: 1px 4px;
  border-radius: 6px;
  border: 0;
  padding: 0;
  background: transparent;
  transition: transform var(--gzl-dur) var(--gzl-ease), box-shadow var(--gzl-dur) var(--gzl-ease);
}
.fc .fc-daygrid-event:hover {
  transform: translateY(-0.5px);
  box-shadow: var(--gzl-elev-1);
}
.fc .fc-event-main {
  height: 22px;
  border-radius: 6px;
  padding: 0 8px;
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 500;
  line-height: 1;
  overflow: hidden;
}
.fc .fc-event-title {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-weight: 500;
}
.fc .fc-event-time {
  font-variant-numeric: tabular-nums;
  font-size: 11px; font-weight: 600;
  opacity: .9;
  flex-shrink: 0;
}
.fc .fc-daygrid-dot-event { padding: 2px 4px; }
.fc .fc-daygrid-dot-event .fc-daygrid-event-dot { display: none; }

/* "+N več" link */
.fc .fc-daygrid-more-link {
  font-size: 11px; font-weight: 500;
  color: var(--gzl-primary);
  padding: 2px 6px;
  border-radius: 4px;
  text-decoration: none;
  margin-left: 4px;
}
.fc .fc-daygrid-more-link:hover {
  background: var(--gzl-primary-soft);
}

/* List / Agenda view */
.fc .fc-list {
  border: 0;
  background: transparent;
}
.fc .fc-list-day-cushion {
  background: var(--gzl-surface-3);
  padding: 8px 14px;
  font-family: var(--gzl-font-display);
  font-size: 12px; font-weight: 600;
  color: var(--gzl-ink);
  text-transform: uppercase; letter-spacing: .06em;
}
.fc .fc-list-event:hover td { background: var(--gzl-surface-3); }
.fc .fc-list-event-time,
.fc .fc-list-event-title { padding: 10px 14px; font-size: 13px; }
.fc .fc-list-event-graphic { padding-left: 14px; }
.fc .fc-list-event-dot {
  border-color: var(--ev-color, var(--gzl-primary));
  background: var(--ev-color, var(--gzl-primary));
  width: 10px; height: 10px;
}
.fc .fc-list-empty {
  background: transparent;
  color: var(--gzl-muted);
  font-size: 14px;
}

/* Multi-calendar link icon hint */
.fc .koledar-ev-linked {
  display: inline-block;
  width: 10px; height: 10px;
  flex-shrink: 0;
  opacity: .85;
}

/* Selection while dragging to create */
.fc .fc-highlight {
  background: color-mix(in oklab, var(--gzl-primary) 14%, transparent);
}

/* Popover for "+N več" */
.fc .fc-popover {
  background: var(--gzl-surface-2);
  border: 1px solid var(--gzl-border);
  border-radius: var(--gzl-r);
  box-shadow: var(--gzl-elev-1);
}
.fc .fc-popover-header {
  background: var(--gzl-surface-3);
  color: var(--gzl-ink);
  padding: 8px 12px;
  border-bottom: 1px solid var(--gzl-border-2);
}
.fc .fc-popover-body { padding: 6px; }

/* Focus rings inside FC */
.fc a:focus-visible, .fc button:focus-visible, .fc .fc-event:focus-visible {
  outline: 2px solid var(--gzl-primary);
  outline-offset: 2px;
}

/* Dark mode subtle tweaks */
[data-bs-theme="dark"] .fc { --fc-event-text-color: #fff; }
[data-bs-theme="dark"] .fc .fc-day-other { background: color-mix(in oklab, var(--gzl-surface) 60%, transparent); }
