/* Calendar: calm typography + remove link-blue vibe in month grid */
.fc .fc-col-header-cell-cushion {
  color: #6c757d !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.fc .fc-daygrid-day-number {
  color: #6c757d !important;
  text-decoration: none !important;
}

/* Force month grid event text to normal black (beats Bootstrap link styles) */
/* Month grid timed/list-item events ONLY (exclude all-day bars) */
.fc .fc-daygrid-event:not(.fc-daygrid-block-event),
.fc .fc-daygrid-event:not(.fc-daygrid-block-event) a,
.fc .fc-daygrid-event:not(.fc-daygrid-block-event) .fc-event-title,
.fc .fc-daygrid-event:not(.fc-daygrid-block-event) .fc-event-time {
  color: #212529 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}
/* ---- Month view: all-day + multi-day bars should be readable ---- */

/* Soften the background of all-day/multi-day "block" events */
.fc .fc-daygrid-block-event,
.fc .fc-daygrid-block-event .fc-event-main,
.fc .fc-h-event {
  /* background: #f1f3f5 !important;    light gray */
  border-color: #dee2e6 !important; /* subtle border */
}

/* Ensure the title is readable */
.fc .fc-daygrid-block-event .fc-event-title,
.fc .fc-h-event .fc-event-title {
  color: #212529 !important;
  font-weight: 400 !important;
}

/* Optional: keep the little dot consistent if it appears */
.fc .fc-daygrid-block-event .fc-daygrid-event-dot {
  border-color: inherit !important;
}
/* Month grid all-day/multi-day bars: always white text */
.fc .fc-daygrid-block-event,
.fc .fc-daygrid-block-event a,
.fc .fc-daygrid-block-event .fc-event-title,
.fc .fc-daygrid-block-event .fc-event-time,
.fc .fc-daygrid-block-event .fc-event-main {
  color: #fff !important;
  text-decoration: none !important;
}
/* Modal container */
.calendar-modal {
  border-radius: 14px;
  overflow: hidden;
  border: none;
  box-shadow: 0 20px 50px rgba(0,0,0,0.15);
}

/* Top color accent bar */
.calendar-modal-accent {
  height: 6px;
  width: 100%;
  background: #20B2AA; /* default (All) */
}

/* Title */
.calendar-modal h4 {
  font-size: 1.2rem;
}

/* Date styling */
.calendar-modal-date {
  color: #6c757d;
}

/* Location + calendar line */
.calendar-modal-meta {
  font-size: 0.95rem;
  color: #495057;
}

/* Buttons */
.calendar-btn {
  border-radius: 8px;
  padding: 4px 12px;
  font-weight: 500;
  transition: all .2s ease;
}

.calendar-btn:hover {
  background: #f1f3f5;
  transform: translateY(-1px);
}

/* List View Day Header — match month styling */
.fc .fc-list-day-cushion {
  color: #495057 !important;      /* same neutral gray as your calendar */
  font-weight: 500;
  text-decoration: none !important;
}

/* Remove blue hover behavior */
.fc .fc-list-day-cushion:hover {
  color: #212529 !important;
  text-decoration: none !important;
}

/* Optional: make header background slightly softer */
.fc .fc-list-day {
  background: #f8f9fa;
}
/* LIST VIEW: day headers (the blue links) */
.fc .fc-list-day-cushion,
.fc .fc-list-day-cushion a {
  color: #495057 !important;        /* gray */
  font-weight: 500 !important;
  text-decoration: none !important;
}

/* Hover/focus (keep it calm, not blue) */
.fc .fc-list-day-cushion a:hover,
.fc .fc-list-day-cushion a:focus {
  color: #212529 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Optional: soften the header row background */
.fc .fc-list-day {
  background: #f8f9fa !important;
}



/* ----------------------------
   Calendar Modal polish
----------------------------- */

.calendar-modal {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
}

.calendar-modal-accent {
  height: 8px;                 /* thinner = cleaner */
  border-radius: 0;
}

/* Give the modal more breathing room */
#calEventModal .modal-dialog {
  max-width: 720px;
  padding: 10px;
}

#calEventModal .modal-content {
  border: 0;
}

/* Header */
#calEventModal .modal-header {
  padding: 18px 22px 10px 22px;
}

#calEventTitle {
  font-size: 1.55rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

#calEventWhen {
  opacity: .85;
}

/* Body */
#calEventModal .modal-body {
  padding: 10px 22px 18px 22px;
}

/* Meta line (location + calendar) */
.calendar-modal-meta {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(0,0,0,.04);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.calendar-modal-meta .meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(0,0,0,.06);
  font-size: .92rem;
  line-height: 1;
}

.calendar-modal-meta .meta-pill i {
  opacity: .75;
}

/* Sections */
.calendar-section {
  margin-top: 14px;
}

.calendar-section h4 {
  font-size: .95rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin: 0 0 6px 0;
  opacity: .75;
}

#calEventDesc {
  padding: 12px 12px;
  border-radius: 12px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
}

/* Meet link looks like a button/link row */
#calEventMeetWrap a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  text-decoration: none;
  background: rgba(13,110,253,.08);
  border: 1px solid rgba(13,110,253,.18);
}

#calEventMeetWrap a:hover {
  background: rgba(13,110,253,.12);
}

#calEventMeetWrap a i {
  opacity: .85;
}

/* Buttons */
.calendar-btn {
  border-radius: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}

.calendar-btn:hover {
  background: rgba(0,0,0,.03);
}

/* Make Close (X) less aggressive */
#calEventModal .btn-close {
  transform: scale(0.95);
  opacity: .6;
}
#calEventModal .btn-close:hover {
  opacity: .9;
}

/* Mobile tweaks */
@media (max-width: 576px) {
  #calEventTitle { font-size: 1.35rem; }
  #calEventModal .modal-header { padding: 16px 16px 8px 16px; }
  #calEventModal .modal-body { padding: 8px 16px 16px 16px; }
}