/**
 * concert-calendar.css  v2.0.0
 *
 * CPT COLOUR CODING
 * -----------------
 * Each CPT gets its own colour via its slug class. Add overrides in
 * Divi → Theme Options → Custom CSS. Examples:
 *
 * Month view event background:
 *   .cc-event-concert  { background-color: #1a6eb5 !important; border-color: #1a6eb5 !important; }
 *   .cc-event-workshop { background-color: #2e7d32 !important; border-color: #2e7d32 !important; }
 *
 * Month view CPT label text colour (inherits event bg by default):
 *   .cc-cpt-label.cc-cpt-concert  { color: rgba(255,255,255,0.75); }
 *   .cc-cpt-label.cc-cpt-workshop { color: rgba(255,255,255,0.75); }
 *
 * List view dot colour:
 *   .fc-list-event-dot.cc-dot-concert  { border-color: #1a6eb5 !important; }
 *   .fc-list-event-dot.cc-dot-workshop { border-color: #2e7d32 !important; }
 *
 * List view CPT tag colour:
 *   .cc-list-cpt.cc-cpt-concert  { color: #1a6eb5; }
 *   .cc-list-cpt.cc-cpt-workshop { color: #2e7d32; }
 */

/* -----------------------------------------------------------------------
   Wrapper
------------------------------------------------------------------------ */
.cc-fullcalendar-wrap {
    font-family: inherit;
    max-width: 100%;
    margin: 0 auto;
}

/* -----------------------------------------------------------------------
   Toolbar
------------------------------------------------------------------------ */
.cc-fullcalendar-wrap .fc-toolbar-title {
    font-size: 1.3em;
    font-weight: 700;
}
.cc-fullcalendar-wrap .fc-button {
    background-color: transparent;
    border: 1px solid currentColor;
    color: inherit;
    font-size: 0.85em;
    text-transform: capitalize;
    opacity: 0.8;
}
.cc-fullcalendar-wrap .fc-button:hover,
.cc-fullcalendar-wrap .fc-button-active {
    background-color: rgba(0,0,0,0.08) !important;
    border-color: currentColor !important;
    color: inherit !important;
    opacity: 1;
}
.cc-fullcalendar-wrap .fc-button:focus {
    box-shadow: none !important;
}

/* -----------------------------------------------------------------------
   Day headers + cells
------------------------------------------------------------------------ */
.cc-fullcalendar-wrap .fc-col-header-cell {
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.4em 0;
}
.cc-fullcalendar-wrap .fc-daygrid-day {
    min-height: 80px;
    vertical-align: top;
}
.cc-fullcalendar-wrap .fc-day-today {
    background: rgba(0,0,0,0.04) !important;
}
.cc-fullcalendar-wrap .fc-day-today .fc-daygrid-day-number {
    background: currentColor;
    color: #fff;
    border-radius: 50%;
    width: 1.8em;
    height: 1.8em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* -----------------------------------------------------------------------
   Day number — month prefix (e.g. "Nov 1", "Sep 27")
------------------------------------------------------------------------ */
.cc-fullcalendar-wrap .fc-daygrid-day-number {
    display: flex;
    align-items: baseline;
    gap: 0;
}
.cc-fullcalendar-wrap .cc-day-month {
    font-size: 0.85em;
    font-weight: 400;
    opacity: 0.6;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* -----------------------------------------------------------------------
   Month view — event block
------------------------------------------------------------------------ */
.cc-fullcalendar-wrap .fc-daygrid-event {
    font-size: 0.78em;
    padding: 0.3em 0.4em;
    border-radius: 3px;
    cursor: pointer;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    height: auto !important;
}
.cc-fullcalendar-wrap .fc-event-main {
    white-space: normal !important;
    overflow: visible !important;
    display: flex;
    flex-direction: column;
}

/* CPT label — top of event block, small caps style */
.cc-fullcalendar-wrap .cc-cpt-label {
    display: block;
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1.4;
    margin-bottom: 0.1em;
}
/* In month/day view the label sits inside a coloured event block — force white.
   Higher specificity than the colour engine's .cc-cpt-label.cc-cpt-{slug} rule. */
.cc-fullcalendar-wrap .fc-daygrid-event .cc-cpt-label,
.cc-fullcalendar-wrap .fc-daygrid-event .cc-cpt-label[class*="cc-cpt-"] {
    color: rgba(255,255,255,0.9) !important;
}

/* Title */
.cc-fullcalendar-wrap .fc-event-title {
    font-weight: 700;
    display: block;
    white-space: normal !important;
    line-height: 1.3;
}

/* Subtitle */
.cc-fullcalendar-wrap .cc-event-subtitle {
    display: block;
    font-weight: normal;
    font-style: italic;
    font-size: 0.95em;
    line-height: 1.3;
    margin-top: 0.1em;
    white-space: normal;
}

/* Time */
.cc-fullcalendar-wrap .cc-event-time {
    display: block;
    font-size: 0.85em;
    font-style: normal;
    font-weight: normal;
    opacity: 0.75;
    line-height: 1.3;
    margin-top: 0.15em;
}

/* -----------------------------------------------------------------------
   Show-all button
------------------------------------------------------------------------ */
.cc-show-all {
    display: block;
    font-size: 0.72em;
    font-weight: 600;
    margin-top: 0.3em;
    padding: 0.15em 0.4em;
    cursor: pointer;
    text-decoration: underline;
    opacity: 0.8;
    color: inherit;
    background: none;
    border: none;
}
.cc-show-all:hover { opacity: 1; }

/* -----------------------------------------------------------------------
   List view
------------------------------------------------------------------------ */
.cc-fullcalendar-wrap .fc-list-event:hover td {
    background: rgba(0,0,0,0.04);
    cursor: pointer;
}
.cc-fullcalendar-wrap .fc-list-event-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1em;
}
.cc-fullcalendar-wrap .fc-list-event-title a {
    color: inherit;
    text-decoration: none;
    flex: 1;
}
.cc-fullcalendar-wrap .cc-list-subtitle {
    font-style: italic;
    font-weight: normal;
}

/* CPT label on right of list row */
.cc-fullcalendar-wrap .cc-list-cpt {
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
    flex-shrink: 0;
}

/* -----------------------------------------------------------------------
   Skip to first event button — sits in toolbar next to Today
   Uses FC's own button classes so it matches natively.
   Extra margin separates it slightly from the Today button.
------------------------------------------------------------------------ */
.cc-fullcalendar-wrap .aot-skip-to-first {
    margin-left: 0.4em;
}

/* -----------------------------------------------------------------------
   Mobile
------------------------------------------------------------------------ */
@media (max-width: 600px) {
    .cc-fullcalendar-wrap .fc-toolbar {
        flex-wrap: wrap;
        gap: 0.5em;
    }
    .cc-fullcalendar-wrap .fc-toolbar-title { font-size: 1em; }
    .cc-fullcalendar-wrap .fc-daygrid-day   { min-height: 55px; }
    .cc-fullcalendar-wrap .fc-daygrid-event { font-size: 0.65em; }
    .cc-fullcalendar-wrap .cc-list-cpt      { display: none; }
}
